PIC单片机的flash空间问题

snowboyfly 2012-12-28 11:50:52
最近发现一个问题,MPLAB编译出来的hex只有97KB,flash有128KB,但是下载进去以后,程序已经跑不起来了,简单去掉几行代码以后又可以了,初步判断是FLASH的空间不够了,但是hex转为bin以后只有35KB左右,远远未到FLASH的上限,这是为何?
...全文
518 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
maoyanlong88 2013-02-18
  • 打赏
  • 举报
回复
snowboyfly 2012-12-28
  • 打赏
  • 举报
回复
谢谢楼上细心的解答,是自己的疏忽,MPLAB的设置有误,我查了一下 programmer-->setting中有program memroy range里设置的值太小了,我改为full range就可以了
lr2131 2012-12-28
  • 打赏
  • 举报
回复
这个问题,你确认你烧写的文件和操作没有问题?烧写的设置没有问题?你有没有查一下是不是你的RAM不够哇。flash在运行用户程序时相当于是个ROM,但内存也就是RAM需要作为堆和栈来保存运行时的数据。另外如果有全局静态变量或局部静态变量也会在RAM中存放的。 你的FLASH足够放下代码,但在运行时,RAM可能会不够,你查一下是不是在代码里面用了很大的内存空间,有时一句代码就可以占用很大的空间的,你也可以用调试器查一下程序是死到哪了。 另外,有没有可能不是RAM不够的问题,而是你自己的代码逻辑问题,在运行时出现了错误。

27,375

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
  • 单片机/工控社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧