历史上的今天
今天是:2025年06月18日(星期三)
2018年06月18日 | STM8全局变量溢出问题解决
2018-06-18 来源:eefocus
1、变量存储空间结构
STM8S105系列CPU的RAM地址范围为0~0x7FF的2K空间,其中默认将高512字节分配给堆栈,剩下0~0x5FF字节为变量存储空间 。在0~0x5FF的空间范围内,低256字节被定义为Zero page,其中包括.bsct,.ubsct,.bit,.share,各段的含义如下:
可见, 当segment .ubsct overflow错误出现时, 应该是低0~FF段空间出现溢出
cosmic默认将所有变量存储在zero page段, 如要将变量置于0x100~0x5FF的空间里, 需要将变量前添加@near的申明, 如同idata的功能
通常将所有全局变量都加上@near申明, 以放置在zero page外的存储空间
ir.lkf
# Segment Zero Page:
+seg .bsct -b 0x0 -m 0x2f -n .bsct
+seg .ubsct -a .bsct -n .ubsct
+seg .bit -a .ubsct -n .bit -id
+seg .share -a .bit -n .share -is
# Segment Ram:
+seg .data -b 0x2f -m 0x600 -n .data
+seg .bss -a .data -n .bss
@加上@near表示放在0x2f-0x600之间。
不加上@near表示放在0x00-0x2f之间。
# Object files list - section reserved for STVD
#
Debug\alloter.o
Debug\comfunc.o
Debug\dev_ctrl.o
Debug\smart_plc.o
Debug\protocol.o
Debug\update.o
Debug\main.o
Debug\stm8s_flash.o
Debug\stm8s_tim1.o
Debug\stm8s_tim3.o
Debug\stm8s_tim4.o
Debug\stm8s_rst.o
Debug\stm8s_adc1.o
Debug\encode.o
Debug\task.o
Debug\state_synchronization.o
#
需要编译的文件放在上面
下一篇:STM8四路PWM配置
史海拾趣
|
开始入门DSP的一些注意事项 本文来自于HELLODSP。 在作硬件之前,需要看的资料有: 1.芯片数据手册,描述该器件的引脚信号、片上资源、电气指标和机械特性(如封装等),在做硬件前必看(TMS320F281x数据手册SPRS174J) 2.某一系列DSP的CPU和指 ...… 查看全部问答> |
|
请教各位,常用定位芯片有哪些。我现在打算做一个与无线网络有关的东西。要在上位机上得到网络中每个zigbee模块的具体位置,当zigbee模块的位置发生变化时,上位机软件上各个节点的相对位置也会发生改变。但是我的zigbee ...… 查看全部问答> |
|
第一次搞嵌入,问几个简单的问题。每次只能100分,就分开问了。问题1 环境是有个bs架构的程序,数据库是oracle10g,需要一个pda做一些辅助工作。 因此,需要开发一个pda上的一个程序,pda操作系统wince5,开发工具vs2005,语言c#,数据库据说只能用sql ce。 每次用pda前,都需要与oracle同步数据,是不是需要做一个p ...… 查看全部问答> |
|
请推荐个STM32 或者别的 :有 CAN,UART,至少60个GPIO。。。跑好ucos-ii,最好不要 BGA封装的。呵呵,,,,请问1K片的价格是多少,开发板的价格呢?我初步选了个 STM32F103V8T6 。。。… 查看全部问答> |
|
最近做一个LM3S8962控制的NRF24L01 收发模块,移植了51的代码 结果出现很多问题 论坛里也没找到相关帖子,各位大侠有谁做过这个模块 望不吝赐教 最好有源代码 比较相近的也行 多谢啦!! [ 本帖最后由 CC_心雨 于 2011-4-11 17:23 编辑 ]… 查看全部问答> |
|
$(\'swf_Na9\').innerHTML=AC_FL_RunContent(\'width\', \'550\', \'height\', \'400\', \'allowNetworking\', \'internal\', \'allowScriptAccess\', \'never\', \'src\', encodeURI(\'http://player.youku.com/player.php/sid/XMjY3NzUwOTk2/v.sw ...… 查看全部问答> |
|
#include <msp430x14x.h> #define uint unsigned int#define uchar unsigned char uchar RX1Flag=0;//接收完成标志uchar TX1Flag=0;//发送中断标志uchar RX1_BUF[];uchar TX1_BUF[];uint RX1_Len;uint TX1_Len; void Init_UART1(void){  ...… 查看全部问答> |
|
大家好,我现在在做DSP2812控制的三相PWM整流双闭环控制控制,在编程的时候我看到很多人都说先要对系统进行标幺化处理,然后再定标变成Q格式数据。我已经知道对一个单个的量怎么样进行标幺化,即就是除以基值,但是现在的问题是对这样一个系统我不 ...… 查看全部问答> |




