完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
我需要的页面位于闪存的扇区2和扇区3中,因此不在闪存区域的末尾。所以我需要这样的东西: MEMORY{RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 128KCCMRAM (rw) : ORIGIN = 0x10000000, LENGTH = 64KFLASH (rx) : ORIGIN = 0x8000000, LENGTH = 32kEMULATED_EEPROM (rwx) : ORIGIN = 0x8008000 LENGTH=2*16kFLASH (rx) : ORIGIN = 0x8008000+2*16k, LENGTH = 1024k-(32k+2*16k)}但是这个。不起作用。如何调整链接描述文件以实现闪存的分区预留?
|
|
相关推荐
2个回答
|
|
|
你的代码非常接近,只要给他们不同的名字,并确保一切都在正确的地方。
你可以在那里添加一个额外的部分 ,但它需要特别标记代码中的内容,IMO不值得花费1.5%的总闪存。 作为旁注,这样的设置往往会混淆我的调试器(不知道它是GDB本身还是QtCreator给GDB错误的数据)所以我最终使用不同的链接描述文件进行调试。 MEMORY { RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 128K CCMRAM (rw) : ORIGIN = 0x10000000, LENGTH = 64K FLASH_BOOT (rx) : ORIGIN = 0x8000000, LENGTH = 32k EMULATED_EEPROM (rwx) : ORIGIN = ORIGIN(FLASH_BOOT) + LENGTH(FLASH_BOOT), LENGTH=2*16k FLASH (rx) : ORIGIN = ORIGIN(EMULATED_EEPROM) + LENGTH(EMULATED_EEPROM), LENGTH = 1024k - LENGTH(FLASH_BOOT) - LENGTH(EMULATED_EEPROM) } SECTIONS { .isr_vector : { . = ALIGN(4); KEEP(*(.isr_vector)) /* Startup code */ . = ALIGN(4); } >FLASH_BOOT /* The program code and other data goes into FLASH */ .text : { . = ALIGN(4); *(.text) /* .text sections (code) */ *(.text*) /* .text* sections (code) */ *(.glue_7) /* glue arm to thumb code */ *(.glue_7t) /* glue thumb to arm code */ *(.eh_frame) KEEP (*(.init)) KEEP (*(.fini)) . = ALIGN(4); _etext = .; /* define a global symbols at end of code */ } >FLASH } |
|
|
|
|
|
你可以尝试(从未测试过自己)
MEMORY { RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 128K CCMRAM (rw) : ORIGIN = 0x10000000, LENGTH = 64K FLASH_1 (rx) : ORIGIN = 0x8000000, LENGTH = 32k EMULATED_EEPROM (rwx) : ORIGIN = 0x8008000 LENGTH=2*16k FLASH (rx) : ORIGIN = 0x8008000+2*16k, LENGTH = 1024k-(32k+2*16k) } .text2 : { ... } >> FLASH_1 .isr_vector : { . = ALIGN(4); KEEP(*(.isr_vector)) /* Startup code */ . = ALIGN(4); } >FLASH_1 但是要在text2部分中放置任何内容(例如某些函数),您必须使用它们进行声明 __attribute__ ((section ("text2"))) |
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
STM32F405驱动DS1302时钟模块,输出时间错乱该怎么排查?
2810 浏览 2 评论
stm32f405rgt6驱动DS1302ZN出现时间错乱问题
2420 浏览 1 评论
stm32用fsmc读取ad7606采集数据,数据不变,只有开发版复位才更新数据
2288 浏览 0 评论
2404 浏览 1 评论
1643 浏览 1 评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 09:51 , Processed in 0.580792 second(s), Total 46, Slave 39 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
1356