一个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了.

IAR for STM8 错误的更多相关文章

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

    今早使用IAR调试编译调试一个工程,发现IAR竟然出现如下错误信息 An error occurred ]: Can't access configuration database 在网上查看了一下, ...

  2. IAR FOR STM8 学习笔记 IAR工程的建立

    STM8是ST意法半导体针对工业应用和消费电子开发而推出的8位单片机. 每种MCU都有自身的优点与缺点,与其它8-bit MCU相比,STM8 8-bit MCU最大的特点是: · 内核: o 最高f ...

  3. 【转】IAR for STM8介绍、下载、安装与注册

    Ⅰ.写在前面 本文讲述的内容是IAR for STM8(EWSTM8)的介绍.下载.安装与注册,其安装.注册过程和IAR for ARM类似,如果需要了解IAR for ARM相关的文章,可以到我博客 ...

  4. IAR for STM8介绍、下载、安装与注册--转

    Ⅰ.写在前面 本文讲述的内容是IAR for STM8的介绍.下载.安装与注册,其安装.注册过程和IAR for ARM类似,如果需要了解IAR for ARM相关的文章,可以到我博客,或微信公众号查 ...

  5. IAR for STM8的简介、下载、安装及注册教程

    一.简介 1.关于IAR for STM8 IAR for STM8 是一个嵌入式工作平台,主要应用于STM8 系列芯片的开发,现在(2018年3.10版本)能够支持市面上所有的STM8芯片. 个人认 ...

  6. IAR FOR STM8 学习笔记 固件库 GPIO

    经过一番挣扎,还是决定使用官方的固件库了.. 从网上下一个STM8S的固件库,记得是FOR IAR的. 找到里面的IAR模板就可以开始用了. 这些都是直接写好的库函数,可以直接调用,但首先得先读懂,先 ...

  7. IAR FOR STM8 同一个工程芯片选择003F3可以编译003K3提示空间不足

    同一个工程文件,选择103F3可以编译通过,但是选择103K3便提示空间不足 百思不得其解,查阅大量资料无果.最后在IAR工程里面找到了配置文件 打开003f3的配置文件和003K3配置文件进行对比, ...

  8. STM8S与IAR程序常用错误

    一.IAR中的重复定义问题 在自己写头文件时,要记得将常量定义在.c文件中,如果将常量定义在.h文件中,当在main.c或者其他地方包含该头文件时,会将头文件中的常量定义包 含到main.c中,同时, ...

  9. IAR for stm8 memory窗口的功能

    进入debug模式后点击菜单view-Memory 可以在线查看,RAM,FLASH,OPTION等

随机推荐

  1. 对于IE6版本图片透明。

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  2. 学习笔记——策略模式Strategy

    策略模式,与模板模式一样,都是为了将接口和算法实现解耦,但策略模式更主要是整体算法的替换,而模板模式主要是流程一致,部分算法的替换. 个人理解为,一般算法替换,使用策略模式,当算法流程一致,可以提取为 ...

  3. 把Ubuntu用户目录下的目录名改成英文

    直接改名字是不行的,一重启就回去了 方法一: 把中文文件夹改成相应的英文文件夹,再修改配置文件 ~/.config/user-dirs.dirs XDG_DESKTOP_DIR="$HOME ...

  4. Linux学习 -- 启动管理

    1 CentOS 6.x启动管理 系统运行级别 运行级别命令 #runlevel   查看级别 #init 运行级别  改变级别 系统默认运行级别 配置文件 /etc/inittab id:3:ini ...

  5. 转:用​C​语​言​的​r​a​n​d​(​)​和​s​r​a​n​d​(​)​产​生​伪​随​机​数​的​方​法​总​结

    标准库<cstdlib>(被包含于<iostream>中)提供两个帮助生成伪随机数的函数: 函数一:int rand(void): 从srand (seed)中指定的seed开 ...

  6. jsp导入外部样式

    在博客园遇到一位朋友,她将我的代码下载下去,运行的时候,jsp页面的样式不存在,不会显示出来. 这里就将我之前写的SpringSpringmvcMybatis做一些修改. jdk1.8 加入了两个ja ...

  7. 设计模式---Manager(管理器)

    设计模式之美:Manager(管理器) 索引 意图 结构 参与者 适用性 效果 实现 实现方式(一):Manager 模式的示例实现. 意图 将对一个类的所有对象的管理封装到一个单独的管理器类中. 这 ...

  8. VS2010 C#调用C++ DLL文件

    http://www.soaspx.com/dotnet/csharp/csharp_20110406_7469.html http://www.cnblogs.com/warensoft/archi ...

  9. iptables配置vsftp访问

    一.FTP服务简介    FTP服务器有两种工作模式:主动模式和被动模式.这两种方式的特点如下:  (1)主动模式下:  tcp, 20(20号端口用于数据传输),21(21号端口用于控制连接) (2 ...

  10. zf-关于把某个地址的svn项目移动到另一个上面的步骤

    1 首先查检出来 2 然后断开连接 删除元信息(这个必须注意,很敏感的,不然酒吧元信息带入到了另外一个svn地址中了) 3 之后再到另外一个svn上建立远程资源文件,把项目导入进去,注意不要导入错了, ...