发新帖我要提问
12
返回列表
打印

使用KEIL编译后出现一块区域FFFFFFFF DCD 0xFFFFFFFF

[复制链接]
楼主: killer523
手机看帖
扫描二维码
随时随地手机跟帖
21
killer523|  楼主 | 2013-1-12 11:45 | 只看该作者 回帖奖励 |倒序浏览
uet_cache 发表于 2013-1-12 11:42
你可以把前面的屏掉,只做个最简单的串口发送,也不用加延时,,说白了,分段屏蔽程序去找问题 ...

我把整个项目中的功能删除一部分则剩余部分运行都正常,把删除的这部分单独测试页正常,好似当程序多到一定程度就出错,现在程序编译后是41K,不含字库。当在30K左右的时候一切正常

使用特权

评论回复
22
uet_cache| | 2013-1-12 11:47 | 只看该作者
呵呵,调试东西就是这样啦,有时很奇怪,有时,是一个很小的问题,更有时,就是一个语句写错位置。。总之,调试,需要时间,需要感觉,还需要经验。编程中要高度集中精神,每个逻辑不能错,才能一步到位,减少调试时出现问题的可能性。。

使用特权

评论回复
23
uet_cache| | 2013-1-12 11:50 | 只看该作者
你可以看下空间分配,MAP文件,检查有没超出空间。。

使用特权

评论回复
24
killer523|  楼主 | 2013-1-12 11:56 | 只看该作者
uet_cache 发表于 2013-1-12 11:50
你可以看下空间分配,MAP文件,检查有没超出空间。。

好,我先看看这个文件,以前没看过,需要点时间

使用特权

评论回复
25
killer523|  楼主 | 2013-1-12 12:00 | 只看该作者
uet_cache 发表于 2013-1-12 11:50
你可以看下空间分配,MAP文件,检查有没超出空间。。

不是很会看,
应该看什么?

使用特权

评论回复
26
uet_cache| | 2013-1-12 12:02 | 只看该作者
针对芯片手册的存储空间分配图跟MAP文件的地址分配作比较,,,

使用特权

评论回复
27
uet_cache| | 2013-1-12 12:03 | 只看该作者
或者你的OPTION配置中FLASH选项有没对,,

使用特权

评论回复
28
killer523|  楼主 | 2013-1-12 12:05 | 只看该作者
uet_cache 发表于 2013-1-12 12:03
或者你的OPTION配置中FLASH选项有没对,,

这个对,我核对过

使用特权

评论回复
29
killer523|  楼主 | 2013-1-12 15:59 | 只看该作者
经过多次试验发现,程序编译后总是有一块区域被编译成FFFFFFFF DCD 0xFFFFFFFF,程序执行到这里就进handler。

使用特权

评论回复
30
killer523|  楼主 | 2013-1-12 16:43 | 只看该作者
问题已解决,是自己犯了一个低级错误导致的,以前用到了内部FLASH的读写操作,将FLASH中的一部分用作内部数据存贮,后来换了型号了,原来定义的FLASH位置为32K处,现在程序已经超过32K,所以导致错误频出。郁闷了N久,谢谢uet_cache的耐心指点。

使用特权

评论回复
31
eydj2008| | 2013-1-12 21:30 | 只看该作者
哪里有 M3的汇编指令  突然想用汇编来写程序了

使用特权

评论回复
32
killer523|  楼主 | 2013-1-12 21:45 | 只看该作者
cortex m3权威指南有

使用特权

评论回复
33
z755924843| | 2013-10-22 13:30 | 只看该作者
killer523 发表于 2013-1-12 11:45
我把整个项目中的功能删除一部分则剩余部分运行都正常,把删除的这部分单独测试页正常,好似当程序多到一 ...

谢谢楼主 我最近也碰见了这个问题。与你是相似的原因引起的,谢谢了。

使用特权

评论回复
34
liuer111111| | 2014-11-12 14:59 | 只看该作者
解决了吗?我也是串口通讯发送了28个数据之后就进入硬件异常一场函数了,检查LR寄存器中的值为0xfffffffd,不晓得怎么解决了

使用特权

评论回复
35
killer523|  楼主 | 2014-11-21 10:27 | 只看该作者
解决了,是我开辟的FLASH存储区起始位置太小,覆盖了程序

使用特权

评论回复
36
zhuhangwenshang| | 2015-6-24 21:18 | 只看该作者
killer523 发表于 2014-11-21 10:27
解决了,是我开辟的FLASH存储区起始位置太小,覆盖了程序

你好,怎么更改FLASH存储区起始位置,我也遇到了这个问题

使用特权

评论回复
37
zhuhangwenshang| | 2015-6-24 21:19 | 只看该作者
killer523 发表于 2014-11-21 10:27
解决了,是我开辟的FLASH存储区起始位置太小,覆盖了程序

你好,怎么更改FLASH存储区起始位置,我也遇到了这个问题

使用特权

评论回复
38
mintspring| | 2015-6-25 21:33 | 只看该作者
感觉好复杂呀,这么麻烦

使用特权

评论回复
39
killer523|  楼主 | 2015-7-30 15:30 | 只看该作者
zhuhangwenshang 发表于 2015-6-24 21:18
你好,怎么更改FLASH存储区起始位置,我也遇到了这个问题

存储的时候你肯定是定义了存储区域的起始地址,修改这个地址即可

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则