Keil编译器环境下,如何自行清理RAM

2020-01-14 19:00发布

如题,KEIL环境下把启动文件删掉后,自己清理RAM怎么清理。
因为让编译器自行清零RAM的话,如果发生看门狗复位,MCU也会自动清理RAM。我想实现的功能是,上电后自行清理一次RAM,如果发生看门狗复位,则不清理。
我现在用的芯片是中颖的79F3283,跟中颖的技术支持联系过,他们说把启动文件删除掉不会有影响,删掉后就不会自动清理了。然后我刚刚写了一段,仿真时软件
在第一个for循环里面陷入了死循环,这个功能能应该怎么实现。网上搜了好久也没查到什么有用的资料。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
19条回答
夜尽天明
1楼-- · 2020-01-15 10:36
wctmdgcd 发表于 2017-11-24 19:01
楼主能写这样的代码进行清ram,难道对堆栈等东西完全没概念?

以前用其他的芯片习惯性在使用前把RAM,自己清理一遍。
夜尽天明
2楼-- · 2020-01-15 11:18
EMC菜鸟 发表于 2017-11-24 16:51
如果是 keil 环境下,是不是可以把启动文件加入到自己的项目中(同时复制到项目文件夹下),然后改写之?

...

具体怎么修改的,能看下吗
wctmdgcd
3楼-- · 2020-01-15 16:36
夜尽天明 发表于 2017-11-25 08:53
我跟中颖的工程师咨询过,他们说启动文件里面处理堆栈的功能没什么作用,可以直接把启动文件删掉。
我直 ...

你这段清ram的程序是由main来调用的吧?调用前会把pc指针压栈的,
那你清ram的时候岂不是把压到堆栈的pc指针也一起给干掉了吗?
夜尽天明
4楼-- · 2020-01-15 21:19
 精彩回答 2  元偷偷看……
wctmdgcd
5楼-- · 2020-01-15 22:53
夜尽天明 发表于 2017-11-25 10:44
有点明白了,我原来用的芯片里面有个专用的堆栈指针,用户是不能直接读写堆栈指针的,所以我直接清 ...

编译不通过是因为你写法不对。。我也好久没写过ASM了,你可以求助一个中颖的FAE。
夜尽天明
6楼-- · 2020-01-16 04:02
wctmdgcd 发表于 2017-11-25 10:52
编译不通过是因为你写法不对。。我也好久没写过ASM了,你可以求助一个中颖的FAE。 ...

跟中颖的两个FAE搞了两天多,也没搞出个什么名堂,还是自己想办法算了!

一周热门 更多>