欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索

關(guān)于stm32的0x0800 0000這個(gè)地址開始存儲(chǔ)的數(shù)據(jù)的疑問

查看數(shù): 3557 | 評(píng)論數(shù): 9 | 收藏 0
關(guān)燈 | 提示:支持鍵盤翻頁<-左 右->
    組圖打開中,請(qǐng)稍候......
發(fā)布時(shí)間: 2022-2-15 10:50

正文摘要:

不知道應(yīng)該怎么準(zhǔn)確描述我遇到的問題。 先講一下我的使用場(chǎng)景,我使用stm32的bootloader進(jìn)行程序跳轉(zhuǎn)到0x0802 0000這個(gè)位置,0x0802 0000是主程序的起始地址。 我使用ucos-II系統(tǒng)編譯生成bin文件燒錄,正常運(yùn)行, ...

回復(fù)

ID:434018 發(fā)表于 2022-2-21 15:10
0x8000000 => flash memory.
0x20000000 => SRAM memory.
Please see LD file in you project folder .
ID:585428 發(fā)表于 2022-2-20 08:26
發(fā)表于 2022-2-16 11:53
bootloader設(shè)定128k那是家里有礦隨便浪。其實(shí)樓主的問題是app起始地址0x08020000,而Reset_Handler地址0x ...

我的問題是app起始地址是一樣的情況下,帶UCOS-II系統(tǒng)的程序和使用標(biāo)準(zhǔn)庫的程序,兩者生成的Reset_Handler地址為什么一個(gè)是0x080 4xxx,一個(gè)是0x0802 xxxx
ID:585428 發(fā)表于 2022-2-20 08:05
發(fā)表于 2022-2-15 18:37
0x20000對(duì)應(yīng)128k,如果你的代碼有這么大不太正常了嗎?

你好,我這個(gè)是芯片的flash有1M,0x0800 0000---0x0801 FFFF 這個(gè)區(qū)域分配給了bootloader,0x0802 0000這個(gè)區(qū)域開始是主程序的起始地址
ID:585428 發(fā)表于 2022-2-20 08:01
發(fā)表于 2022-2-16 11:53
bootloader設(shè)定128k那是家里有礦隨便浪。其實(shí)樓主的問題是app起始地址0x08020000,而Reset_Handler地址0x ...

是的。我之前用bootloader跳轉(zhuǎn)到標(biāo)準(zhǔn)庫寫的app,跳轉(zhuǎn)前最后的判斷是
  1.         if(((*(vu32*)(FLASH_APP1_ADDR+4))&0xFFFF0000)==(FLASH_APP1_ADDR & 0xFFFF0000))//判斷是否為0X08XXXXXX.
  2.         {               
  3.                 __disable_irq();  //關(guān)閉中斷
  4.                 Iap_Load_App(FLASH_APP1_ADDR);//執(zhí)行FLASH APP代碼
  5.         }
復(fù)制代碼

,這樣就正常跳轉(zhuǎn)了,但是到用到UCOS-II的程序,系統(tǒng)編譯發(fā)現(xiàn)這個(gè)LASH_APP1_ADDR+4這個(gè)位置的地址不對(duì)了
ID:585428 發(fā)表于 2022-2-20 07:56
AUG 發(fā)表于 2022-2-16 09:44
一個(gè)bootloader能有128K的大小?當(dāng)然你可以跳轉(zhuǎn)到這兒運(yùn)行也沒我問題,如果你的flash足夠大的話。  還有你 ...

你好,現(xiàn)在才看到。主要的疑問是我APP程序時(shí)從0x08020000開始的,但是BIN文件的第二個(gè)地址竟然時(shí)0x0804xxxx,這個(gè)程序用的時(shí)ucos-II。我在用IAP從bootloader跳轉(zhuǎn)到主程序時(shí),發(fā)現(xiàn)跳轉(zhuǎn)失敗才發(fā)現(xiàn)的,因?yàn)橹坝脴?biāo)準(zhǔn)庫寫的并沒有這個(gè)問題,又特意去看來下,才發(fā)現(xiàn)標(biāo)準(zhǔn)庫和UCOS-II生成的有些不同。標(biāo)準(zhǔn)庫是0x0802xxxx.
我在網(wǎng)上查詢以后,查到說BIN文件第二個(gè)地址是Reset_Handle()的地址。
ID:879809 發(fā)表于 2022-2-16 11:53
AUG 發(fā)表于 2022-2-16 09:44
一個(gè)bootloader能有128K的大小?當(dāng)然你可以跳轉(zhuǎn)到這兒運(yùn)行也沒我問題,如果你的flash足夠大的話。  還有你 ...

bootloader設(shè)定128k那是家里有礦隨便浪。其實(shí)樓主的問題是app起始地址0x08020000,而Reset_Handler地址0x0804xxxx,這之間的128k是怎么冒出來的?
ID:313048 發(fā)表于 2022-2-16 09:44
一個(gè)bootloader能有128K的大小?當(dāng)然你可以跳轉(zhuǎn)到這兒運(yùn)行也沒我問題,如果你的flash足夠大的話。  還有你說的Reset_Handler地址不一樣,這是不可能的,啟動(dòng)文件里面可以看到你的復(fù)位地址在哪兒,跳轉(zhuǎn)過去之后只是加上偏移就可以了。還有你看的是0x08020000的數(shù)據(jù),是你主程序開始的內(nèi)容,跟你用什么庫生成是沒關(guān)系的吧,你改下代碼然后哦重新編譯一下,估計(jì)也會(huì)有所不一樣。同時(shí)你可以直接查看BIN文件的數(shù)據(jù),并不需要去仿真燒錄到單片機(jī)里面查看。
ID:879809 發(fā)表于 2022-2-15 18:37
0x20000對(duì)應(yīng)128k,如果你的代碼有這么大不太正常了嗎?
ID:585428 發(fā)表于 2022-2-15 11:08
在map文件中查了一下,這個(gè)地址對(duì)應(yīng)的是Reset_Handler,為什么不同系統(tǒng)生成Reset_Handler地址會(huì)不一樣

評(píng)分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎(jiǎng)勵(lì)!

查看全部評(píng)分

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表