亚洲春色中文字幕久久久-三上亚,91精品国产亚一区二区三区,久久久九色综合亚洲成色777,涩涩视频下载,国产午夜亚洲精品午夜鲁丝片,国产精品A一区二区三区腾讯导航,影音先锋色情AV在线看片,蜜臀国产在线视频,极品少妇高潮啪啪无码吴梦梦 ,精品人妻无码一区二区三区手机版

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4307|回復: 12
收起左側

關于py32f002a單片機在keil里的報錯

[復制鏈接]
ID:1069770 發表于 2023-4-4 14:32 | 顯示全部樓層 |閱讀模式
最近整了個arm內核的py32f002a玩,但按照給的官方文件卻在keil里報錯。以前只玩過8位,沒玩過32位。錯誤代碼:
51hei截圖20230404141224.jpg

.\Objects\sy32.axf: Error: L6985E: Unable to automatically place AT section system_py32f0xx.o(.ARM.__at_0x20000000) with required base address 0x20000000. Please manually place in the scatter file using the --no_autoat option.

錯誤是在
03.jpg
文件里的

20230404141326.jpg

uint32_t VECT_SRAM_TAB[48]__attribute__((section(".ARM.__at_0x20000000")));
這行代碼出現了錯誤,這應該是個啟動運行前的文件,跟RAM有關,具體的我也不懂,好像也查不到什么好的解決辦法。
只要把這行代碼的0x20000000改成0x200000500就能編譯成功,調試中能操作寄存器,但函數不能正常運行。只能操作寄存器。
不知道有沒同樣用過的遇到這種問題的,或者知道解決辦法的。
回復

使用道具 舉報

ID:915384 發表于 2024-2-19 08:51 | 顯示全部樓層
我剛好碰到這個問題,不過我用的是002B,我用了system_py32f002b.c替代了system_py32f0xx.c就正常了。f0xx.c可能針對的是所有型號,不同型號可能要改下參數。你可以去找個system_py32f002a.c或者就用002b.c就可以了。
回復

使用道具 舉報

ID:883242 發表于 2024-2-20 19:25 | 顯示全部樓層
可能缺了#define具體單片機型號這一句,也可以在項目工程文件里面define。
回復

使用道具 舉報

ID:604394 發表于 2024-3-18 11:27 | 顯示全部樓層
這個應該是分散加載文件中的分段對應不上。把ARM替換成RW_IRAM1就可以了。即uint32_t VECT_SRAM_TAB[48]__attribute__((section(".RW_IRAM1.__at_0x20000000")));//((section(".ARM.__at_0x20000000")));
回復

使用道具 舉報

ID:367862 發表于 2024-3-18 11:28 | 顯示全部樓層
uint32_t VECT_SRAM_TAB[48]__attribute__((section(".RW_IRAM1.__at_0x20000000")));
出錯代碼替換成上邊的代碼試試,我的問題這樣解決的。
回復

使用道具 舉報

ID:1110945 發表于 2024-3-18 21:55 | 顯示全部樓層
我最近在玩XL32F001,我只用py32f002bx5.h這一個頭文件,注意前面沒有“system_”,
另加“core_cm”開頭的三個內核頭文件,其它的都是“庫”開發有關的,我不玩“庫”。
簡簡單單點個燈都要長長一大篇,我直接操作寄存器只要三五句就點亮了。
回復

使用道具 舉報

ID:883242 發表于 2024-3-19 00:49 | 顯示全部樓層
明日之星8 發表于 2024-3-18 21:55
我最近在玩XL32F001,我只用py32f002bx5.h這一個頭文件,注意前面沒有“system_”,
另加“core_cm”開頭 ...

沒用匯編說明你的修行還不到家。
回復

使用道具 舉報

ID:285258 發表于 2025-9-7 23:35 | 顯示全部樓層
檢查你的代碼除了main.c文件是否還有其它你自己在其他代碼編輯器里面新建的c文件在IDE里忘記把其他c文件添加到項目里了。如果寫了多個c文件但是沒有把使用到的c文件添加到IDE的project items列表里也會有這樣的報錯。
回復

使用道具 舉報

ID:879809 發表于 2025-9-8 13:41 | 顯示全部樓層
copower 發表于 2025-9-7 23:35
檢查你的代碼除了main.c文件是否還有其它你自己在其他代碼編輯器里面新建的c文件在IDE里忘記把其他c文件添 ...

不可能是你說的問題,那會先報多重符號定義錯誤。
回復

使用道具 舉報

ID:1161878 發表于 2025-10-21 17:58 | 顯示全部樓層
protoblue 發表于 2024-3-18 11:28
uint32_t VECT_SRAM_TAB[48]__attribute__((section(".RW_IRAM1.__at_0x20000000")));
出錯代碼替換成上邊 ...

我也是這樣解決的不過為啥啊
回復

使用道具 舉報

ID:1161878 發表于 2025-10-21 17:59 | 顯示全部樓層
電子蟋蟀 發表于 2024-3-18 11:27
這個應該是分散加載文件中的分段對應不上。把ARM替換成RW_IRAM1就可以了。即uint32_t VECT_SRAM_TAB[48]__a ...

這是什么原因導致的
回復

使用道具 舉報

ID:879809 發表于 2025-10-24 16:17 | 顯示全部樓層

你要查看sct文件才可以找到問題。
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表