这两天仿真遇到的怪事真的是一大堆。
还是读写Flash的代码。keil编译OK,但是仿真就是莫名其妙地挂掉出现一些乱七八糟的事情。
后面发现是keil 中的memory model勾选错了,勾选的是large模式,应该勾选small模式。
上网查了一下large small的区别。
Small:变量存储在内部ram里;small模式下,再入函数的堆栈是设在idata中的
Compact:变量存储在外部ram里,使用页8位间接寻址; compact模式下,再入函数堆栈是设在pdata中的
Large:变量存储在外部Ram里,使用16位间接寻址;
然而错误找到了,为什么勾选large模式会对Flash有影响还是不清楚= =