Flash空间问题

[复制链接]
1865|6
 楼主| dfsa 发表于 2013-2-20 09:19 | 显示全部楼层 |阅读模式
最近发现一个问题,MPLAB编译出来的hex只有97KB,flash有128KB,但是下载进去以后,程序已经跑不起来了,简单去掉几行代码以后又可以了,初步判断是FLASH的空间不够了,但是hex转为bin以后只有35KB左右,远远未到FLASH的上限,这是为何?
xsgy123 发表于 2013-2-20 09:33 | 显示全部楼层
你确认你烧写的文件和操作没有问题?烧写的设置没有问题?
秋天落叶 发表于 2013-2-20 09:44 | 显示全部楼层
flash在运行用户程序时相当于是个ROM,但内存也就是RAM需要作为堆和栈来保存运行时的数据。另外如果有全局静态变量或局部静态变量也会在RAM中存放的。
baidudz 发表于 2013-2-20 09:53 | 显示全部楼层
你的FLASH足够放下代码,但在运行时,RAM可能会不够,你查一下是不是在代码里面用了很大的内存空间,有时一句代码就可以占用很大的空间的,你也可以用调试器查一下程序是死到哪了。

另外,有没有可能不是RAM不够的问题,而是你自己的代码逻辑问题,在运行时出现了错误。
firstblood 发表于 2013-2-20 18:18 | 显示全部楼层
128K是整体的空间吧,这还包括其他的用途的,而真正存放代码的空间是小于128K的
comeon201208 发表于 2013-2-21 17:51 | 显示全部楼层
看下这个单片机的flash空间结构图的就可明了了啊

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
smilingangel 发表于 2013-2-25 13:21 | 显示全部楼层
程序当中若有死循环的话也会出现这问题的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

282

主题

2404

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部