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”或

一、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 错误的更多相关文章
- IAR FOR STM8S 错误 An error occurred while retrieving GDI features: gdi-error [40201]解决方法
今早使用IAR调试编译调试一个工程,发现IAR竟然出现如下错误信息 An error occurred ]: Can't access configuration database 在网上查看了一下, ...
- IAR FOR STM8 学习笔记 IAR工程的建立
STM8是ST意法半导体针对工业应用和消费电子开发而推出的8位单片机. 每种MCU都有自身的优点与缺点,与其它8-bit MCU相比,STM8 8-bit MCU最大的特点是: · 内核: o 最高f ...
- 【转】IAR for STM8介绍、下载、安装与注册
Ⅰ.写在前面 本文讲述的内容是IAR for STM8(EWSTM8)的介绍.下载.安装与注册,其安装.注册过程和IAR for ARM类似,如果需要了解IAR for ARM相关的文章,可以到我博客 ...
- IAR for STM8介绍、下载、安装与注册--转
Ⅰ.写在前面 本文讲述的内容是IAR for STM8的介绍.下载.安装与注册,其安装.注册过程和IAR for ARM类似,如果需要了解IAR for ARM相关的文章,可以到我博客,或微信公众号查 ...
- IAR for STM8的简介、下载、安装及注册教程
一.简介 1.关于IAR for STM8 IAR for STM8 是一个嵌入式工作平台,主要应用于STM8 系列芯片的开发,现在(2018年3.10版本)能够支持市面上所有的STM8芯片. 个人认 ...
- IAR FOR STM8 学习笔记 固件库 GPIO
经过一番挣扎,还是决定使用官方的固件库了.. 从网上下一个STM8S的固件库,记得是FOR IAR的. 找到里面的IAR模板就可以开始用了. 这些都是直接写好的库函数,可以直接调用,但首先得先读懂,先 ...
- IAR FOR STM8 同一个工程芯片选择003F3可以编译003K3提示空间不足
同一个工程文件,选择103F3可以编译通过,但是选择103K3便提示空间不足 百思不得其解,查阅大量资料无果.最后在IAR工程里面找到了配置文件 打开003f3的配置文件和003K3配置文件进行对比, ...
- STM8S与IAR程序常用错误
一.IAR中的重复定义问题 在自己写头文件时,要记得将常量定义在.c文件中,如果将常量定义在.h文件中,当在main.c或者其他地方包含该头文件时,会将头文件中的常量定义包 含到main.c中,同时, ...
- IAR for stm8 memory窗口的功能
进入debug模式后点击菜单view-Memory 可以在线查看,RAM,FLASH,OPTION等
随机推荐
- jenkins tags
List Subversion tags (and more) 参数设置 Tags filter ^((?!_ta_).)*$ 表示不含_ta_ Tags filtertrunk|(tags|bran ...
- poj 3020 Antenna Placement (最小路径覆盖)
二分图题目 当时看到网上有人的博客写着最小边覆盖,也有人写最小路径覆盖,我就有点方了,斌哥(kuangbin)的博客上只给了代码,没有解释,但是现在我还是明白了,这是个最小路径覆盖(因为我现在还不知道 ...
- 转:Web安全与Rational AppScan入门
Web 应用的基础概念 在讨论 Web 应用安全之前,先简单介绍一下 Web 应用基础概念,这样便于理解为什么 Web 应用是脆弱的,容易受到攻击. 1. 什么是 Web 应用 Web 应用是由动态脚 ...
- ubuntu 下重装mysql若干问题
最近由于种种原因需要重装mysql.打开终端开始卸载 sudo apt-get remove mysql-comm sudo apt-get auto remove 重新开始安装mysql sudo ...
- MVC 使用Jquery的$.post传递参数
MVC中,如果要使用 $.post 给 COntroller 传递参数,需要类实现 属性 get set,这样才行
- Lint Code——最多共线的点的个数
题目链接:http://www.lintcode.com/zh-cn/problem/max-points-on-a-line/# 条件:给一个点数组 目标:求出共线的点的最多个数 实现:时间复杂度- ...
- 解读QML之二
QML文档 QML文档是用QML语法组成的字符串.一个文档定义了一个QML对象类型.文档以”.qml”最为后缀,可以保存在本地和网络上,可以使用代码生成.一 个在文档中定义的对象类型的实例,也可以使用 ...
- tps,qps
http://blog.itpub.net/22664653/viewspace-767265/
- 【java链表 】java 头插法建单链表
好久前练习用的,现在看难度不大. package project; class Node { private int id; //私有就是只能本类对象及方法访问. private String nam ...
- CentOS 6.5配置mysql
启动mysql service mysqld start 给root账号设置密码 mysqladmin -u root password '