你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

求大神帮我解决调试问题

[复制链接]
zi约 提问时间:2017-8-5 16:19 /
阅读主题, 点击返回1楼
收藏 评论41 发布时间:2017-8-5 16:19
41个回答
zi约 回答时间:2017-8-5 17:39:59
这个是不是有问题啊,直接跳过不执行。。。。。
七哥 回答时间:2017-8-5 17:47:08
142729ri6xwwxxd626d3ce.jpg
zi约 回答时间:2017-8-5 17:51:08
toofree 发表于 2017-8-5 17:26
你用的什么芯片?RAM空间从哪开始,到哪结束,有多大?
看一下你编译生成的map文件,都占用哪些内存空间了 ...

我用的STM32F031芯片,RAM从0x20000000到0x20000ffc
七哥 回答时间:2017-8-5 17:54:01
要避开系统已使用的RAM,这些是不能随便写的。
只能写系统未使用的RAM
zi约 回答时间:2017-8-5 18:27:10

按照你的方法试了还不行,不晓得有没可能是RAM_END有问题,但我的地址跟你的差不多类似,应该又没问题,我是STM32F031的,我那个仿真的界面的RAM地址就是0x20000000,大小:0x1000
zhao.zhao 回答时间:2017-8-6 09:54:46
p是怎么定义的?
zhao.zhao 回答时间:2017-8-6 09:59:13
把p 定义改成uint8_t  *p;
然后赋值改为  *p= (uint8_t)i;
试试看
zi约 回答时间:2017-8-6 16:20:03
zhao.zhao 发表于 2017-8-6 09:59
把p 定义改成uint8_t  *p;
然后赋值改为  *p= (uint8_t)i;
试试看

我的是uint32_t的,定义八位肯定不对吧,指的地址是32位的
zhao.zhao 回答时间:2017-8-6 16:35:39
*p一次获得4个字节的值,p++指向地址按字节计算应该在4个字节之后;而for循环中写的地址看上去是以字节为单位的
zi约 回答时间:2017-8-6 16:41:36
zhao.zhao 发表于 2017-8-6 16:35
*p一次获得4个字节的值,p++指向地址按字节计算应该在4个字节之后;而for循环中写的地址看上去是以字节为单 ...

这个我单步过了,是正常的写的地址。。。还有,感觉没懂你的意思
zhao.zhao 回答时间:2017-8-6 16:47:23
单步看p的值,还有直接内存操作,你可能会改变堆栈里的一些重要信息,导致程序死机
zhao.zhao 回答时间:2017-8-6 16:48:33
我也复制下来试试
zi约 回答时间:2017-8-6 17:02:06
看得内存地址是不是读写正常。。。
zi约 回答时间:2017-8-6 17:06:53
这是完整的那个函数。。。
zhao.zhao 回答时间:2017-8-6 17:11:55
我刚试过,完全没问题,不过我试的是个小程序,全局变量很少,堆栈也不大,在写之前,0x20001000-0x20001fff内全部为0,执行后都是55 AA 55 AA ...... 完全符合小模式存储规律。运行过了后,初始化LCD显示屏,串口,串口发送接收数据,显示数据,定时器都工作的很好。

评分

参与人数 1ST金币 +2 收起 理由
zero99 + 2

查看全部评分

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版