跳转至

Chapter0 开发工具链

1. Compiler

ARM 主流编译器(armcc、iar、gcc for arm、LLVM(clang))

2. IDE

IAR Embedded Workbench

  • gitignore

    对 IAR Embedded Workbench 文件进行版本控制

    $PROJ_DIR$\settings

    $PROJ_DIR$\Debug\*

    $PROJ_DIR$\Release\*

  • icf文件(链接脚本)

    icf主要作用就是定义FLASH存储段地址、RAM存储段地址和堆栈大小。每个芯片开发商都会针对每款芯片来编写一个.icf文件即链接文件。对于基本的应用,这个.icf文件足以满足你的工程需要。但有时也会需要改动,比如当你的项目要添加外部RAM时、修改app存放地址时。都要修改icf。

  • 分析程序栈最大深度,调试查看栈占用

    在IAR Embedded Workbench中分析和监控堆栈使用

    1 在Project>Options>Linker>Advanced中,选中Enable stack usage analysis来使能堆栈使用分析功能

    由于堆栈使用分析的结果将会包含在链接器生成的map文件中,需要在Project>Options>Linker> List选项卡中选中Generate Linker map file

    2 在tools>Options>Stack选项中勾选Enable graphical stack display and stack usage tracking以启用运行时堆栈使用跟踪

    调试时,可通过View>Stack打开Stack窗口,每当执行停止时,C-SPY 会在Stack窗口中更新堆栈的使用情况

  • 创建多个工程配置并且切换

    在IAR的Workspace窗口顶部的下拉菜单中有两个选项,Debug和Release。

    名字和数量可以在菜单栏的Project->Edit Configuration中增删修改

    每个选项都对应着一个工程配置(也就是项目名称右击Options里的内容),互相是独立的。

Keil MDK