ch573 boot跳轉(zhuǎn)app失敗
#define????jumpApp??((??void??(*)??(?void?))??((int*)0x4000))
int?main()
{
??SetSysClock(?CLK_SOURCE_PLL_60MHz?);jumpApp();
??jumpApp();
??while(?1?)
??{
??}
?}

BOOT的代碼如上。

BOOT程序是直接用MRS新建的工程,沒有做任何鏈接文件的更改。

APP程序是新建工程后,更改了Link.ld文件

MEMORY
{
	FLASH?(rx)?:?ORIGIN?=?0x4000,?LENGTH?=?208K
	RAM?(xrw)?:?ORIGIN?=?0x20003800,?LENGTH?=?18K
}

現(xiàn)在的情況是:boot跳轉(zhuǎn)不到app程序,并且會(huì)不斷重啟。

跳轉(zhuǎn)要滿足下面兩種情況之一即可:

1,在機(jī)器模式跳轉(zhuǎn),

在ch57x?ch58x例程的startup_xxxxx.s文件中,有下面兩行
li?t0,?0x88
csrs?mstatus,?t0
修改成
li?t0,?0x1888
csrs?mstatus,?t0

2,在中斷里面跳轉(zhuǎn).

可以參考附件(解壓到官網(wǎng)SDK 的evt>exam> 下, 每個(gè)工程內(nèi)提供有說明文件, 燒錄方式使用sdk evt>安卓OTA工具>合并工具>AssemblingFileTool.exe 合并兩個(gè)hex文件后燒錄):

icon_rar.gifch573_user_boot_and_app.zip



二樓的咋鏈接失效了呢


請問問題解決了嗎


已經(jīng)修改更新到二樓中.


經(jīng)過嘗試,終于完成了這個(gè)升級(jí)功能,以下是注意點(diǎn):

  1. 在讀寫flash的時(shí)候,最好要關(guān)閉總中斷,否則數(shù)據(jù)可能被搞亂(我就是這樣遇到了)

  2. BootLoader的Link.ld的內(nèi)容除了,falsh起始和大小不一樣外,其它內(nèi)容APP和BootLoader必須一樣,否則跳轉(zhuǎn)后無法成功啟動(dòng)

MEMORY
{
FLASH?(rx)?:?ORIGIN?=?0x00004000,?LENGTH?=?432K?//根據(jù)實(shí)際修改
RAM?(xrw)?:?ORIGIN?=?0x20003800,?LENGTH?=?18K
}



只有登錄才能回復(fù),可以選擇微信賬號(hào)登錄

国产91精品新入口,国产成人综合网在线播放,九热这里只有精品,本道在线观看,美女视频a美女视频,韩国美女激情视频,日本美女pvp视频