完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
有两个问题:
问题1. 程序在裸机情况下, 我用的是 arm-none-eabi-gcc 工具链, 里面的 malloc 是 Newlib-Nano 实现的, 现在的问题是, 去哪里设定 malloc的最大 stack 的大小? 是不是在 startup_M451Series.S 里修改? 针对问题1. 我看到此文件有以下内容: ============================= #ifdef __STACK_SIZE .equ Stack_Size, __STACK_SIZE #else .equ Stack_Size, 0x00000800 ============================= #ifdef __HEAP_SIZE .equ Heap_Size, __HEAP_SIZE #else .equ Heap_Size, 0x00000100 于是我修改了那个文件的 0x00000800和 0x00000100这两个值, 最后编译出来的hex的md5(哈希校验值) 跟改之前编译的hex的md5 一样, 我就在想, 会不是是哪里定义了这两个变量(__STACK_SIZE和 __HEAP_SIZE), 导致我这里改了也没用. 于是我全局查找关键字, 也没查到哪里定义了这两个宏.... 这就奇怪了, 我改了代码, 可是编译后的hex跟改前的竟然一模一样. 为了排除 makefile 写漏了依赖, 我把所有目标删除, 从 0 开始编译. 结果也是一样, hex 没有任何不同. 问题2. 请问这个 __STACK_SIZE __HEAP_SIZE到底在哪定义了? 谢谢各位大侠~ |
|
相关推荐
|
|
只有小组成员才能发言,加入小组>>
613浏览 3评论
480浏览 2评论
351浏览 1评论
365浏览 1评论
336浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-6 02:28 , Processed in 0.477143 second(s), Total 65, Slave 59 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号