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

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

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

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

RL78啟動過程詳解

jf_pJlTbmA9 ? 來源:瑞薩MCU小百科 ? 作者:瑞薩MCU小百科 ? 2023-09-28 16:39 ? 次閱讀

引言

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

1. RL78復位源

RL78 MCU有以下7種復位源:

外部復位:

RESET復位引腳

內(nèi)部復位:

上電復位(POR)

看門狗復位

低電壓復位

非法指令復位

RAM奇偶校驗錯誤復位

存取非法寄存器復位

復位功能框圖如下:

wKgaomUD4BiAbnAdAAGB6zk73zQ354.png

2. MCU運行模式

RL78 MCU有正常運行和閃存編程兩種運行模式,在復位信號解除時,通過采樣TOOL0引腳上的電平,進入對應的運行模式。

wKgZomUD4BmANdOgAACK7e1913E996.png

3. 啟動代碼分析

RL78 MCU啟動代碼主要在cstart.asm文件中,流程如下:

wKgaomUD4BqALfJLAAH7pBUkT8s300.png

3.1 啟動代碼入口

代碼如下:

wKgZomUD4ByAbpclAABEYoASaX4052.png

MCU復位后,PC指針指向地址0,定義復位向量在地址0。

wKgaomUD4B2AK7LoAAAQvqUPNnY510.png
wKgZomUD4B-AT1WRAAAaHUphYug593.png

3.2 寄存器組選擇

代碼如下:

wKgaomUD4CGAeIcGAAAhRjoAyUw098.png

RL78-S2有4組通用寄存器,通過SEL RBn指令選擇使用的寄存器組。

wKgaomUD4CKAWP0XAAAJshpsf78458.png

RL78通用寄存器組結構:

wKgZomUD4CSASJdrAAB7ljjytis160.png

3.3 鏡像區(qū)設置

代碼如下:

wKgaomUD4CWAAS_WAAAzMwZDDbc622.png

3.3.1鏡像區(qū)

RL78支持存取1MB的地址空間,能通過16位地址進行存取的數(shù)據(jù)區(qū)是F0000H~FFFFFH的64K字節(jié)空間,但是如果附加“ES:”,就能擴展到00000H~FFFFFH的1M字節(jié)空間。

wKgZomUD4CaAKXqJAACTWGkM6L8924.png

代碼閃存從地址0開始存儲,一般需要使用20位地址訪問該區(qū)域。為了加快對代碼閃存的訪問,可以將代碼閃存的部分區(qū)域鏡像到F0000H~FFFFFH中未使用的區(qū)域。

鏡像示例如下:

wKgZomUD4CiABOVXAADqXkTn7Yg455.png

3.3.2鏡像區(qū)選擇

復位后,MAA位默認為0,鏡像00000H~0FFFF區(qū)域到F0000H~FFFFFH區(qū)域,對于閃存大于96KB的產(chǎn)品,可以通過設置MAA位,選擇需要鏡像的區(qū)域,詳細請參考PMC控制寄存器。

wKgaomUD4CmAN2eEAAAMx_dkt14012.png
wKgaomUD4CqAMt42AADMAOVe6p0467.png

3.4 棧初始化

代碼如下:

wKgZomUD4CyAdmxiAADwaV-F_yI261.png

3.4.1 設置SP

將棧頂?shù)刂?__STACK_ADDR_START設置到SP寄存器。

其中__STACK_ADDR_START是由鏈接器產(chǎn)生。

wKgaomUD4C2AArw7AAAkOOHxPM0351.png

3.4.2 初始化棧

將棧底地址參數(shù)賦值給AX寄存器,然后調(diào)用棧初始化函數(shù)stkinit,將棧區(qū)域清0。

wKgZomUD4C-ALdZrAAAt6HccgWs912.png

stkinit函數(shù)在stkinit.asm文件中,代碼如下:

wKgaomUD4DGANVD-AAGnajNjJMY467.png
wKgZomUD4DKAOegaAAB0qbVyjHU039.png

大致流程為:先按照32字節(jié)進行清0,剩余部分,按字節(jié)進行清0。

3.5 外設初始化

代碼如下:

wKgaomUD4DSAOXbbAADVwr-iCQs087.png

其中R_Systeminit函數(shù)是由代碼生成器,通過圖形界面配置生成。

注意:盡量不要修改該部分代碼。

如需修改,禁止執(zhí)行讀取RAM的操作。(訪問未初始化的RAM,可能觸發(fā)RAM奇偶校驗錯誤,產(chǎn)生奇偶校驗復位。)

錯誤代碼示例:

wKgZomUD4DWAadhFAACcvK1rAuE323.png

錯誤原因:g_dbgMode全局變量將在data段的初始化過程中賦值1,但此時data段還未初始化,dbgMode指向的RAM地址未寫入奇偶校驗位,if(g_dbgMode==0)語句,將執(zhí)行讀操作,可能觸發(fā)RAM奇偶校驗錯誤,產(chǎn)生奇偶校驗復位。

3.6 初始化BSS,DATA段

BSS初始化代碼如下:

wKgZomUD4DeAMqv6AAGTPzADhvM566.png

DATA段初始化代碼如下:

wKgaomUD4DiAW5c8AAHp7yVmNGc012.png

其中HIGH/LOW/STARTOF/SIZEOF等表達式,請參考編譯器手冊文檔”CC-RL user’s manual”。

wKgZomUD4DqAQdc0AADgrgmTbXE458.png

3.7 進入main函數(shù)

wKgaomUD4DuAG6gaAAAIIfa1-cA890.png

3.8 堆

CC-RL V1.02以上版本支持堆的操作

wKgZomUD4D2Ae6KPAACKTxHgkm0497.png

如需使用堆的相關操作,需要先初始化_REL_sysheap和_REL_sizeof_sysheap,詳細內(nèi)如請參考以下示例:

wKgaomUD4D6AMllcAABJr4MVKT0001.png

來源:瑞薩MCU小百科

審核編輯:湯梓紅

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

    關注

    146

    文章

    17642

    瀏覽量

    357132
  • 寄存器
    +關注

    關注

    31

    文章

    5396

    瀏覽量

    122472
  • 函數(shù)
    +關注

    關注

    3

    文章

    4361

    瀏覽量

    63644
  • RL78
    +關注

    關注

    2

    文章

    119

    瀏覽量

    21836
收藏 0人收藏

    評論

    相關推薦

    RL78學***

    在網(wǎng)上看到一本關于RL78的書籍,作者是美國人。全書13章,近400頁,內(nèi)容很充實,歡迎下載:
    發(fā)表于 01-04 16:42

    有瑞薩RL78族匯編案例嗎?

    有瑞薩RL78族匯編案例嗎
    發(fā)表于 04-17 11:27

    RL78快速解決方案可以加快熱門應用的原型設計

    RL78快速解決方案加快熱門應用的原型設計
    發(fā)表于 01-15 07:13

    瑞薩RL78/G15針對8位MCU應用進行的優(yōu)化

    RL78/G15是一款通用微控制器,工作頻率為16MHz,針對8位MCU應用進行了優(yōu)化,適用于工業(yè)、消費類、傳感器控制、照明和逆變器等各種應用。1. RL78/G15 MCU的主要特性RL78
    發(fā)表于 02-13 17:48

    使用 RL78/G13 實現(xiàn)流水燈的過程

    從流水燈開始學習RL78
    的頭像 發(fā)表于 06-14 12:12 ?3638次閱讀

    RL78/G23 Data flash使用教程

    RL78/G23 Data flash使用與之前的RL78系列(如RL78/G13)有所不同,詳細介紹及使用如下。
    的頭像 發(fā)表于 09-09 12:58 ?3327次閱讀

    Renesas Flash Driver RL78 Type 02 RL78/F2x 用戶手冊

    Renesas Flash Driver RL78 Type 02 RL78/F2x 用戶手冊
    發(fā)表于 01-10 19:04 ?1次下載
    Renesas Flash Driver <b class='flag-5'>RL78</b> Type 02 <b class='flag-5'>RL78</b>/F2x 用戶手冊

    EEPROM Emulation 軟件 RL78 Type 01 用戶手冊 for RL78/G23

    EEPROM Emulation 軟件 RL78 Type 01 用戶手冊 for RL78/G23
    發(fā)表于 01-13 18:58 ?3次下載
    EEPROM Emulation 軟件 <b class='flag-5'>RL78</b> Type 01 用戶手冊 for <b class='flag-5'>RL78</b>/G23

    Renesas Flash Driver RL78 Type 01 用戶手冊 RL78/G23 Rev.1.00

    Renesas Flash Driver RL78 Type 01 用戶手冊 RL78/G23 Rev.1.00
    發(fā)表于 02-02 18:49 ?2次下載
    Renesas Flash Driver <b class='flag-5'>RL78</b> Type 01 用戶手冊 <b class='flag-5'>RL78</b>/G23 Rev.1.00

    Renesas Flash Driver RL78 Type 02RL78/F23 和 RL78/F24 用戶手冊

    Renesas Flash Driver RL78 Type 02 RL78/F23 和 RL78/F24 用戶手冊
    發(fā)表于 05-12 19:25 ?3次下載
    Renesas Flash Driver <b class='flag-5'>RL78</b> Type 02<b class='flag-5'>RL78</b>/F23 和 <b class='flag-5'>RL78</b>/F24 用戶手冊

    EEPROM 仿真軟件 RL78 Type 02RL78/F23 和 RL78/F24 用戶手冊

    EEPROM 仿真軟件 RL78 Type 02 RL78/F23 和 RL78/F24 用戶手冊
    發(fā)表于 05-19 18:41 ?2次下載
    EEPROM 仿真軟件 <b class='flag-5'>RL78</b> Type 02<b class='flag-5'>RL78</b>/F23 和 <b class='flag-5'>RL78</b>/F24 用戶手冊

    Renesas Flash Driver RL78 Type 02RL78/F23 和 RL78/F24 用戶手冊

    Renesas Flash Driver RL78 Type 02 RL78/F23 和 RL78/F24 用戶手冊
    發(fā)表于 06-29 19:17 ?1次下載
    Renesas Flash Driver <b class='flag-5'>RL78</b> Type 02<b class='flag-5'>RL78</b>/F23 和 <b class='flag-5'>RL78</b>/F24 用戶手冊

    EEPROM 仿真軟件 RL78 Type 02RL78/F23 和 RL78/F24 用戶手冊

    EEPROM 仿真軟件 RL78 Type 02 RL78/F23 和 RL78/F24 用戶手冊
    發(fā)表于 06-29 19:33 ?0次下載
    EEPROM 仿真軟件 <b class='flag-5'>RL78</b> Type 02<b class='flag-5'>RL78</b>/F23 和 <b class='flag-5'>RL78</b>/F24 用戶手冊

    EEPROM Emulation 軟件 RL78 Type 01 用戶手冊 for RL78/G23

    EEPROM Emulation 軟件 RL78 Type 01 用戶手冊 for RL78/G23
    發(fā)表于 07-03 19:32 ?0次下載
    EEPROM Emulation 軟件 <b class='flag-5'>RL78</b> Type 01 用戶手冊 for <b class='flag-5'>RL78</b>/G23

    Renesas Flash Driver RL78 Type 01 用戶手冊 RL78/G23 Rev.1.00

    Renesas Flash Driver RL78 Type 01 用戶手冊 RL78/G23 Rev.1.00
    發(fā)表于 07-04 18:35 ?1次下載
    Renesas Flash Driver <b class='flag-5'>RL78</b> Type 01 用戶手冊 <b class='flag-5'>RL78</b>/G23 Rev.1.00

    電子發(fā)燒友

    中國電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會員交流學習
    • 獲取您個性化的科技前沿技術信息
    • 參加活動獲取豐厚的禮品
    主站蜘蛛池模板: 激情综合色综合久久综合 | 日本久久综合视频 | 91久久麻豆| 黄色一级片播放 | 久久免费精品国产72精品剧情 | 国产精品视频永久免费播放 | 亚洲免费影视 | 天天做天天做天天综合网 | 国产ccc| 欧美色爱综合网 | 国产va免费精品高清在线观看 | 天堂网www中文在线资源 | 能在线观看的一区二区三区 | 久久综合久色欧美婷婷 | 欧美 亚洲 一区 | 丁香婷婷成人 | 日本在线观看www | 免费一级特黄欧美大片勹久久网 | 亚洲国产成人久久三区 | 国产午夜爽爽窝窝在线观看 | 四虎久久精品国产 | 国产在线麻豆自在拍91精品 | 国产精品天天影视久久综合网 | 日本网络视频www色高清免费 | 天堂电影免费在线资源 | 欧美高清a | 人人人人凹人人爽人人澡 | 在线亚洲国产精品区 | 黄色网毛片| 久久天天 | 男男np主受高h啪啪肉 | 亚洲视频在线网 | 曰本又色又爽又黄三级视频 | 欧美高清一区 | 国产精品久久久久久久久 | 扒开双腿猛进入jk校视频 | 狠狠色婷婷丁香综合久久韩国 | 99热色| 日韩一区二区在线观看 | 成年人看的毛片 | 国产欧美日韩在线人成aaaa |