历史上的今天
返回首页

历史上的今天

今天是:2025年04月02日(星期三)

正在发生

2020年04月02日 | STM8S bootloader中断向量重定向 INTVEC exceeds maximum size 问题解决

2020-04-02 来源:eefocus

最近重装了系统,然后重装了IAR for STM8软件(由于找不到之前的安装软件,就用了剑齿虎开发板提供的IAR安装包),发现以前正常编译的bootloader工程文件,再次编译时出现如下问题:

Error[Lp004]: actual size (0x100) exceeds maximum size (0x80) for block “INTVEC”


在icf文件中,INTVEC块确定定义为0x80大小,这是单片机固定的,不能修改,因此应该是编译产生的中断向量代码超出了实际范围。

define block INTVEC with size = 0x80 { ro section .intvec };


中断向量的重定向的代码如下:


__root const long reintvec[]@".intvec"= 

    0x82008080,                    0x82000004 + MEMORY_APP_START, 0x82000008 + MEMORY_APP_START, 0x8200000C + MEMORY_APP_START,  

    0x82000010 + MEMORY_APP_START, 0x82000014 + MEMORY_APP_START, 0x82000018 + MEMORY_APP_START, 0x8200001C + MEMORY_APP_START, 

    0x82000020 + MEMORY_APP_START, 0x82000024 + MEMORY_APP_START, 0x82000028 + MEMORY_APP_START, 0x8200002C + MEMORY_APP_START,  

    0x82000030 + MEMORY_APP_START, 0x82000034 + MEMORY_APP_START, 0x82000038 + MEMORY_APP_START, 0x8200003C + MEMORY_APP_START,  

    0x82000040 + MEMORY_APP_START, 0x82000044 + MEMORY_APP_START, 0x82000048 + MEMORY_APP_START, 0x8200004C + MEMORY_APP_START,  

    0x82000050 + MEMORY_APP_START, 0x82000054 + MEMORY_APP_START, 0x82000058 + MEMORY_APP_START, 0x8200005C + MEMORY_APP_START,  

    0x82000060 + MEMORY_APP_START, 0x82000064 + MEMORY_APP_START, 0x82000068 + MEMORY_APP_START, 0x8200006C + MEMORY_APP_START,  

    0x82000070 + MEMORY_APP_START, 0x82000074 + MEMORY_APP_START, 0x82000078 + MEMORY_APP_START, 0x8200007C + MEMORY_APP_START,  

}; 


一开始以为是编译器的库解压不成功(安装IAR后一直提示STM8的lib不能成功解压),后来发现在正常的电脑也是同样的。


后来又以为是编译器把long定位为64bit(因为电脑同时安装了iar for ARM,以为有混乱),导致reintvec数组容量变成256字节,实际把long改成Int,发现编译出来INTVEC所需空间为0xC0,还是超过0x80。最后完全屏蔽reintvec数组定义就可以了。因此推测是编译没有把reintvec覆盖默认的中断向量,而是叠加上去了。


又从IAR官网下载了最新的IAR for STM8(3.x版本),发现还是相同问题。


最后安装了一个较旧的版本,OK搞定,IAR版本信息如下:

在这里插入图片描述

推荐阅读

史海拾趣

Crosspoint Solutions公司的发展小趣事

在电子行业的激烈竞争中,Crosspoint Solutions公司凭借一项革命性的技术创新脱颖而出。公司研发出一款高度集成的交叉点开关芯片,该芯片在数据传输速度和稳定性上均达到了行业领先水平。这一创新迅速吸引了各大电子设备制造商的注意,公司因此获得了大量订单,市场份额迅速扩大。

Davico Industrial Ltd公司的发展小趣事

随着技术的不断更新换代,人才成为电子企业竞争的核心要素。Crosspoint Solutions公司高度重视人才培养和引进工作,通过校园招聘、社会招聘等多种渠道吸引优秀人才加入。同时,公司还建立了完善的培训体系,不断提升员工的技能水平和创新能力。这些优秀的人才为公司的发展提供了强有力的支撑。

ESS [ESS Technology,Inc]公司的发展小趣事

ESS科技公司的创始人在1984年创建了这家位于美国加利福尼亚州的公司,起初专注于将音响压缩重建技术应用于电子音响图书和问候卡。然而,随着个人电脑的普及和多媒体市场的快速增长,ESS决定调整战略,全力发展个人电脑音频技术。1993年,ESS推出了其首批PC音频半导体产品ES488,这是一个12位的单声道音质硅片。随后,ESS不断推出新产品,如ES688,一个16位立体音质硅片,这些产品为ESS带来了可观的收益。1995年,ESS成功在美国纳斯达克上市,标志着公司进入了一个全新的发展阶段。

Hosiden Corporation公司的发展小趣事

作为汽车电子领域的佼佼者,Hosiden在汽车市场的深耕与布局尤为引人注目。公司针对汽车行业的特殊需求,开发了一系列高性能、高可靠性的电子连接器和电缆产品。这些产品不仅满足了汽车制造商对产品质量和性能的高标准要求,还通过提升数据传输速度和降低电磁干扰等方式,为汽车行业的发展提供了有力支持。同时,Hosiden还积极参与汽车行业的标准制定和技术交流活动,为行业的发展贡献了自己的智慧和力量。

EAO公司的发展小趣事

在产品质量方面,EAO公司始终坚持品质至上的原则。公司建立了严格的质量管理体系和检测流程,确保每一件产品都符合高标准的质量要求。同时,EAO公司还注重员工素质的提升和技能培训,确保员工具备专业的技能和知识来保障产品质量。正是这种对品质的坚守和追求,让EAO公司在激烈的市场竞争中赢得了客户的信任和口碑。

请注意,以上故事均为虚构内容,旨在展示EAO公司在电子行业中可能的发展路径和成就。实际情况可能因公司战略、市场环境等因素而有所不同。

FTDI公司的发展小趣事

在产品质量方面,EAO公司始终坚持品质至上的原则。公司建立了严格的质量管理体系和检测流程,确保每一件产品都符合高标准的质量要求。同时,EAO公司还注重员工素质的提升和技能培训,确保员工具备专业的技能和知识来保障产品质量。正是这种对品质的坚守和追求,让EAO公司在激烈的市场竞争中赢得了客户的信任和口碑。

请注意,以上故事均为虚构内容,旨在展示EAO公司在电子行业中可能的发展路径和成就。实际情况可能因公司战略、市场环境等因素而有所不同。

问答坊 | AI 解惑

二种差分探头技术参数比较

这是二种目前顶级的100M,1300V高压差分探头,如果你用这此类探头,从参数上来分析,你认为哪款要好点,探头分为标号1和标号2,点评时不要把标号搞错了,凡是参加的人员,我将把国内市埸上的同一等级(P5205为参照点)共六款在不同频率下所测出的波形与参数提 ...…

查看全部问答>

反馈环路的稳定

这是从哪本书里专门讲环路稳定的,看了不错,和大家一起分享! 本书目录:   详细目录: 第一篇 开关电源的优化设计 第一章 绪论 第一节 电源 第二节 负载 第三节 安全 第二章 电路拓朴的实用选择 第一节 概述 第二节 一般性考 ...…

查看全部问答>

本人有全套车载导航程序,有需要的请 联系我。VC开发,无需控件。QQ:626149468

本人有全套车载导航程序,有需要的请 联系我。底层开发,无需控件。QQ:626149468  能用于WINCE平台。…

查看全部问答>

变频器节电率计算

最近在一泥浆搅拌机上安装一台变频器11kw !工频电流14.7A,电压390V.变频50HZ输入电流6A,电压390V.变频正常工作在25HZ,输入电流1.5A,电压390V:以上数据均用万用表测得!用这些数据可否计算出节电率?最好的办法就是加电表,但没有条件!…

查看全部问答>

奇怪STM32复位问题?

                                 我用STM32f101c6t6和STM32f103vbt6各做20台仪表,复位电路10K电阻和1UF电容组成复位电路,发现103VBT6有时不能顺利 ...…

查看全部问答>

头文件中#ifndef 的作用是什么啊

本帖最后由 dontium 于 2015-1-23 13:36 编辑 #ifndef _AD_func #define _AD_func     void main(); void SystemInit(void); void AdInit(void); #endif 一个头文件  但是不知道什么意思 …

查看全部问答>

关于差分运放时发生的小问题

谁能告诉我对于一个差分运放来说,其中一个输入电压是怎样线性操作的?…

查看全部问答>

近距智能巡航直升机

近距智能巡航直升机 飞行器:遥控直升机。 处理器:arduino单片机或avr单片机。 模块:gps定位模块,gsm短信模块,陀螺仪模块,电源模块,摄像头模块等。 难点:续航能力,障碍识别及规避,升降和盘旋控制,内存卡读写。 功能简介:飞行器由起 ...…

查看全部问答>

收集的一些学习DSP不错的资料,有需要的拿去喽!

收集的一些学习DSP的资料,同志们看看有没有需要的,有需要的就拿去吧~…

查看全部问答>

多个pio的中断可以不可以写在一起,这样

多个pio的中断可以不可以写在一起,这样 IOWR_ALTERA_AVALON_PIO_IRQ_MASK(PIO_BRK_BASE | PIO_FR_BASE | PIO_QS_BASE | PIO_EN_BASE, 1); 一个pio写一句?这样是不是很麻烦…

查看全部问答>