rt-thread构建后生成hex文件

默认情况下,在bsp目录运行scons编译后,只会生成bin文件,但是可能有的同学需要hex文件。这时候就需要这么干了:

  1. 打开rtconfig.py文件,找到如下这段
    在这里插入图片描述
    就是根据编译工具链,确定编译脚本
    大致来说,根据所使用的IDE,有三种编译器:
IDE(平台) 编译工具
gcc arm-none-eabi-gcc
keil armcc
iar iccarm

rt-thread构建后生成hex文件_第1张图片
rt-thread构建后生成hex文件_第2张图片
rt-thread构建后生成hex文件_第3张图片

  1. 每个if elif选项的最后,都有一个POST_ACTION(就是一个字符串变量),这就是编译完了后需要执行的命令。以gcc平台为例:
POST_ACTION = OBJCPY + ' -O binary $TARGET rtthread.bin\n' + SIZE + ' $TARGET \n'

每个\n前面就是一条命令。这条语句运行了两条命令:一个是生成bin文件,一个是查看目标文件大小。
通过看前面的代码,不难得到:

变量 命令
OBJCPY arm-none-eabi-objcopy
SIZE arm-none-eabi-size

所以,依葫芦画瓢吧,把原来的删掉或注释,替换成下面这句。就能实现生成bin文件的同时,还生成hex文件

POST_ACTION = OBJCPY + ' -O binary $TARGET rtthread.bin\n' + OBJCPY + ' -O ihex $TARGET rtthread.hex\n' + SIZE + ' $TARGET \n'

运行效果:
rt-thread构建后生成hex文件_第4张图片
确实生成了hex文件
在这里插入图片描述
对于其他平台, 是什么命令生成hex,自行研究吧。

你可能感兴趣的:(嵌入式开发,stm32,arm开发,rt-thread)