哈哈哈哈哈操欧洲电影,久草网在线,亚洲久久熟女熟妇视频,麻豆精品色,久久福利在线视频,日韩中文字幕的,淫乱毛视频一区,亚洲成人一二三,中文人妻日韩精品电影

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

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

3天內(nèi)不再提示

瑞薩RX MCU啟動文件詳解

瑞薩嵌入式小百科 ? 來源:瑞薩嵌入式小百科 ? 2026-02-11 08:43 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

PART.01

引言

本文詳細介紹了RX MCU從復位到進入main函數(shù)的過程,有助于讀者對RX MCU體系結構的理解,RAMROM的初始化,以及bootloader程序的開發(fā)。

PART.02

啟動代碼流程分析

RX MCU啟動代碼主要在resetprg.c文件中,RX的啟動代碼以C語言實現(xiàn),因此可讀性和可維護性更高。啟動代碼統(tǒng)一放在PowerON_Reset_PC函數(shù)內(nèi),復位向量表保存的正是該函數(shù)入口的物理地址。因此當芯片發(fā)生復位后,CPU會從復位向量取出該地址,并自動跳轉到PowerON_Reset_PC函數(shù)執(zhí)行,完成啟動流程并最終進入應用程序。

具體的啟動流程如下

5f8db562-017f-11f1-90a1-92fbcf53809c.png

2.1 從復位向量到啟動函數(shù)

MCU復位后,CPU會從復位向量地址0xFFFFFFFC讀取一個32位入口地址(Reset Vector)。該入口地址會被裝載到PC(程序計數(shù)器)中,隨后CPU跳轉到該入口地址開始執(zhí)行啟動代碼,0xFFFFFFFC存放的是復位入口函數(shù)(PowerON_Reset_PC)的地址。RX的內(nèi)存分區(qū)情況以及跳轉過程如下圖所示:

6356a35c-017f-11f1-90a1-92fbcf53809c.png

63aebf6a-017f-11f1-90a1-92fbcf53809c.png

2.2 設置棧指針

在調(diào)用入口函數(shù)(PowerOn_Reset_PC)之前,需要初始化棧指針,這一步設計在CC-RX編譯器中。CC?RX編譯器在該函數(shù)開頭自動插入棧指針初始化:

647debbe-017f-11f1-90a1-92fbcf53809c.png

1RX有兩種??梢栽O置:中斷棧指針I(yè)nterrupt Stack Pointer(ISP)、用戶棧指針User Stack Pointer(USP),其中中斷棧是必須的。

2MVTC是Renesas RX指令集中的一條匯編指令,全稱Move To Control Register,是“把數(shù)據(jù)寫入控制寄存器”。

3TOPOF SU+SIZEOF SU等于SU段起始地址+段大小=段末端(棧頂);SI同理。

4初始化把USP/ISP設到各自棧區(qū)的棧頂,以便隨后棧向低地址增長。

2.3初始化中斷、異常向量表寄存器:INTB、EXTB

配置中斷和異常的控制寄存器,初始化系統(tǒng)中斷和異常的響應。

代碼如下:

659f300c-017f-11f1-90a1-92fbcf53809c.png

2.4 初始化浮點狀態(tài)寄存器:FPSW

FPSW是CPU控制浮點單元的狀態(tài)寄存器,在啟動時需要初始化為預設值,以確保浮點計算正確。

代碼如下:

667f572c-017f-11f1-90a1-92fbcf53809c.png

2.5 切換到高速運行時鐘

MCU RX上電復位后,首先使用的是LOCO(Low-speed on-chip oscillator),到這一步后,時鐘源從LOCO切換到用戶選擇的高速運行時鐘,如HOCO(High-speed on-chip oscillator)。

代碼如下:

673ed4f8-017f-11f1-90a1-92fbcf53809c.png

1

切換MCU到高速運行模式,調(diào)用operating_frequency_set()來設置系統(tǒng)時鐘頻率。

2

條件編譯:如果不是Bootloader工程(BSP_CFG_BOOTLOADER_PROJECT == 0),則執(zhí)行l(wèi)pt_clock_source_select(),用于選擇低功耗定時器(LPT)的時鐘源。

2.6 初始化C運行環(huán)境

代碼如下:

67ffd284-017f-11f1-90a1-92fbcf53809c.png

在該階段,調(diào)用標準庫函數(shù)_INITSCT完成RAM數(shù)據(jù)區(qū)初始化:

1對初始化表BTBL[]指定的B段(.bss段)執(zhí)行清零;對DTBL[]指定的D/R段(.data段),將ROM中D段初始值拷貝到RAM中對應的R段。

2DTBL[]與BTBL[]分別存放在C$DSEC 與C$BSEC段,并通過__sectop() / __secend()等段操作符提供各段的邊界地址,供_INITSCT函數(shù)遍歷處理。

2.7 初始化RAM

代碼如下:

68bd27da-017f-11f1-90a1-92fbcf53809c.png

“硬件資源鎖(hardware lock)”機制:用一個全局鎖數(shù)g_bsp_Locks來防止多個模塊/線程/中斷同時訪問同一個外設資源導致沖突。g_bsp_Locks是RAM變量,必須初始化。BSP_NUM_LOCKS是“枚舉總數(shù)”。

2.8 初始化I/O庫

初始化C標準庫的I/O流(stdin/stdout/stderr),代碼如下:

697de718-017f-11f1-90a1-92fbcf53809c.png

打開或創(chuàng)建標準輸入(stdin)、標準輸出(stdout)和標準錯誤輸出(stderr)的文件,可以用printf輸出打印信息。

2.9 初始化MCU的中斷回調(diào)

代碼如下:

6a3f59b6-017f-11f1-90a1-92fbcf53809c.png

初始化BSP的“中斷回調(diào)函數(shù)表”,把所有中斷源的回調(diào)函數(shù)先設為“空函數(shù)占位”。避免野指針。

2.10 初始化寄存器保護功能

代碼如下:

6b365b9e-017f-11f1-90a1-92fbcf53809c.png

為MCU的寄存器寫保護(Register Write Protection)功能做初始化,并定義受保護寄存器的分類。

2.11 配置MCU和板級硬件

代碼如下:

6bee4a2e-017f-11f1-90a1-92fbcf53809c.png

1output_ports_configure():用戶可以根據(jù)應用需求進行輸出端口的配置。

2interrupts_configure():用戶可以根據(jù)應用需求進行中斷的配置。

3peripheral_modules_enable():啟用和配置MCU的外設。

4bsp_non_existent_port_init():初始化“芯片封裝上不存在的引腳”。

2.12 使能中斷和選擇棧

(I Stack or U Stack)

代碼如下:

6caeab16-017f-11f1-90a1-92fbcf53809c.png

開中斷和選擇使用哪一個棧:

I stack or U stack(即中斷?;蛴脩魲#?/strong>

使用RTOS情況下:進入Supervisor(特權)模式,并且在啟動階段保持中斷關閉。

非RTOS情況:如果用戶只選擇1個棧,則不會設置“U”位(即用戶棧),CPU將始終使用中斷棧。

2.13 選擇是否使用RTOS并進入main函數(shù)

無RTOS或Azure RTOS直接調(diào)用R_BSP_MAIN_FUNCTION()(就是main()),不應該返回。

6d690a24-017f-11f1-90a1-92fbcf53809c.png

至此,是RXMCU 從上電復位到進入main()的全過程。

需要技術支持?

如您在使用瑞薩MCU/MPU產(chǎn)品中有任何問題,可識別下方二維碼或復制網(wǎng)址到瀏覽器中打開,進入瑞薩技術論壇尋找答案或獲取在線技術支持。

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

    關注

    147

    文章

    19094

    瀏覽量

    402726
  • 瑞薩
    +關注

    關注

    37

    文章

    22511

    瀏覽量

    91125
  • 函數(shù)
    +關注

    關注

    3

    文章

    4420

    瀏覽量

    67788
  • bootloader
    +關注

    關注

    2

    文章

    245

    瀏覽量

    48262
  • 啟動文件
    +關注

    關注

    0

    文章

    16

    瀏覽量

    2468

原文標題:瑞薩RX MCU啟動文件詳解

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

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    RX130系列MCU CTSU的基本配置和使用

    RX130屬于32位高功效MCU RX100系列,是一款入門級產(chǎn)品。其內(nèi)置的最大36通道的電容式觸摸傳感單元(CTSU)成為其特點之一,
    發(fā)表于 07-21 17:14 ?2868次閱讀

    如何在VS Code中使用RX系列MCU

    RX家族系列MCU圍繞先進的CPU內(nèi)核構建,匯集了的各種技術創(chuàng)新。基于多年積累的專有技術,它們旨在在各個方面提供更好的響應性和能效,同時結合出色的運行性能和低功耗。為工業(yè)、家用電子
    的頭像 發(fā)表于 04-17 17:58 ?4165次閱讀
    如何在VS Code中使用<b class='flag-5'>瑞</b><b class='flag-5'>薩</b><b class='flag-5'>RX</b>系列<b class='flag-5'>MCU</b>

    解決方案匯總帖

    決方案【視頻】電子180度E-Bike解決方案【視頻】電子RX LCD直接驅動解決方案演示【視頻】
    發(fā)表于 01-30 18:27

    MCU指紋識別解決方案!

    65N/RX651微控制器(MCU)系列產(chǎn)品展露拳腳的機會,尤其是在中國市場。雖然有不錯的技術和很好的產(chǎn)品,但爭奪一定的市場份額關鍵還要看技術及其產(chǎn)品的落地情況。生物識別主要包括指
    發(fā)表于 09-02 13:57

    怎么讀取mcu的checksum?

    怎么讀取mcu的checksum?
    發(fā)表于 02-10 07:03

    電子擴大RX63T Group微控制器(MCU)系列產(chǎn)品

    電子宣布擴大RX63T Group微控制器(MCU)系列產(chǎn)品。新款RX63T MCU擁有更多
    發(fā)表于 12-06 10:15 ?3644次閱讀

    電子推出低成本目標板以支持快速增長的RX系列32位MCU產(chǎn)品線

    電子宣布推出三款基于RX65N、RX130和RX231微控制器(MCU)的新型目標板,旨在幫
    的頭像 發(fā)表于 02-28 11:05 ?6534次閱讀

    關于RX系列MCU的特點性能介紹

    電子RX系列MCU介紹
    的頭像 發(fā)表于 07-23 00:33 ?4516次閱讀

    電子32位RX微控制器產(chǎn)品家族交付第10億顆芯片

    電子宣布,RX產(chǎn)品家族32位微控制器(MCU)已累計交付超10億顆,該系列MCU采用
    發(fā)表于 01-20 15:32 ?3321次閱讀
    <b class='flag-5'>瑞</b><b class='flag-5'>薩</b>電子32位<b class='flag-5'>RX</b>微控制器產(chǎn)品家族交付第10億顆芯片

    基于RX66T高性能MCU的變頻器設計方案

    RX66T是RX MCU家族面向電機/變頻控制的高性能MCU,其特性如下:
    的頭像 發(fā)表于 10-14 16:30 ?5183次閱讀

    基于電子RX MCU的電機控制解決方案

    本次給大家介紹基于電子RX電機控制MCU的電機控制解決方案,RX家族32位高功效MCU包含四
    的頭像 發(fā)表于 12-10 17:15 ?2995次閱讀
    基于<b class='flag-5'>瑞</b><b class='flag-5'>薩</b>電子<b class='flag-5'>RX</b> <b class='flag-5'>MCU</b>的電機控制解決方案

    電子RX261/RX260 32位觸摸控制MCU數(shù)據(jù)表與技術手冊

    電子RX261/RX260 32位觸摸控制MCU數(shù)據(jù)表與技術手冊
    的頭像 發(fā)表于 03-17 16:32 ?1590次閱讀

    RX62T與RX62G系列MCU深度解析與應用考量

    RX62T與RX62G系列MCU深度解析與應用考量 作為電子工程師,在選擇單片機時,往往會綜合性能、功能、穩(wěn)定性等多方面因素。
    的頭像 發(fā)表于 04-13 16:15 ?63次閱讀

    深入解析RX630系列MCU:性能與特性全揭秘

    。今天,我們就來深入了解一下這款MCU的詳細信息。 文件下載: R5F5630ACDFP#V0.pdf 一、產(chǎn)品概述 RX630系列是一
    的頭像 發(fā)表于 04-13 16:20 ?50次閱讀

    深入解析RX63N/RX631系列MCU:高性能與多功能的完美結合

    富的功能,成為眾多工程師的首選。今天,我們就來深入了解一下這兩款MCU的特點和優(yōu)勢。 文件下載: R5F56317CDFB#V0.pdf 一、產(chǎn)品概述
    的頭像 發(fā)表于 04-13 16:35 ?68次閱讀
    博罗县| 达日县| 东城区| 互助| 贵定县| 海丰县| 句容市| 黄骅市| 天柱县| 铅山县| 涞水县| 平昌县| 瓦房店市| 左权县| 甘洛县| 黑山县| 鲁甸县| 永嘉县| 西畴县| 庆安县| 北流市| 博客| 吉安县| 和田市| 杭州市| 襄樊市| 镇安县| 武强县| 宁化县| 汉寿县| 华阴市| 平乡县| 桐城市| 泰安市| 山阳县| 广西| 阜宁县| 宜黄县| 汝南县| 巴南区| 工布江达县|