熱門: 51單片機(jī) | 24小時(shí)必答區(qū) | 單片機(jī)教程 | 單片機(jī)DIY制作 | STM32 | Cortex M3 | 模數(shù)電子 | 電子DIY制作 | 音響/功放 | 拆機(jī)樂(lè)園 | Arduino | 嵌入式OS | 程序設(shè)計(jì)
![]() |
發(fā)布時(shí)間: 2023-4-4 14:32
正文摘要:最近整了個(gè)arm內(nèi)核的py32f002a玩,但按照給的官方文件卻在keil里報(bào)錯(cuò)。以前只玩過(guò)8位,沒(méi)玩過(guò)32位。錯(cuò)誤代碼: uint32_t VECT_SRAM_TAB[48]__attribute__((section(".ARM.__at_0x20000000"))); 這行 ... |
明日之星8 發(fā)表于 2024-3-18 21:55 沒(méi)用匯編說(shuō)明你的修行還不到家。 |
我最近在玩XL32F001,我只用py32f002bx5.h這一個(gè)頭文件,注意前面沒(méi)有“system_”, 另加“core_cm”開(kāi)頭的三個(gè)內(nèi)核頭文件,其它的都是“庫(kù)”開(kāi)發(fā)有關(guān)的,我不玩“庫(kù)”。 簡(jiǎn)簡(jiǎn)單單點(diǎn)個(gè)燈都要長(zhǎng)長(zhǎng)一大篇,我直接操作寄存器只要三五句就點(diǎn)亮了。 |
uint32_t VECT_SRAM_TAB[48]__attribute__((section(".RW_IRAM1.__at_0x20000000"))); 出錯(cuò)代碼替換成上邊的代碼試試,我的問(wèn)題這樣解決的。 |
這個(gè)應(yīng)該是分散加載文件中的分段對(duì)應(yīng)不上。把ARM替換成RW_IRAM1就可以了。即uint32_t VECT_SRAM_TAB[48]__attribute__((section(".RW_IRAM1.__at_0x20000000")));//((section(".ARM.__at_0x20000000"))); |
可能缺了#define具體單片機(jī)型號(hào)這一句,也可以在項(xiàng)目工程文件里面define。 |
我剛好碰到這個(gè)問(wèn)題,不過(guò)我用的是002B,我用了system_py32f002b.c替代了system_py32f0xx.c就正常了。f0xx.c可能針對(duì)的是所有型號(hào),不同型號(hào)可能要改下參數(shù)。你可以去找個(gè)system_py32f002a.c或者就用002b.c就可以了。 |
Powered by 單片機(jī)教程網(wǎng)