汽车电子expert成长之路

本博客发布的个人原创精品----嵌入式系统技术文章,欢迎大家参考学习,并转发分享!

S32DS 使用 tips--使用Flash from file下载S19或elf文件

0
阅读(16030)

内容提要      

引言

1. 配置S32DS 工程生成S19/elf文件;

2. 使用Flash from file下载S19/elf文件;

3.结论


引言


        在项目联合开发中,出于对知识产权的保护,在项目工程功能评估阶段和功能开发过程中,用户需要给他们的客户提供可测试的程序,但又不希望客户看到应用工程的源代码和工程,这个时候,我们就可以提供应用工程的编译结果S19文件或者二进制可执行文件-elf给客户,让他们使用编程工具/调试器下载完成功能验证。


       本文基于NXP最新的32位汽车级MCU软件开发集成环境 S32DS IDE介绍如何生成S19和elf文件,并使用S32DS IDE自带的Flash from file工具下载单独的S19文件或elf文件到目标MCU。


       Tips: S32DS IDE分为ARM和PowerPC两个版本,对应支持的MCU如下表:

10.jpg

         本文介绍的方法适合于所有版本的S32DS IDE。


        下面,我就基于DEVKIT-MPC5744P demo版进行介绍,其集成了板载调试器--OpenSDA,可以完成程序的下载和调试:

11.jpg


1. 配置S32DS 工程生成S19/elf文件


        在S32DS工程中,默认编译之后都会在工程目录下(子目录为编译目标命名)生成以与应用工程同名的.elf文件(如下图),但却不会生成S19文件:

12.jpg


        为了让S32DS工程生成S19文件,需要通过工程属性(选中应用工程右键-->Properities(属性))对工程设置进行相应的配置:


        首先,在工程属性中使能Create flash image工具:

13.jpg

        

然后,配置Create flash image工具,选择输出文件格式为s19(Motorolas S-record):

14.jpg

        Tips S32DS支持生成不同的输出格式文件S19--Motorolas S-record,HEX--IntelHEX和bin文件--Raw binary)


        这样重新编译工程即可生成S19文件:

15.jpg

        默认生成的S19文件后缀为.srec,需要将其手动修改为.s19才能被编程工具识别。


2. 使用Flash from file下载S19/elf文件


        为了使用Flash from file下载S19/elf文件,我们需要先新建一个空工程,使用其下载调试目标MCU,以建立并保证下载链路正常工作,并被Flash from file使用。这里我们新建了一个MPC5744P_test工程:

16.jpg

        

然后从S32DS菜单栏点击闪电标志启动Flash from file界面,将新建空工程的C/C++ Application设置为想要下载的S19文件或者elf文件,然后点击Flash,即可启动下载:


17.jpg

18.jpg

19.jpg


        在启动Flash之后,S32DS会调用调试器GDB软件,加载相应的Flash算法(CMD>CM),校验CRC(CMD>VC),擦除Flash(CMD>EM),并对Flash编程(CMD>PM)和校验下载结果CRC(CMD>VC)。


3.结论


        以上方法适用于使用调试器--U-Multilink [FX]或者demo板板载调试器--OpenSDA。


        如果客户有离线编程工具,比Cyclone Universal、Cyclone MAX则可以将S19文件直接生产为离线编程镜像(SAP image),加载到离线编程工具,脱机下载完成对Flash的编程。


       Tips: S19/HEX/BIN文件与elf文件的区别如下:

20.jpg


        无论提供S19/HEX/BIN文件还是elf文件,客户都没有办法进行二次开发,因为无法获得源代码和工程。

胡恩伟

NXP汽车电子FAE

若对本文观点有任何意见和建议欢迎留言指出。

如果喜欢,可以关注本人公众号,阅读更多精彩内容。