色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取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

    文章

    17168

    瀏覽量

    351405
  • C語言
    +關注

    關注

    180

    文章

    7605

    瀏覽量

    136976
  • 中斷向量
    +關注

    關注

    0

    文章

    14

    瀏覽量

    8946
  • FSP
    FSP
    +關注

    關注

    0

    文章

    34

    瀏覽量

    7143
  • Cortex-M33
    +關注

    關注

    0

    文章

    13

    瀏覽量

    1933

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

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

收藏 人收藏

    評論

    相關推薦

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

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

    e2studio開發環境搭建方案

    RA 系列 MCU 設備的項目。e2 studio 集成系統開發環境提供一個熟悉的開發控制臺,從該控制臺中,可以管理項目創建、模塊選擇和配置、代碼開發、代碼
    的頭像 發表于 12-19 09:23 ?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 ?2040次閱讀
    瑞薩<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 ?2392次閱讀
    瑞薩<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 ?733次閱讀
    使用瑞薩<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 ?486次閱讀
    <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次下載
    主站蜘蛛池模板: 久久精品国产99欧美精品亚洲| 99国产精品久久| 一线高清视频在线播放| 北条麻妃久久99精品| 久久中文电影| 亚洲久久少妇中文字幕| 国产精品1区在线播放| 日本枯瘦娇小| 成年黄网站免费大全毛片| 欧美一区二区激情视频| 99re 这里只有精品| 免费色片播放器| 99久久蜜臀AV免费看蛮| 女的把腿张开男的往里面插| 19不插片免费视频| 毛片免费观看的视频在线| 中文字幕在线免费视频| 麻豆久久国产亚洲精品超碰热| 在野外被男人躁了一夜动图| 伦理片在线线手机版韩国免费观看 | 国产东北男同志videos网站| 日韩久久影院| 国产成人精品免费视频下载 | 网红主播 国产精品 开放90后| 电影 qvod| 亚洲 无码 制服 日韩| 国产揄拍国产精品| 一区三区三区不卡| 久久偷拍vs国产在线播放| 97在线视频免费观看97| 日本69xxxxx| 国产色婷婷亚洲99精品| 亚洲综合免费视频| 蜜桃臀无码内射一区二区三区 | 在线播放无码字幕亚洲| 沦为公交两奶头春药高潮迭起| 99久久网站| 色姊姊真舒服| 久久久久激情免费观看| 拔萝卜电视剧高清免费| 午夜影视免费|