[MCU] 【AT-START-F403A测评】之六freeRTOS系统基于IAR安全库(sLib)二次开发模式实践

uuxz99   2020-10-22 21:49 楼主

上例测评中实现slib功能过程中,由于遭遇到IAR奔溃问题,采用妥协方式实现了slib功能,本次测评是问题解决过程,并实现了slib的二次开发模式,即先通过ICP方式烧录安全代码并启动slib,然后通过IDE下载用户代码。

经过分析由于flash区域重叠造成奔溃。因此重新规划安全:

1. 一页指令,0x0800E000-0x080027FF

2. 一页数据,0x0800E800-0x08003000

1. 安全代码项目

1.1调整项目,将数据文件和代码文件独立开来】

image.png

      1.2安全代码项目更改ICF文件安全区地址

image.png

 

    1.3编译后通过map文件确认地址分配

image.png      1.4IDE下载后汇编观察结果,确认安全区已正确下载

image.png

1.5 通过ICP烧录安全代码并启动slib

  1.5.1.链接AT-Link后提取安全区代码

image.png

1.5.2生成安全烧录代码文件

image.png

1.5.3 下载刚刚生成的提取文件并启动slib功能

image.png

image.png 1.5.4确认slib功能启动状态及读取安全区内容

image.png

image.png

 

2. 用户代码项目

2.1 延用上次评测用户项目,调整ICF文件

image.png

2.2调整用户代码下载地址地址。

Option->Debugger->Download->Edit(Override default .board file)->Edit->Flash Loader Overview->Flash Loader Configuration

image.png

 

image.png

 

image.png

2.3编译后下载观察安全区代码均为0xFF

image.png

2.4 运行调试用户代码

image.png 结论:

1.二次开发模式下,用户无需接触slib的代码,只需调用就可以。换句话说,供应商开发好有关核心代码后先烧录入芯片安全区并启动安全模式,然后将芯片递交给用户。对于用户而言,就像使用一个库函数一样。

2. 调试运行效果

image.png

本帖最后由 uuxz99 于 2020-10-22 21:47 编辑
  • image.png
  • image.png
  • image.png

回复评论

暂无评论,赶紧抢沙发吧
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复