1. 几个宏的定义

Keil和IAR均用到以下三种宏定义,分别是:
USE_STDPERIPH_DRIVER——表示使用ST提供的标准外设固件库;
STM32F40_41xxx——作为芯片的判断;
VECT_TAB_SRAM——中断向量表定位在CPU内部RAM;

2.批处理文件*.bat的使用
CopyHex_Flash.bat内容为:copy Flash\Obj\output.hex ..\out(mdk).hex
工程文件project.uvproj或者project.eww所在的路径是批处理文件中路径的依据。

3.调试模式
STM32仅支持SWD模式;

4.printf打印函数的使用
Keil中,在Options的Target页面,选中"Use MicroLIB";
IAR中,在Options\General Options\Library Configuation的Library里,选择"Full";
原因是:
我又从手册上找到了以下描述:
“在IAR中所有的输入/输出函数仅调用一个小型初等函数,一个函数集完成一个规定的任务。例如,__open函数用于打开文件,__write函数用于字符输出等。
注意:仅当运行库配置为full时才能支持文件输入\输出功能,即只有允许了配置符号__DLIB_FILE_DESCRIPTOR时运行库才支持文件输入\输出功能操作,否则不能使用带有“FILE *”参数的函数。
如果连接库时采用XLINK选项With I/O emulation modules,将自动链接C-SPY调试器中底层I/O函数以便实现交互调试。”
链接:http://www.amobbs.com/archiver/tid-3215678.html

5.IAR中"Use CMSIS"选项
选中"Use CMSIS"表示包含DSP_Lib所涉及的头文件,其路径为\Libraries\CMSIS\Include;
而在Options\C_C++ Compiler\Preprocessor页面内,已经填写了$PROJ_DIR$\..\..\Libraries\CMSIS\Include;
因此为避免重复,这里就不需要再选中“Use CMSIS";

6. 生成Map文件
Options\Linker\List页面的"Generate linker mpa file";表示生成map文件,方便查看
ROM,RAM占用大小;函数和变量定位位置,函数大小等信息;

7. 在IAR的Options中修改堆和栈大小
project---options---Linker---Config---Edit,修改CSTACK/HEAP的值;

8. Error[Li006]: duplicate definitions for "PendSV_Handler"

这个函数在多个地方定义了。
解决方法:
屏蔽其中一个地方即可;

9. 在A.c中定义的变量,若想在B.c中使用;

步骤一:
在A.c中定义该变量,可赋初始值;
u8 flag1ms = 0;
u8 flag4ms = 0;
u8 error = 0;
步骤二:
extern u8 flag1ms;
extern u8 flag4ms;
extern u8 error;

10. warning: #1035-D: single-precision operand implicitly converted to double-precision

此警告来源于没有在浮点数后加f,例如应使用0.123f,而不是0.123。

11. #define Conn(x,y) x##y

x##y表示x连接y,举例说明:
int n = Conn(123,456); 结果就是n = 123456;
char* str = Conn("abc","def"); 结果就是 str = "abcdef";

#define ToString(x) #x
#x就是给x加上双引号,举例说明:
char* str = ToString(1234); 结果是 str = "1234";

12. 的

Keil和IAR——使用笔记的更多相关文章

  1. 使用powershell批量添加Keil和IAR的头文件路径

    在Keil和IAR的工程中,为了使文件结构清晰,通常会设置很多的子文件夹,然后将头文件和源文件放在不同的子文件夹中,这样就需要手动添加这些头文件夹的路径.当工程结构非常复杂时,文件夹的数量就非常多,特 ...

  2. ARM 编译工具keil 和 IAR 命令行编译和下载

    目的 不管是Keil还是IAR对代码补全,高亮等编辑功能支持的不是很好,虽然现在的Keil 5.25对界面的支持好了很多,但是很多人还是青睐于第三方的编辑器,命令行的编译方式可以让我们在使用第三方编辑 ...

  3. STCubeMX软件新建Keil和IAR工程使用步骤:

    STCubeMX软件新建Keil和IAR工程使用步骤:首先是软件下载(也可在我们的百度云下载):1.STCubeMX下载地址:    http://www.stmicroelectronics.co ...

  4. strtok在keil中使用小笔记及字符串转换为多个浮点数的方法

    在pc上面使用这个字符串函数,是没有问题的,但是我在keil中结合rtos来处理字符串的时候,比如char *s = "1.01313;17.2609;17.4875";那么就只能 ...

  5. 使用printf函数实现串口信息打印——设置IAR和Keil的Options

    在Keil和IAR中都可以使用printf函数,但两者设置的方法不一样.以下分别是IAR和Keil的设置. 下面是Keil的设置. 选中Options--->Target--->Code ...

  6. 用Eclipse替代Keil&IAR来开发ARM应用(升级版)

    Eclipse GNU ARM Plugin 2014/7/16 作者 kiya 几个月前写了一篇<),想自己丰衣足食的参考我的上一篇文章,以及GNU ARM的官网. 用Eclipse替代Kei ...

  7. 嵌入式学习笔记(综合提高篇 第一章) -- 利用串口点亮/关闭LED灯

    1      前言 从踏入嵌入式行业到现在已经过去了4年多,参与开发过的产品不少,有交换机.光端机以及光纤收发器,停车场出入缴费系统,二维码扫码枪,智能指纹锁以及数字IC芯片开发等; 涉及产品中中既有 ...

  8. 韦东山yy公开课笔记(1)--各种杂的问题

    1,第四期的智能猫眼会有打电话和发短信的功能吗?   答:会有打电话功能,硬件上支持打电话就会支持发短信,只是软件上是否实现发短信现在未定.因为短信延迟太严重,不是可靠的. 2,请问关于makefil ...

  9. IAR FOR ARM 各版本,需要的大家可以收藏了

    原创,原帖地址是在阿莫论坛:http://www.amobbs.com/thread-5400051-1-1.html,这里也在博客贴上来供大家参考. 用过Keil和IAR,个人感觉是IAR还是很不错 ...

随机推荐

  1. ajax请求回数组数据,Vue页面数组没同步问题

    记录bug 为什么 ajax 获取到了 vm.$data.list 页面上却没有显示出来的? 代码 //页面 <tr v-for="item in list">{{ * ...

  2. BZOJ4873 LuoguP3749 寿司餐厅

    题面太长,请诸位自行品尝—>寿司餐厅 分析: 首先题目中给了限制条件,假如选了D(i,j)(i<j),那么也就选了D(i+1,j)和D(i,j-1)两个点. 于是我们一下就明白了,哦,最大 ...

  3. [JOYOI] 1055 沙子合并

    题目限制 时间限制 内存限制 评测方式 题目来源 1000ms 131072KiB 标准比较器 Local 题目描述 设有N堆沙子排成一排,其编号为1,2,3,-,N(N<=300).每堆沙子有 ...

  4. webdriver学习笔记(一):webdrive脚本打开firefox浏览器,报“AttributeError: module 'selenium.webdriver' has no attribu

    按照网上提供的方法: 下载geckodriver之后解压缩到 Firefox安装目录 下 添加 Firefox安装目录 到 系统变量Path 重启pycharm 照此步骤执行后,仍然报同样的错.折腾了 ...

  5. ZOJ 3905 Cake

    Cake Time Limit: 4 Seconds      Memory Limit: 65536 KB Alice and Bob like eating cake very much. One ...

  6. Automation 的 ReportFlow

    ReportFlow: // click the Grid icon and switch to grid page public void changeToGrid() // click the A ...

  7. Flask基础(3):session、flash、特殊装饰器、蓝图、路由正则匹配、上下文管理 & flask-session

    Session: Flask 默认将 session 以加密的形式放到了浏览器的 cookie 中 Flask 的 session 就是一个字典,字典有什么方法 session 就有什么方法 flas ...

  8. 【BZOJ4403】序列统计(Lucas定理,组合计数)

    题意:给定三个正整数N.L和R, 统计长度在1到N之间,元素大小都在L到R之间的单调不降序列的数量. 输出答案对10^6+3取模的结果. 对于100%的数据,1≤N,L,R≤10^9,1≤T≤100, ...

  9. csu - 1536: Bit String Reordering (模拟)

    http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1536 不知道为何怎么写都写不对. 这题可以模拟. 虽然题目保证一定可以从原串变成目标串,但是不一定 ...

  10. POJ3295 Tautology 解题报告

    直接上分析: 首先 弄清各种大写字母的操作的实质 K 明显 是 and   & A 是 or      | N 是 not   ! C  由表格注意到 当 w<=x 时 值为1 E  当 ...