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

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

    文章

    17917

    瀏覽量

    362674
  • C語言
    +關注

    關注

    180

    文章

    7630

    瀏覽量

    140978
  • 中斷向量
    +關注

    關注

    0

    文章

    14

    瀏覽量

    9099
  • FSP
    FSP
    +關注

    關注

    0

    文章

    43

    瀏覽量

    7390
  • Cortex-M33
    +關注

    關注

    0

    文章

    18

    瀏覽量

    2145

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

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

收藏 0人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

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

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

    e2studio開發環境搭建方案

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

    e2studio和Keil簡介及如何安裝e2studio開發環境

    (簡稱為e2e2s)是瑞薩電子的一款包含代碼開發、構建和調試的開發工具。e2studio基于開源EclipseIDE和與之相關的C/C++
    的頭像 發表于 03-13 17:27 ?1176次閱讀
    <b class='flag-5'>e</b>2<b class='flag-5'>studio</b>和Keil簡介及如何安裝<b class='flag-5'>e</b>2<b class='flag-5'>studio</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 ?2385次閱讀
    瑞薩<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 或更高版本快速入門指南

    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 ?3221次閱讀
    瑞薩<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 ?1188次閱讀
    使用瑞薩<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>

    FSP啟動文件說明

    FSP啟動文件說明
    的頭像 發表于 06-04 08:06 ?941次閱讀
    <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次下載

    瑞薩e2 studio中Reality AI組件的使用方法

    本實驗將為您介紹如何在e2 studio中使用Reality AI相關組件來進行AI開發,主要涉及如何使用Reality AI Data shipper/collector,Reality AI
    的頭像 發表于 01-21 13:48 ?1011次閱讀
    瑞薩<b class='flag-5'>e2</b> <b class='flag-5'>studio</b>中Reality AI組件的使用方法
    主站蜘蛛池模板: 妇少水多18P蜜泬17P亚洲乱 | 8x华人免费视频 | 成人免费小视频 | 国产精品VIDEOSSEX久久发布 | 久久婷婷丁香五月色综合啪免费 | 久草在线在线精品观看 | 国内极度色诱视频网站 | 午夜向日葵视频在线观看 | 成人在线视频免费观看 | 欧美日韩一区二区三区四区 | 色就色 综合偷拍区欧美 | 国产不卡在线观看视频 | 美娇妻的性奴史1一4 | 在线观看视频一区 | 在线播放真实国产乱子伦 | a毛片基地免费全部视频 | 亚洲免费高清视频 | 嫩草影院在线观看网站成人 | 纯肉腐文高H总受男男 | 国产精品爽黄69天堂A片 | 国产午夜三区视频在线 | 做暧暧免费30秒体验 | 99久久久免费精品国产 | 色戒床震视频片段 | 草草久久久亚洲AV成人片 | 99精品视频在线观看re | 男女午夜性爽快免费视频不卡 | 99国产电影| 撕开美女的衣服2 | 91国偷自产一区二区三区 | 久久综久久美利坚合众国 | 午夜精品国产自在现线拍 | 亚洲美女视频高清在线看 | 最近中文字幕在线看免费完整版 | 果冻传媒2021一二三在线观看 | 久久青青草原精品国产软件 | 中国老太60old mantv | 无套日出白浆在线播放 | 高H高肉强J短篇校园 | 国产成人精品视频频 | 成年妇女免费播放 |

    電子發燒友

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

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