在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

FSP在e2 studio下生成的啟動文件的代碼說明

瑞薩MCU小百科 ? 來源:瑞薩嵌入式小百科 ? 作者:Prowess ? 2023-10-07 12:18 ? 次閱讀

FSP介紹

瑞薩靈活軟件包(FSP)是一個靈活配置的軟件包,旨在提供易于使用、可擴展、高質量的嵌入式系統設計軟件。它適用于RA系列的MCU,提供了統一直觀的API,并有詳細的解釋和例程應用,可以按照客戶不同的需求自動生成相應驅動程序。

啟動文件說明

啟動文件是程序上電復位后執行的第一個程序。它一般包括如下幾個:

1.初始化堆棧

2.使能FPU

3.定位中斷向量表

4.配置系統時鐘

5.啟用CORTEX-M33棧監視器

6.初始化C語言運行環境

7.初始化變量SystemCoreClock,這個變量存放的是處理器時鐘的頻率

8.初始化用于觸發NVIC中斷的ELC(事件鏈接控制)

9.BSP初始化

初始化堆棧

3.1 棧區(Stack)

一種順序數據結構,滿足后進先出原則。由編譯器自動分配釋放,存放函數的參數值,局部變量的值等。棧特別方便用來保存/恢復調用現場。在函數被調用時,其參數也會被壓入發起調用的進程棧中,并待到調用結束后,函數的返回值也會被存放回棧中。如果函數調用時,如果函數參數和局部變量較多,寄存器放不下,則需要適當增加棧區的大小。

3.2 堆區(heap)

通常由程序員手動分配,使用malloc和free進行分配和釋放。注意,使用完需及時釋放(free),否則容易造成內存泄漏。

3.3 e2 Studio中堆棧的設置

宏“BSP_CFG_STACK_MAIN_BYTES”可以在FSP Configuration的“BSP”屬性欄中的“RA Common”中通過修改“Main stack size”設置,默認為1KB(0x400 Byte)。

宏“BSP_CFG_HEAP_BYTES”可以在FSP Configuration的“BSP”屬性欄中的“RA Common”中通過修改“Heap size”設置,默認為1KB(0x400 Byte)。如圖3-3-1所示。

9abafd96-64c6-11ee-939d-92fbcf53809c.png

圖3-3-1 堆棧區的大小設置

g_main_stack和g_heap分別代表主棧和堆區的數組,后面還有屬性修飾。

“BSP_PLACE_IN_SECTION(BSP_SECTION_STACK)”,宏展開后為“__attribute__((section( “.stack”))) __attribute__((__used__))”

“BSP_PLACE_IN_SECTION(BSP_SECTION_HEAP)”,宏展開后為“__attribute__((section( “.heap”))) __attribute__((__used__))”

其修飾屬性解釋如下:

__attribute__((section( “參數名”))):可以將變量定義到指定的輸入段“參數名”中。

__attribute__((__used__)):參數“__used__”告訴編譯器,這個變量會被使用,即使在編譯器優化時沒有被顯式地調用。這個屬性可以防止編譯器將未使用的函數或變量優化掉,確保它們在程序中存在。

9ad478e8-64c6-11ee-939d-92fbcf53809c.png

圖3-3-2 堆棧區數組屬性修飾

代碼中的“BSP_ALIGN_VARIABLE(BSP_STACK_ALIGNMENT)” ,宏展開后為“__attribute__((aligned(8)))”,代表堆棧區在分配時,會按照8字節對齊方式進行。

__attribute__((weak)):用戶可以在用戶文件中重新定義一個同名函數,最終編譯器編譯的時候,會選擇用戶定義的函數,如果用戶沒有重新定義這個函數,那么編譯器就會執行_weak 聲明的函數,并且編譯器不會報錯。所以我們可以在別的地方定義一個相同名字的函數。該函數不能在同一個.C文件中。

9ae5268e-64c6-11ee-939d-92fbcf53809c.png

圖3-3-2 函數屬性宏定義

中斷向量表

定義一個中斷向量指針數組__Vectors[16],將此表放入到“.fixed_vectors”的輸入段中。

9afa0fea-64c6-11ee-939d-92fbcf53809c.png

圖4-1 中斷向量表定義

入口程序

系統上電或復位后直接執行入口函數Reset_Handler(),包括兩個函數:SystemInit()和main()。SystemInit()主要是用BSP對系統進行初始化,隨后通過main函數進入用戶代碼。

BSP負責使MCU從復位狀態進入到用戶的應用程序。在到達用戶的應用程序之前,BSP設置堆棧、時鐘、中斷、C語言運行環境和堆棧監視器。

9b104c6a-64c6-11ee-939d-92fbcf53809c.png

圖5-1 入口函數調用

系統初始化

9b1bba00-64c6-11ee-939d-92fbcf53809c.png9b2ddbf4-64c6-11ee-939d-92fbcf53809c.png9b479bc0-64c6-11ee-939d-92fbcf53809c.png9b689a00-64c6-11ee-939d-92fbcf53809c.png9b921362-64c6-11ee-939d-92fbcf53809c.png9ba1ddc4-64c6-11ee-939d-92fbcf53809c.png

圖6-1 系統函數初始化

No.1

七、內存函數分配

通過e2 studio打開Memory Usage,可以看到各段的定義名稱,起止地址,占用容量大小、對齊方式等。也可以通過打開工程文件夾下e2studioDebug*.map文件。

這里對常用的段名做個說明:

.bss:通常是指用來存放程序中未初始化的或者初始值為0的全局變量的一塊內存區域。BSS是英文Block Started by Symbol的簡稱。BSS段屬于靜態內存分配。

.data:數據段(data segment) 通常是指用來存放程序中已初始化的全局變量的一塊內存區域。數據段屬于靜態 內存分配。

碼段:代碼段 (code segment/text segment) 通常是指用來存放程序執行代碼的一塊內存區域。這部分區域的大小在程序運行前就已經確定,并且內存區域通常屬于只讀,某些架構也允許代碼段為可寫,即允許修改程序。在代碼段中,也有可能包含一些只讀的常數變量,例如字符串常量等。

9bb26176-64c6-11ee-939d-92fbcf53809c.png

圖7-1 內存函數分配

結論

通過本篇文章的介紹,相信大家對RA MCU的啟動過程以及e2 studio的操作有了一定的了解,有興趣的同學也可以深入學習下。






審核編輯:劉清

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • mcu
    mcu
    +關注

    關注

    146

    文章

    17269

    瀏覽量

    352059
  • C語言
    +關注

    關注

    180

    文章

    7614

    瀏覽量

    137317
  • 中斷向量
    +關注

    關注

    0

    文章

    14

    瀏覽量

    8956
  • FSP
    FSP
    +關注

    關注

    0

    文章

    34

    瀏覽量

    7152
  • Cortex-M33
    +關注

    關注

    0

    文章

    16

    瀏覽量

    1954

原文標題:FSP庫啟動文件說明

文章出處:【微信號:瑞薩MCU小百科,微信公眾號:瑞薩MCU小百科】歡迎添加關注!文章轉載請注明出處。

收藏 0人收藏

    評論

    相關推薦

    基于RA8D1的LVGL FSP配置以及使用介紹

    本文介紹由e2 studio自動生成FSP LVGL pack的使用說明,Pack的生成方法可
    的頭像 發表于 03-13 13:48 ?2056次閱讀
    基于RA8D1的LVGL <b class='flag-5'>FSP</b>配置以及使用介紹

    e2studio開發環境搭建方案

    RA 系列 MCU 設備的項目。e2 studio 集成系統開發環境提供一個熟悉的開發控制臺,從該控制臺中,可以管理項目創建、模塊選擇和配置、代碼開發、代碼
    的頭像 發表于 12-19 09:23 ?1.1w次閱讀
    <b class='flag-5'>e2studio</b>開發環境搭建方案

    瑞薩e2studio(1)----瑞薩芯片之搭建FSP環境

    應用程序接口 (API) 的選擇、配置、代碼生成代碼開發,從而顯著加速開發過程。 e2studio軟件可以官網下進行下載。 下載地址:h
    發表于 09-30 15:28

    e2studio更換toolchain和fsp版本

    e2studio添加或更新toolchain前言不同項目依賴的FSP版本不一樣,于是就有了使用不同FSP版本和toolchain的需求,e2stu
    發表于 11-16 18:06

    【野火啟明6M5開發板體驗】+ e2 FSP環境搭建

    代碼生成代碼開發,從而顯著加速開發過程。e2studio軟件可以官網下進行下載。https://www.renesas.cn/cn/z
    發表于 12-29 17:02

    瑞薩e2studio(1)----瑞薩芯片之搭建FSP環境

    e2studio是瑞薩的集成開發環境,FSP 提供了眾多可提高效率的工具,用于開發針對瑞薩電子RA 系列 MCU 設備的項目。 e2 studio 集成系統開發環境提供一個熟悉的開發控
    的頭像 發表于 11-14 17:08 ?2061次閱讀
    瑞薩<b class='flag-5'>e2studio</b>(1)----瑞薩芯片之搭建<b class='flag-5'>FSP</b>環境

    Renesas RA Family e2 studio 2022-07 或更高版本快速入門指南

    Renesas RA Family e2 studio 2022-07 或更高版本快速入門指南
    發表于 01-10 18:53 ?0次下載
    Renesas RA Family <b class='flag-5'>e2</b> <b class='flag-5'>studio</b> 2022-07 或更高版本快速入門指南

    E1/E20/E2 Emulator, E2 Emulator Lite 用戶手冊附加文件(連接RX設備注意事項)

    E1/E20/E2 Emulator, E2 Emulator Lite 用戶手冊附加文件(連接RX設備注意事項)
    發表于 01-10 19:13 ?3次下載
    <b class='flag-5'>E</b>1/<b class='flag-5'>E</b>20/<b class='flag-5'>E2</b> Emulator, <b class='flag-5'>E2</b> Emulator Lite 用戶手冊附加<b class='flag-5'>文件</b>(連接RX設備注意事項)

    Renesas Synergy e2 studio v2021-10 或更高版本快速入門指南

    Renesas Synergy e2 studio v2021-10 或更高版本快速入門指南
    發表于 01-11 18:54 ?0次下載
    Renesas Synergy <b class='flag-5'>e2</b> <b class='flag-5'>studio</b> v2021-10 或更高版本快速入門指南

    瑞薩e2studio----更新FSP版本

    本篇文章主要介紹如何在瑞薩的FSP更新新版本之后,同步更新e2studio軟件中的FSP版本。
    的頭像 發表于 12-07 10:47 ?2456次閱讀
    瑞薩<b class='flag-5'>e2studio</b>----更新<b class='flag-5'>FSP</b>版本

    使用瑞薩e2 studio FSP基于RA2E1定時器配置PWM輸出

    使用瑞薩e2 studio FSP基于RA2E1定時器配置PWM輸出
    的頭像 發表于 08-01 00:13 ?766次閱讀
    使用瑞薩<b class='flag-5'>e</b>2 <b class='flag-5'>studio</b> <b class='flag-5'>FSP</b>基于RA<b class='flag-5'>2E</b>1定時器配置PWM輸出

    e2 studio 2024-01 RX插件智能配置程序發布說明

    電子發燒友網站提供《e2 studio 2024-01 RX插件智能配置程序發布說明.pdf》資料免費下載
    發表于 01-30 09:44 ?0次下載
    <b class='flag-5'>e2</b> <b class='flag-5'>studio</b> 2024-01 RX插件智能配置程序發布<b class='flag-5'>說明</b>

    適用于e2 studio 2024-01 RH850插件的智能配置程序發布說明

    電子發燒友網站提供《適用于e2 studio 2024-01 RH850插件的智能配置程序發布說明.pdf》資料免費下載
    發表于 01-30 09:41 ?0次下載
    適用于<b class='flag-5'>e2</b> <b class='flag-5'>studio</b> 2024-01 RH850插件的智能配置程序發布<b class='flag-5'>說明</b>

    FSP啟動文件說明

    FSP啟動文件說明
    的頭像 發表于 06-04 08:06 ?520次閱讀
    <b class='flag-5'>FSP</b>庫<b class='flag-5'>啟動</b><b class='flag-5'>文件</b><b class='flag-5'>說明</b>

    e2+fsp+qe安裝說明

    電子發燒友網站提供《e2+fsp+qe安裝說明.docx》資料免費下載
    發表于 09-29 11:07 ?0次下載
    主站蜘蛛池模板: 二区在线播放| 岛国毛片在线观看| 激情春色网| 婷婷综合激情| 欧美性猛片xxxxⅹ免费| 给我免费播放片黄色| 国产视频一二区| 久久青草91线频免费观看| 四虎影视色费永久在线观看| 国产亚洲第一| 天堂一区二区三区在线观看| 亚洲国产成人久久精品影视| 女同在线视频| 国产高清一级在线观看| 欧美adc影院| 成年美女黄网站色大免费视频 | 丁香婷婷激情五月| 国产牛仔裤系列在线观看| 天堂网在线资源| 天天操夜夜操天天操| 天天做天天干| 天天摸天天草| 亚洲邪恶天堂影院在线观看| 国产精品伦子一区二区三区| 国内真实下药迷j在线观看| 久久国产视频一区| 黄视频福利| 午夜亚洲精品| 五月天婷婷免费视频| 天天做天天爱天天做天天吃中| 狠狠天天| seetube18日本第一次| 国产精品成人一区二区| 亚洲国产精品第一页| 婷婷性| 天天色影| 日韩三级小视频| 欧美色伊人| 久久久久久久久综合| 午夜在线观看免费| 视频在线播放免费|

    電子發燒友

    中國電子工程師最喜歡的網站

    • 2931785位工程師會員交流學習
    • 獲取您個性化的科技前沿技術信息
    • 參加活動獲取豐厚的禮品