0%

MSP430单片机(二)——开发环境IAR

初步接触IAR的开发环境.
版本:Embedded Workbench 8.0 IAR for 430

编程优化

右击Project,选中【C/C++ Compiler】,【Optimizations】,【Level】,根据需求选择速度优先和大小优先,选择不同的等级【None】、【Low】、【Medium】、【High】


芯片选择

右击侧边栏的Project,选中【General Options】,【Target】,【Device】


Debugger

右击Project,选中【Debugger】,【Setup】、【Driver】,有【FET Debugger】和【Simulator】两种。

FET Debugger:【Connection】中选择仿真器的类型,【Download】中选择【Verify download】以校验下载到单片机中程序的大小是否与编译的程序一致;【Flash erase】中选择不同的Flash擦除方式;【Breakpoints】中勾选【Use software breakpoints】表示超过三个断点之后,再添加断点就是虚拟断点,会使得调试效率变低速度变慢

Simulator:不做考虑,默认即可


调试Q&A

调试问题1:连接仿真器之后提示要升级

image-20201216113413235 image-20201216113831524

如果不选【Y】下次每次连接都会有提示,点击【Y】之后大概率会升级成功,但也有可能会出现升级失败:

image-20201216113859710

解决方法:升级失败的原因有很多,最主要的可能性是连了device,这种情况下将JTAG拔掉不连device,再将另一头的USB也拔掉重插;

如果问题没有解决,那就检查一下C盘文件。只要是IAR5.3及以下的版本就可以随便点是,更新下即可。如果是IAR5.4以上版本提示升级,首先要查看下电脑系统C:\WINDOWS\system32\drivers下面有没有usbser.sys文件,如果没有肯定不能升级的,升级就坏了驱动会不识别的,如果C:\WINDOWS\system32\drivers路径下有usbser.sys文件,那么就可以放心升级了。

image-20201216185839335

升级过程:在此期间不能拔插仿真器,中途停止会导致仿真器损坏。

image-20201216113849973

image-20201216133611769

IAR5.3及以下版本识别的端口号是VCP;IAR5.4以上版本识别的端口后就是CDC了。

调试问题2:连接设备失败

image-20201216113432373 image-20201216113831524

解决方案: 主要的是CPU出现故障或者是JTAG没有插好方向。在更换了JTAG插口之后仿真器更新成功了

调试问题2:进入debug模式之后,发现不能在main里打断点

image-20201216161509221

解决方法:

  1. 打开 c-SPY 的调试信息

    右击项目,-> options -> linker -> output -> format ,选择 Debug information for c-SPY 选项:

image-20201216162239317
  1. 软件选项中有关断点的设置

    Tools -> options -> stack -> 去掉选项 stack pointer not valid until program reaches

image-20201216162605666
  1. 生成Debug信息

    Project -> Options -> C/C++ Compiler -> Output :勾选上 Generate debug informat这个选项;

    低版本IAR:Project -> Options -> linker -> Output:勾选上Include debug information in output 这个选项;

    高版本IAR:Project -> Options -> linker -> Diagnostics:勾选上Always generate output 这个选项。

  2. 设置合适的优化等级

    Project -> Options -> C/C++ Compiler -> Optimizations :选择 low

设置完之后,右击项目 -> Rebuild All

两种颜色的功德箱(逃