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

最新文章

  1. Ado.Net事物处理
  2. Git忽略规则及.gitignore规则不生效的解决办法
  3. CMakeLists.txt for nginx
  4. java JFrame修改左上角的图片
  5. 安卓奇葩问题之SQLite条件查找不到数据
  6. win7 ubuntu 14.04双系统安装
  7. Effective Java 46 Prefer for-each loops to traditional for loops
  8. WinServer 之 发布WebService后调用出现&quot; The test form is only available for requests from the local machine. &quot;
  9. Oracle—RMAN备份(三)
  10. Javascript 匀速运动——应用案例:网站常用功能分享到
  11. zookeeper leader作用
  12. RCP开发中错误:java.lang.RuntimeException: WARNING: Prevented recursive attempt to activate part...
  13. Hibernate一个简短的引论
  14. [POJ2259]Team Queue (队列,模拟)
  15. [powershell] 批量重命名,修改文件名中的部分字符串
  16. linux执行python的脚本文件,提示提示No such file or directory
  17. 第二篇 Linux 虚拟机操作
  18. Java中动态获取项目根目录的绝对路径
  19. EntityFrameworkCore操作记录
  20. SRM478

热门文章

  1. HDU1162-Eddy&#39;s picture(最小生成树)
  2. Lucene + Hadoop 分布式搜索运行框架 Nut 1.0a9转自http://www.linuxidc.com/Linux/2012-02/53113.htm
  3. 什么是Jsp
  4. 多校 Robot Motion
  5. 一个设置 material design icon的插件工具
  6. List&lt;Map&gt;去重排序
  7. C#获取客服端ip和用户名
  8. gen_compile.sql
  9. ural1682 Crazy Professor
  10. Dice Possibility