91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

3天內不再提示

瑞薩RX MCU啟動文件詳解

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

掃碼添加小助手

加入工程師交流群

PART.01

引言

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

PART.02

啟動代碼流程分析

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

具體的啟動流程如下

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

2.1 從復位向量到啟動函數

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

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

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

2.2 設置棧指針

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

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,是“把數據寫入控制寄存器”。

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到高速運行模式,調用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

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

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

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

2.7 初始化RAM

代碼如下:

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

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

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的中斷回調

代碼如下:

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

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

2.10 初始化寄存器保護功能

代碼如下:

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

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

2.11 配置MCU和板級硬件

代碼如下:

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

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

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

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(即中斷?;蛴脩魲#?。

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

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

2.13 選擇是否使用RTOS并進入main函數

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

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

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

需要技術支持?

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

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

    關注

    147

    文章

    18924

    瀏覽量

    398005
  • 瑞薩
    +關注

    關注

    37

    文章

    22481

    瀏覽量

    90852
  • 函數
    +關注

    關注

    3

    文章

    4417

    瀏覽量

    67499
  • bootloader
    +關注

    關注

    2

    文章

    244

    瀏覽量

    48026
  • 啟動文件
    +關注

    關注

    0

    文章

    16

    瀏覽量

    2459

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

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

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    如何使用RX26T MCU中的POE功能模塊

    RX26T芯片是專門為#電機控制 設計的32位MCU,搭載120MHz的CPURXv3內核,具備強大的數字信號處理能力和豐富的外設資源。
    的頭像 發(fā)表于 08-13 09:19 ?5590次閱讀
    如何使用<b class='flag-5'>瑞</b><b class='flag-5'>薩</b><b class='flag-5'>RX</b>26T <b class='flag-5'>MCU</b>中的POE功能模塊

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

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

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

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

    電子新推32位RX系列微控制器RX23E-A產品組

    電子今日宣布推出32位RX系列微控制器(MCURX23E-A產品組,將高精度模擬前端(AFE)集成在
    發(fā)表于 05-28 17:38 ?1429次閱讀

    MCU型號速查手冊

    `MCU型號速查手冊`
    發(fā)表于 10-27 11:11

    解決方案匯總帖

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

    MCU指紋識別解決方案!

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

    怎么讀取mcu的checksum?

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

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

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

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

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

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

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

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

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

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

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

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

    本次給大家介紹基于電子RX電機控制MCU的電機控制解決方案,RX家族32位高功效MCU包含四
    的頭像 發(fā)表于 12-10 17:15 ?2745次閱讀
    基于<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數據表與技術手冊

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