S32K144 编译并下载 Hex 文件

客户需要把 hex 文件烧写到 S32K144 芯片里,经过查询相关资料,以及与同事沟通交流,找到两个方法可以进行 hex 文件的编译,并且可以通过 NXP 提供的 S32DS 进行烧写。


一、问题概述

1.1 客户问题描述

      客户需要把 hex 文件烧写到 S32K144 上。

1.2 软件版本

      S32 Design Studio for ARM 2.2 中的 Demo Project:hello_world_s32k144。

1.3 芯片

      S32K144。

1.4 问题详情

(1)hex 文件一般是指 Intel 标准的 hex 文件,可以用记事本打开,是十六进制数据,包含及地址、偏移量、校验和、文件开始和结束标志等信息。

(2)elf 文件包含很多调试信息,可以直接转换为 hex 文件,相对来说,hex 文件要比 elf 文件要小很多。

(3)为了节约片上资源,客户需要把容量更小的 hex 文件烧写到 S32K144 上。我们的 S32DS 工具默认是把程序编译成 elf 文件的,但其实也可以编译为 hex 文件且进行下载的。


二、解决方案

2.1 打开 S32DS 的 hex 编译配置

下面以 “hello_world_s32k144”这个 LED 灯闪烁的例程来给大家演示一下。 

(1)首先鼠标右键项目在菜单中选择“Properties”打开属性菜单栏。

 

 

(2)在属性中进入 C/C++ Build à Settings à Cross Settings 勾选“Creat Flash Image”,点击 OK 确认设置。

 

 

(3)再次进入属性 C/C++ Build à Settings 会发现增加了一项 “Standard S32DS Create Flash Image”,点开进入其中的“General”选项,在输出格式一栏选择 Intel HEX。

 

 

2.2 添加预编译命令

如果不想进行繁琐的设置,还可以使用一条命令解决问题,同样是进入属性 C/C++ Build à Settings,进入 Build Steps 页面,填入如下预编译命令:arm-none-eabi-objcopy -O ihex ${ProjName}.elf ${ProjName}.hex。

 

 



2.3 编译并下载 hex 文件

(1)重新进行编译就可以在编译目录得到 hex 文件,并且可以看到文件大小差别很大。

 

 

(2)点击 debug 小虫子按钮边上的三角形,进入 debug 配置。

 

 

(3)选中要下载的项目,点击 “Browse”找到自己编译得到的 hex 文件,点击 Debug 即可完成下载并进入 debug 模式。

 

 

(4)如下图所示,可以看到红色和绿色 LED 交替闪烁,说明 hello_world_s32k144 例程可以正常运行,hex 文件烧写成功。

     



三、总结

本文讲了两种编译得到 hex 的方法,并烧写到我们的 Echoes 开发板上验证可行,第一种方法是修改 S32DS 设置,只需要打开 hex 编译配置,即可自动生成 hex 文件,第二种方法是在 S32DS 添加相关的编译命令即可。

欢迎在博文下方留言评论,我们会及时回复您的问题。如有更多需求,欢迎联系大联大世平集团 ATU 部门:atu.cn@wpi-group.com。 

参考资料

[1] 起个名字辣么麻烦——《S32DS之如何生成hex和bin文件》

https://blog.csdn.net/weixin_41935674/article/details/105061510

下一篇:Silver 开发板基于 S32K144 的 NCF3340 I2C 调试

 

我是好景虚设,欢迎在大大通上关注我!

 

 

S32K144 相关文档:

基于 Echoes 的 S32K144 UART 调试

基于 Echoes 的 S32K144 I2C 调试

S32K144EVB-Q100 UJA1169 恢复出厂设置 & 收发 CAN 报文

★博文内容均由个人提供,与平台无关,如有违法或侵权,请与网站管理员联系。

★文明上网,请理性发言。内容一周内被举报5次,发文人进小黑屋喔~

评论