IAR错误、警告

1.高版本IAR编译低版本IAR工程提示Error[412]: Branch to unaligned address。

解决办法:是因为对齐方式错误,在错误代码上面加THUMB可以解决。

 

2.高版本IAR编译低版本IAR工程提示Error[Li005]: no definition for "__program_start"

解决:原因:IAR4.42和5.11的编译器有很大的变化,更改方法:在stm32f10x_vector.c 加上“#define __program_start __iar_program_start ”,其中__program_start是4.42的程序入口,__iar_program_start 是5.11的程序入口。

 

3.IAR 5.4 同时打开多个工程的方法

解决:重新打开一个新的IAR,在里面打开工程就可以打开另一个工程了.

 

4.提示function 'assert_param' declared implicitly的警告和错误

这个问题原因是由一个宏开关没有打开!这个宏USE_STDPERIPH_DRIVER开关需要打开,就不会有这个告警、错误,Options->C/C++ Compiler的Preprocessor页的Defined symbols中加上USE_STDPERIPH_DRIVER

 

5.在RAM调试程序时,用到printf就会MAKE不成功,提示the destination for compressed initializer batch "P2 s0" is placed at an address that is dependenton the size of the batch, which is not allowed when using packbits compression. Consider using "initialize by copy with packing = zeros" (or none) instead

解决:修改stm32f10x_ram.icf文件,将initialize by copy { readwrite };
修改为: initialize by copy with packing = zeros { readwrite };

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
IAR编译器是一款常用的嵌入式系统开发工具,可以轻松地编译和调试嵌入式软件。下面是一份简要的IAR编译器使用指南。 1. 安装和配置:首先从官方网站下载并安装IAR编译器。安装完成后,打开软件并选择合适的目标设备和芯片。然后,配置编译器,包括设置编译选项、调试器和连接器。 2. 项目设置:创建一个新的项目或导入现有的项目。在项目设置中,可以设置编译选项,例如优化级别、警告级别和目标文件输出位置。确保在编译器中添加所需的源文件和库文件。 3. 编写代码:使用IAR的集成开发环境(IDE)编写代码。IDE提供了编辑器、调试器和其他常用工具。在编辑代码,注意使用标准的C或C++语法,并使用适当的编码规范。 4. 编译和构建项目:保存代码后,使用编译器编译项目。编译过程会生成目标文件和可执行文件。如果有错误警告,需要解决它们,并重新编译项目。确保在每次构建之前保存代码。 5. 调试和优化:一旦项目编译成功,可以使用IAR的调试器来调试和优化代码。调试器提供了断点、变量监视、寄存器查看等功能,可以帮助找出代码中的错误和性能问题。 6. 运行和部署:在完成调试和优化后,可以将可执行文件烧录到目标设备上运行。确保选择正确的调试器和连接器,并按照硬件供应商提供的步骤来进行烧录和运行。 总的来说,IAR编译器是一款功能强大且易于使用的开发工具,可用于嵌入式系统的软件开发。熟悉和正确使用编译器的各项功能和工具,可以提高开发效率和软件质量。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值