STM8的栈
来源: 芯艺
本站广告
  ENC28J60+uIP DHCP动态获取IP及UDP广播服务端示例
  ENC28J60+uIP 基于TCP的MODBUS IO示例
  C720H5上实现MODBUS远程IO
  ENC28J60+uIP HTTP GET方式将温度数据上传到web服务器
  FM1702读写S50(也叫M1)卡相关资料

STM8的栈是向下增长的,所以一般都会初始指向到RAM的最后,这与avr相似,通常现代单片机都这么设计,这样对ram的利用起来方便很多。因为全局变量都会从ram的起始地址开始分配,这样有利于栈指针和已使用ram之间的距离保持最大。

cosmic编译器如果不指定lkf文件(project -> settings... -> linker -> input 下组合框选 auto项时),那么自动生成的lkf文件里有一项:

# Defines - section reserved for STVD
#<BEGIN DEFINED_VARIABLES>
+def __endzp=@.ubsct      # end of uninitialized zpage
+def __memory=@.bss        # end of bss segment
+def __startmem=@.bss        # end of bss segment
+def __endmem=0x1ff
+def __stack=0x3ff
#<END DEFINED_VARIABLES>

这个是一个stm8s103f3的项目,STM8S103F3的ram只有1024字节所以stack初值配置成0x3ff(1023),即ram是最后一字节。


声明:芯艺工作室(http://www.chipart.cn)保留所有权力,转载请注明出处!

芯艺工作室    蒙ICP备06005492号

Copyright© 2004-2022 ChipArt Studio All Rights Reserved