IAR for STM8 错误

一个IAR for STM8 v1.3 的工程,换到1.4版后出现如下错误

unable to allocate space for sections/blocks with a total estimated minimum size of 0x2341 bytes in <[0x008000-0x009fff]> (total uncommitted space 0x1f80).

在网上找到下面文章,在工程选项里将“Library Options”里的“Printf formatter”和"Scanf formatter"修改为“small”或

源:STM8S与IAR程序常用错误

一、IAR中的重复定义问题

在自己写头文件时,要记得将常量定义在.c文件中,如果将常量定义在.h文件中,当在main.c或者其他地方包含该头文件时,会将头文件中的常量定义包含到main.c中,同时,相应的.c文件也有该常量定义语句,就会导致linker报错,有xxxx重定义(redefined)。此外,当要在main.c中使用其他.c文件中定义的量时,要记得+ extern+ <类型>+<+变量名>。

标准的做法:在.h文件中声明变量,在一个.c文件中定义变量,其它.c文件要用到变量只要包含.h头文件,相当于变量声明,就可以引用其它.c文件中定义的变量了。一般只在头文件中声明变量,在原文件中定义变量,即使你在头文件中使用了预编译指令 #ifndef.... #define ... #endif,也不能在头文件中定义变量。不能定义,必须声明。 二、程序溢出问题(Error[Lp011]问题)

Error[Lp011]: section placement failed: unable to allocate space for sections/blocks with a total estimated minimum size of 0x2ba9 bytes in <[0x008000-0x009fff]>

原因:将library改为由full改为normal,一下子空间减少很多,还有printf和scanf的格式都由full改为small,不过这里不能用printf了。

(total uncommitted space 0x1f80).   11 971 bytes of readonly  code memory      915 bytes of readonly  data memory      726 bytes of readwrite data memory   Errors: 1

CPU:STM8S103F3P,它有8K FLASH[0x008000-0x009fff],有1K RAM,实际提示的FLASH大小为10582+809>8192

[0x008000-0x009fff]=8192,0x1f80=8064 0x3180=12672, 0x1f80=8064, 11971+915=12886 8s207就没有问题,换成103问题就溢出。

相关讨论:

http://www.amobbs.com/thread-5516889-1-26.html

http://www.amobbs.com/thread-5516388-1-1.html

http://www.amobbs.com/thread-5526431-1-1.html

http://www.amobbs.com/thread-4181924-1-1.html

三、 Error[Pe169]: expected a declaration

答:多了}右大括号。

四、PL2303上电后鼠标乱动的解决办法:

1,重新上电,因为我们开发板带了一键下载电路,所以第一次上电,会引起几次(3~6次)MCU复位,很正常. 你不要每次都按电源键来实现复位,就不存在这个问题了. 
2,因为你的例程,一上电,就通过串口输出数据了,而此时CH340还在和电脑通信,CH340在和电脑USB连接建立的时候,收到数据,就可能导致你的串口不被识别为串口,而被识别为什么ball之类的设备,从而鼠标乱飞.

解决办法: 
上电之前,先按住MCU的复位,然后再上电.等10秒钟左右,再释放复位.就一切OK了.

时间: 2024-07-28 22:35:30

IAR for STM8 错误的相关文章

IAR FOR STM8S 错误 An error occurred while retrieving GDI features: gdi-error [40201]解决方法

今早使用IAR调试编译调试一个工程,发现IAR竟然出现如下错误信息 An error occurred while retrieving GDI features: gdi-error [40201]: Can't access configuration database 在网上查看了一下,也有人出现这个问题,总体来说可以通过重装IAR debugger-support-files这个,解决问题. 我已经将工具上传到CSDN的下载页面, IAR for stm8 debugger-suppor

IAR for STM8系列教程(一)_新建软件工程详细过程

Ⅰ.写在前面 本文使用目前(2017年04月)最新版本的IAR for STM8(EWSTM8)V2.20开发环境.STM8S103的处理器及最新版本STM8S标准外设库(STM8S_StdPeriph_Lib_V2.2.0)为例给大家讲述新建一个软件工程的详细过程. 本文分如下几个章节来讲述: 1.准备工作 ? 下载安装EWSTM8 ? 下载STM8标准外设库 ? 整理工程文件夹 2.新建软件工程 ? 创建工程 ? 添加文件 ? 配置工程 为了方便大家阅读,本文内容已整理成PDF文件,供大家下

STM8S与IAR程序常用错误

一.IAR中的重复定义问题 在自己写头文件时,要记得将常量定义在.c文件中,如果将常量定义在.h文件中,当在main.c或者其他地方包含该头文件时,会将头文件中的常量定义包 含到main.c中,同时,相应的.c文件也有该常量定义语句,就会导致linker报错,有xxxx重定义(redefined).此外,当要在 main.c中使用其他.c文件中定义的量时,要记得+ extern+ <类型>+<+变量名>. 标准的做法:在.h文件中声明变量,在一个.c文件中定义变量,其它.c文件要用

破性改进Stat-Ease Design-Expert v10.0.0.3

Stat-Ease Design-Expert v10.0.0.3+SAS JMP Pro 12.1.0 MacOSX 1CD     Design-Expert 包含 Design-Ease 的所有功能,并提供工序要素或混合配料成分的深入分析.在您的设计中结合混合配料变量与工序变量.Design-Expert 提供可以旋转的三维绘图,帮助您查看您的响应面.使用您的鼠标来仔细检查二维轮廓,沿着轮廓线设置标记以识别坐标与预计响应.可以通过此程序的数值优化功能找到满足您所有需求的最佳位置,该功能同时

Global.Mapper.v17.1.0.b020216.Win32_64 2CD地图图形+Didger.v5.11.1438

Global.Mapper.v17.1.0.b020216.Win32_64 2CD地图图形 它还提供距离和面积计算,光栅混合.对比度调节.海拔高度查询.视线计算,以及一些高级功能,如图像校正.通过地表数据进行轮廓生成.通过地表数据观察分水岭.对3Dpoint数据转换为三角多边形和网格化等.通过内建的脚本语言或众多的批处理转换选项能够高效地完成重复性任务.地图绘制软件. Golden.Software.Didger.v5.11.1438.Win32_64 1CD Software.Didger一

NextLimit.Maxwell.Render.for.SketchUp.v3.2.5.MacOSX 1CD

Global.Mapper.v17.1.0.b020216.Win32_64 2CD  Siemens.LMS.Virtual.Lab.Rev13.5.Win64 1DVD  AutoDesSys formZ Pro v8.5.3 Win32_64 2CD  CSI.SAP2000.v18.1.0.1227.Win32_64 2CD  FilmLight.Daylight.v4.4m1.8005.MacOSX 1CD  The Foundry Modo v902 SP2 Linux64 1CD

STM8l051,ADC读电压,电量计。(边写边记录)

项目要求使用STM8L051F3芯片实现ADC采集电压得到电量的功能,之前没有接触过STM8,便在这里记录一下这个过程. 1.搭建环境: STM8的软件开发环境似乎有很多,我这里使用的是IAR FOR STM8,具体的下载安装方法百度很多,我是参考的这个教程:http://blog.csdn.net/ybhuangfugui/article/details/52936636,里边提供有IAR注册机. 下载安装完毕后可以去ST官网下载库文件,链接:http://www.st.com/content

CAEMlworks 2017 SP1 for Ekdge ST7-8+ADINA System 9.2.1 Win64 &amp; Linux64 2CD

CAEMlworks 2017 SP1 for Ekdge ST7-8 ADINA System 9.2.1 Win64 & Linux64 2CD Altair.HyperWorks.Suite.14.0.Linux64 1DVD AutDesSys BormZ Pro v14.5.3 Win64 SIEMENS SIMATIC STEP 7 v5.5 SP4 Win10 1DVD STAR-CCM+ v11.02.009-R8.Win64.&.Linux64 2DVD Bentley.

S5PV210开发系列一_开发环境以及启动模式

S5PV210开发系列一 开发环境以及启动模式 象棋小子          1048272975 ARM核以其高性能.低功耗.低成本广泛应用在各个领域,包括ARM7.ARM9.ARM11.Cortex-M.Cortex-A等这几个系列.众多的半导体商如NXP.Freescale.Atmel.Samsung.TI等都设计了基于ARM核的自家通用处理器,ARM核从低成本控制处理器到高性能应用处理器,已经深入到我们生活的方方面面.笔者此处就Samsung的Cortex-A8处理器S5PV210作一个简