完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我有一个关于 STM32CubeIDE 生成的链接描述文件的一般性问题。
大多数情况下,STACK 和 HEAP 一起放置在“相同”的内部 SRAM 中(参见 .user_heap_stack 示例部分以进行演示)。 注意:是的,区域有可能重叠,但这是我不想在这里讨论的事情。 ._user_heap_stack : { . =对齐(8); 提供(结束=。); 提供 (_end = .); . =。+ _Min_Heap_Size; . =。+ _Min_Stack_Size; . =对齐(8); } > RAM_D1 我想将一些关键数据、静态变量等以及 STACK 指针放入 DTCRAM 区域。然而,堆在我们的应用程序中并没有被如此频繁地使用,因此我想把它放在一个较慢的区域,例如 RAM_D2/3。 我想这应该是可能的,对吧? 如果我这样做,我假设我可以摆脱链接描述文件中的“. = . + _Min_Stack_Size;”语句,因为堆栈现在与堆分离了? 此外,我假设我还需要修改 sbrk() 函数,它是 malloc 调用的基本部分,因为对从 STACK handling 派生的链接器符号有一些依赖性。那是对的吗? 我们是否有一个可用的工作示例来处理 STACK 和 HEAP 的解耦? |
|
相关推荐
1个回答
|
|
你解决了吗?
确保堆栈指针设置在 RAM_D1 的末尾:
最低地址 最高地址 .data .bss newlib 堆栈 查看 sysmem.c 中的第 68-73 行:
|
|
|
|
只有小组成员才能发言,加入小组>>
请教:在使用UDE STK时,单片机使用SPC560D30L1,在配置文件怎么设置或选择?里面只有SPC560D40的选项
2732 浏览 1 评论
3241 浏览 1 评论
请问是否有通过UART连接的两个微处理器之间实现双向值交换的方法?
1810 浏览 1 评论
3650 浏览 6 评论
6038 浏览 21 评论
1339浏览 4评论
200浏览 3评论
对H747I-DISCO写程序时将CN2的st-link复用为usart1,再次烧录时无法检测到stlink怎么解决?
350浏览 2评论
STM32G474RE芯片只是串口发个数据就发烫严重是怎么回事?
442浏览 2评论
STM32处理增量式编码器Z信号如何判断中断是正转的还是反向转的?
273浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-23 15:33 , Processed in 1.086880 second(s), Total 46, Slave 39 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号