问题现象
在使用jflash 给新的NXP s32k118烧写程序的时候,会弹出如下的提示,导致不能烧写: ![在这里插入图片描述](https://img-blog.csdnimg.cn/0372db9398b94794ac6d4359201bce17.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAaW5ub3ZhdGlvbl90cmFpbg==,size_10,color_FFFFFF,t_70,g_se,x_16) 查过相关的资料,这个的原因是,nxp的MCU会在flash的0x400开始,设置16个字节的校验码,这个和MCU中的寄存器一一对应。而新片子的flash中,因为都是默认的0xFF,所以不行。
从网上搜索的关于s32k芯片解锁的方法,有的提到使用 j commander这个软件进行解锁(输入unlock kitnets)。但经过实测之后,发现在提示程序的情况下,也不好用(不知道官方的j-link能不能成功解锁)。所以还得老老实实的用s32ds调试一次,就解锁了。至于所用的仿真器,无所谓,可以直接用j-link就行。
所需要的软件:
S32 Design Studio for Arm Version 2018.R1 ![在这里插入图片描述](https://img-blog.csdnimg.cn/6dd11a69bd8a4c75b2c4633f63d4cd73.png)
步骤如下:
-
安装S32DS,(如已安装,请忽略步骤1~2)安装时需要的license,activation code 可自行在nxp的官网申请。免费的。 -
安装升级包,如下所示: ![在这里插入图片描述](https://img-blog.csdnimg.cn/b10fbf0d295d42c78854db0b1a684688.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAaW5ub3ZhdGlvbl90cmFpbg==,size_15,color_FFFFFF,t_70,g_se,x_16) ![在这里插入图片描述](https://img-blog.csdnimg.cn/3a88736bd35e46c28483c0e881730eac.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAaW5ub3ZhdGlvbl90cmFpbg==,size_18,color_FFFFFF,t_70,g_se,x_16) ![在这里插入图片描述](https://img-blog.csdnimg.cn/068d2e74366a4a9aba50b8efe1e0d1f4.png) -
安装成功后,选择新建一个示例工程。
![在这里插入图片描述](https://img-blog.csdnimg.cn/12007b44c14d46d1a1d6ea1b7076b3f7.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAaW5ub3ZhdGlvbl90cmFpbg==,size_18,color_FFFFFF,t_70,g_se,x_16) 过程比较慢,需要等待一下,之后会弹出对话框,如下图所示。选择一个s32K118的示例工程,比如下图所示的”hello_world_s32k118”,之后点击finish。 ![在这里插入图片描述](https://img-blog.csdnimg.cn/c8ae0352ebd54f88ab0a4cbc084e537c.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAaW5ub3ZhdGlvbl90cmFpbg==,size_16,color_FFFFFF,t_70,g_se,x_16)
- 之后会在project Explorer中出现该工程
![在这里插入图片描述](https://img-blog.csdnimg.cn/be4ca43666bd42c79fe487ff1275e277.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAaW5ub3ZhdGlvbl90cmFpbg==,size_14,color_FFFFFF,t_70,g_se,x_16)
之后在此文件名右键, ![在这里插入图片描述](https://img-blog.csdnimg.cn/07e09c5dc5904966bcc3f0340fa70aa3.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAaW5ub3ZhdGlvbl90cmFpbg==,size_15,color_FFFFFF,t_70,g_se,x_16)
5、弹出调试器的配置项,按照如下图所示顺序进行配置: ![在这里插入图片描述](https://img-blog.csdnimg.cn/026ba1c660b04984bf50ee04bb4ab2c9.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAaW5ub3ZhdGlvbl90cmFpbg==,size_18,color_FFFFFF,t_70,g_se,x_16) 6、执行上图所示的步骤④后,该程序将自动编译和下载,请在此之前确保正确用j-link连接电脑和样机,并且样机正常供电。在程序下载完成后,如下图所示的红框内的图标将会显示其本来的颜色。此时程序已经正常下载进去了。之后点击红色的方块断开连接即可
7、完成以上步骤后,MCU的flash就完成解锁了。之后就可用j flash软件进行烧写程序了。 解锁完成一个样机后,再解锁其他样机,可直接点击下图所示的 小虫 图标即可。就不用重新执行步骤3~6了。
![在这里插入图片描述](https://img-blog.csdnimg.cn/8de02a3cc06d477c8e090da5b1c97f69.png) 注: 1、如果上述不成功,可以从第3步重新开始,新建一个其他类型的工程,比如选择 csec_flash_part_s32k118进行尝试。
总结:上述流程真的是傻瓜操作。。仅仅适用于平时没做过NXP的MCU的软件开发、没用过s32ds的同学使用。毕竟如果是MCU开发,那指定是先用s32DS,也就不存在这个问题了。
对了,声明一下,该文章是我原创,但是用到了nxp的产品,所以有侵权,还请及时通知,我随时删除,感谢
|