文章以NXP的S32K344芯片为例,采用上一章提到的第二种安装方式安装,将HSE_FW安装在0x400000
一、安装流程
- 将AB_SWAP版本的HSE_FW写入指定位置
- SBAF解密安装包,将HSE_IMG安装到0x5D4000
- SBAF再将整个FLASH划分为激活区和未激活区
- 最后SBAF将HSE_IMG安装到未激活区的0x7D4000
也就是说,只需将HSE_FW安装包写入指定位置,后面就由SBAF来完成安装操作。
二、安装过程
1、下载对应芯片的HSE_FW安装包
安装包中包含如上内容,其中hse_ab_swap是支持双分区功能的安装文件,0_2_40_0是这个安装包的版本号。
2、将文件夹中的文件拷贝到工程文件目录下
3、修改链接文件,划分储存pink文件的空间。按规定放在指定位置,K344芯片放在首地址0x400000,长度0x30000。(安装完后可以将这部分空间重新划分正常使用)
4、加载二进制pink文件,写在SECTIONS前
5、将pink文件内容加载到划分的FLASH段中(注意格式)
6、启用UTEST区域中的HSE FW特性标志 (0x1B000000)写入任意值,官方默认的是0xAABBCCDDDDCCBBAA
写入标志位之后才会执行安装
7、编译通过后配置debug,选择ab_swap,更改配置需勾选下方,选择相应算法文件(安装S32文件中自带的)。运行后再断电重启(安装两次)。
8、查看起始地址0x400000处数据是否为0xDB开头,即为AB_SWAP版本的HSE_FW
9、检查是否安装成功
(1)运行后通过库函数查看gHseFwVersion版本号是否与安装包的版本号相同
OTA启动标志(OTA_ENABLE 0x1B000280),安装完成后由HSE写入
也可以通过查看SBAF(0x4039c020),参考另一位博主的文章https://blog.csdn.net/m0_43428611/article/details/132974699
9、由SBAF进行安装并分区
安装HSE_FW是一次性过程,安装好后就一直存在(除非固件破损或自行卸载),并且烧录程序时都要配置为ab_swap,才能烧录进去。
下一章分享如何配置和使用HSE实现双分区功能