S32K144带bootload的运行过程

  1. S32K144_64_flash.ld文件中指定了固件中各个字段的空间分配情况,编译器依照此文件编译生成固件。 ps: S32K144_64_ram.ld文件指定代码在ram中运行时各字段的空间分配情况。

  1. 固件开始4个字节为栈顶地址,之后4个字节为reset中断向量入口地址,之后的中断向量入口地址如下图,参考arm cortex-m4文档DUI0553.pdf:

  1. 中段向量表的起始地址在S32K144_64_flash.ld文件中指定,如下:

  1. 固件写入flash之后,cpu默认中断向量表从0地址处开始,首先进入Reset中断,执行Reset_Handler中断服务函数。

  1. Reset_Handler函数会加载sp指针,调用init_data_bss函数初始化ram中的全局变量,把中断向量表复制到ram中,设置VTOR寄存器的值为ram中的中断向量表地址(如果需要的话)和其他一些初始化内存的操作,之后跳转至main函数执行。

  1. app固件需要根据app的存储地址在S32K144_64_flash.ld文件中指定各字段的位置:

  1. Bootload欲跳转到app时,先定义函数指针,把函数指针赋值为app的Reset_Handler中断服务,然后运行该函数指针。

  • 2
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
根据引用\[1\]和引用\[2\]的内容,S32K144是一款MCU芯片,其中包含了一个bootloader。为了充分利用芯片的资源并确保安全性,bootloader被放置在了flexNVM中的一块flash中。flexNVM的总容量为64KB,其中32KB用于存放bootloader,剩余的空间可以用作EEPROM来存储一些需要长期保存的信息,比如车辆VIN、安全密钥以及OTA所需的秘钥等。此外,还有4KB的空间用于存放固件信息和固件有效标志。 根据引用\[3\]的内容,S32K144的bootloader可以实现从bootloader跳转到固件A,并且测试通过。但是从bootloader跳转到固件B的测试目前失败,固件B的APP无法启动。明天将进行从固件A跳转到bootloader的测试,以及从固件B跳转到bootloader的测试。同时还将进行从固件A到固件B的测试,尽管目前可能没有这个场景的需求。 综上所述,S32K144的bootloader具有跳转到固件的功能,但目前在跳转到固件B的测试中遇到了问题。 #### 引用[.reference_title] - *1* *3* [S32K144 bootloader 方案设计](https://blog.csdn.net/weixin_43139794/article/details/107293173)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [S32K144 Bootloader UDS 开发](https://blog.csdn.net/fz835304205/article/details/115421218)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值