8051 扩展内存
2021-08-25 本文已影响0人
Lupino
8051 单片机的内存最大的只有 256 B 而扩展内存却可以很大。
我们可以通过关键字 __xdata 将数据放到扩展内存上面。
要让内存正常的使用我们需要自动堆栈,编译器加上 —stack-auto 即可。
我们初步使用的时候,误以为内存可以很大,所以就去研究 sdcc 编译器的源码,发现 8051 单片机的内存被限制在 128 ~ 256,这么限制必然有它的道理,也就是 8051 CPU 只能用到 256 B 的内存。
当我们意识到问题的所在时,就去研究 扩展内存的使用,在查找资料后,发现了正确的使用方法,但是编译编译上还是有问题,乱加编译参数后,有一个刚好成功编译。
事后我们知道了是怎么回事,这也使得我们对 8051 的使用进一步加深。