keil中的memory model

这两天仿真遇到的怪事真的是一大堆。

还是读写Flash的代码。keil编译OK,但是仿真就是莫名其妙地挂掉出现一些乱七八糟的事情。

后面发现是keil 中的memory model勾选错了,勾选的是large模式,应该勾选small模式。

上网查了一下large small的区别。

Small:变量存储在内部ram里;small模式下,再入函数的堆栈是设在idata中的 

Compact:变量存储在外部ram里,使用页8位间接寻址; compact模式下,再入函数堆栈是设在pdata中的

Large:变量存储在外部Ram里,使用16位间接寻址;

 

然而错误找到了,为什么勾选large模式会对Flash有影响还是不清楚= =

 

posted on 2017-02-27 11:30  猫咪大王  阅读(1174)  评论(0编辑  收藏  举报