历史上的今天
返回首页

历史上的今天

今天是: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
#

需要编译的文件放在上面


推荐阅读

史海拾趣

Amphenol(安费诺)公司的发展小趣事

Amphenol Corporation,通常简称为Amphenol,是一家全球领先的连接技术公司,提供广泛的连接器解决方案,涵盖了航空航天、汽车、通信、工业、医疗和军事等多个领域。以下是关于Amphenol公司发展的五个相关故事:

  1. 创立与起步阶段:Amphenol公司成立于1932年,总部位于美国康涅狄格州沃拉姆。最初,公司致力于生产无线电连接器,并通过不断的创新和技术改进,逐步发展成为连接器行业的领导者之一。在第二次世界大战期间,Amphenol公司为美国军队提供了大量的军用连接器,为公司的发展奠定了坚实的基础。

  2. 技术创新与产品多样化:随着电子技术的不断进步和市场需求的不断变化,Amphenol公司不断进行技术创新,拓展产品线的多样性。除了传统的连接器产品,公司还开发了许多新型连接器,如光纤连接器、高速数据连接器、环境密封连接器等,以满足不同行业的需求。

  3. 全球化发展与市场拓展:Amphenol公司在全球范围内建立了广泛的销售网络和生产基地,实现了全球化布局和市场覆盖。公司在美国、欧洲、亚洲和其他地区设有多个生产工厂和研发中心,为客户提供当地化的服务和支持。通过不断扩大市场份额和提升产品质量,Amphenol公司成为了全球连接器市场的主要参与者之一。

  4. 客户合作与定制化解决方案:Amphenol公司与客户建立了紧密的合作关系,根据客户的需求和应用场景,提供定制化的连接器解决方案。公司的工程团队与客户共同设计和开发符合特定要求的产品,为客户提供专业化和个性化的服务。这种定制化解决方案能够满足客户多样化的需求,增强了公司在市场上的竞争优势。

  5. 质量管理与持续改进:Amphenol公司高度重视产品质量管理,严格遵循国际质量管理体系标准。公司的生产工艺和质量管理体系通过了ISO 9001质量管理体系认证,并持续进行质量改进和技术创新。此外,Amphenol公司的产品还通过了各种行业认证和标准,如航空航天领域的AS9100认证等,确保产品的可靠性和稳定性。

这些故事展示了Amphenol公司从创立初期到如今在技术创新、产品多样化、全球化发展、客户合作与定制化解决方案以及质量管理与持续改进等方面取得的重要进展。

Carlo Gavazzi公司的发展小趣事

随着技术的不断进步和市场需求的不断变化,Carlo Gavazzi公司始终保持着创新的活力。公司不断推出新产品,从最初的电气元件到后来的控制和自动化解决方案,再到能源管理和节能方案,产品线日益丰富。这种多元化的产品策略不仅满足了客户的多样化需求,也为公司带来了更广阔的市场空间。

aconno公司的发展小趣事

品质是aconno公司发展的基石。公司从一开始就注重产品质量和用户体验,从原材料采购到生产工艺,再到产品测试,每一个环节都严格把关。这种对品质的坚持,使得aconno的产品在市场上赢得了良好的声誉。同时,公司还建立了完善的售后服务体系,为用户提供及时、专业的技术支持,进一步增强了用户的信任度和忠诚度。

ECS公司的发展小趣事

ECS公司始终坚持以客户为中心的服务理念。他们深入了解客户的需求和痛点,为客户量身定制解决方案。例如,针对某些行业对数据安全性的特殊要求,ECS公司推出了专用的安全加密方案;针对一些大型企业对于大规模计算资源的需求,ECS公司提供了定制化的高性能计算服务。这些定制化服务不仅满足了客户的特殊需求,还增强了客户对ECS公司的信任和忠诚度。

Analogic Corporation公司的发展小趣事

为了进一步扩大市场份额,ECS公司开始积极拓展全球市场。他们与全球各地的云服务提供商建立了紧密的合作关系,共同为客户提供更加全面、便捷的服务。同时,ECS公司还积极参加国际云计算展会和论坛,与国际同行交流经验和技术,不断提升自身的竞争力。通过这些努力,ECS公司的品牌知名度和市场份额得到了显著提升。

CWIND公司的发展小趣事

在电子行业的早期阶段,CWIND公司以其卓越的技术研发能力脱颖而出。公司创始人张先生带领一支由资深工程师组成的团队,针对当时市场上电子产品普遍存在的功耗高、性能不稳定等问题,进行了深入研究。经过数月的努力,他们成功研发出了一款低功耗、高性能的芯片,这款芯片在市场上迅速获得了认可,为CWIND公司打开了市场的大门。随着技术的不断迭代和更新,CWIND逐渐在电子行业中建立了自己的技术壁垒。

问答坊 | AI 解惑

DSP入门需要注意的事项

开始入门DSP的一些注意事项 本文来自于HELLODSP。 在作硬件之前,需要看的资料有: 1.芯片数据手册,描述该器件的引脚信号、片上资源、电气指标和机械特性(如封装等),在做硬件前必看(TMS320F281x数据手册SPRS174J) 2.某一系列DSP的CPU和指 ...…

查看全部问答>

29款AVR论文全集

29款AVR论文全集 …

查看全部问答>

请问,常用的定位芯片有哪些?谢谢!

     请教各位,常用定位芯片有哪些。我现在打算做一个与无线网络有关的东西。要在上位机上得到网络中每个zigbee模块的具体位置,当zigbee模块的位置发生变化时,上位机软件上各个节点的相对位置也会发生改变。但是我的zigbee ...…

查看全部问答>

第一次搞嵌入,问几个简单的问题。每次只能100分,就分开问了。问题1

环境是有个bs架构的程序,数据库是oracle10g,需要一个pda做一些辅助工作。 因此,需要开发一个pda上的一个程序,pda操作系统wince5,开发工具vs2005,语言c#,数据库据说只能用sql ce。 每次用pda前,都需要与oracle同步数据,是不是需要做一个p ...…

查看全部问答>

有这样的STM32吗?

请推荐个STM32 或者别的 :有 CAN,UART,至少60个GPIO。。。跑好ucos-ii,最好不要 BGA封装的。呵呵,,,,请问1K片的价格是多少,开发板的价格呢?我初步选了个 STM32F103V8T6 。。。…

查看全部问答>

LM3S8962 NRF24L01 收发

最近做一个LM3S8962控制的NRF24L01 收发模块,移植了51的代码 结果出现很多问题 论坛里也没找到相关帖子,各位大侠有谁做过这个模块 望不吝赐教 最好有源代码 比较相近的也行 多谢啦!! [ 本帖最后由 CC_心雨 于 2011-4-11 17:23 编辑 ]…

查看全部问答>

达芬奇DM812xIP网络摄像机参考设计

$(\'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格式数据。我已经知道对一个单个的量怎么样进行标幺化,即就是除以基值,但是现在的问题是对这样一个系统我不 ...…

查看全部问答>