2479|4

11

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

【AT-START-F403A测评】之五--freeRTOS系统基于IAR环境安全库(sLib)功能测评 [复制链接]

  本帖最后由 uuxz99 于 2020-10-19 11:01 编辑

AT-START-F403A测评】之五--freeRTOS系统基于IAR环境安全库(sLib)功能测评

 

 

本次对安全库(sLib)功能进行测评。本例测评采用两个project实现,首先新建需要进行安全保护的项目,本次评测将之前评测中显示任务打印字符信息作为保护对象,以下简称为保护代码。另一个是延用之前评测项目,以下简称为用户代码。步骤如下

1.安全区域规划

  • 一页指令,0x08002000-0x080027FF
  • 一页数据,0x08002800-0x08003000 

2.为保护代码新建安全保护项目

2.1建立项目框架并新建工程文件

 

    2.2工程文件mainlib.c,内容无所谓

    2.3工程文件slibledFunc.c,是受保护的代码

  2.4定制链接配置文件(ICF)

从IAR安装目录\arm\config\linker\ArteryTek目录下复制AT32F403AxG.icf文件到工程项目目录中并更名为AT32F403AxG_sLib.icf,如下修改

 

 

  2.5指定项目链接配置文件:

  • 进入菜单project->option,弹出对话框选择Linker->config
  • 选中Override Default选项,选择修改的链接配置文件

 

2.6增加编译后处理命令,便于输出符号用于应用代码。

  • $TOOLKIT_DIR$\bin\isymexport.exe "$TARGET_PATH$" "$PROJ_DIR$\slibLedFunc_symbol.o" --edit "$PROJ_DIR$\slibLedFunc.txt"
  • 输出符号控制文件slibLedFunc.txt是输出符号控制文件,用于生成选定的输出符号代码。

 

2.7符号输出命令设置

 

2.8编译结果如下

 

3.用户代码设置

3.1定制链接配置文件(ICF)

 从IAR安装目录\arm\config\linker\ArteryTek目录下复制AT32F403AxG.icf文件到工程项目目录中并更名为AT32F403AxG_app.icf,如下修改

3.2项目文件调整

移除原有led.c增加符号输出文件。

                      

3.3修改任务调用函数如下

 

3.4通过ICP提取并生成安全代码烧录文件:

  • 整个烧录保护代码。

               读取有关保护部分0x08002000-0x08003F00并保存为文件

3.5通过ICP烧录安全代码:

  • 先通过IDE下载或者ICP下载用户代码。               
  • 通过ICP烧录保护代码。

结论

最新回复

sLib是源代码还是.a?   详情 回复 发表于 2020-10-19 22:58
点赞 关注
 
 

回复
举报

1942

帖子

2

TA的资源

版主

沙发
 

感谢分享,还不错哦,流程非常清晰,感觉照着操作就行。等我有开发板了,我也试试

点评

这个不是最好的办法,因为手头iar这个版本有点问题采用这个办法,最好的是同时一次下载完成  详情 回复 发表于 2020-10-19 20:07
 
 
 

回复

11

帖子

0

TA的资源

一粒金砂(中级)

板凳
 
w494143467 发表于 2020-10-19 12:49 感谢分享,还不错哦,流程非常清晰,感觉照着操作就行。等我有开发板了,我也试试

这个不是最好的办法,因为手头iar这个版本有点问题采用这个办法,最好的是同时一次下载完成

 
 
 

回复

7514

帖子

18

TA的资源

五彩晶圆(高级)

4
 

sLib是源代码还是.a?

个人签名

默认摸鱼,再摸鱼。2022、9、28

 
 
 

回复

11

帖子

0

TA的资源

一粒金砂(中级)

5
 
本帖最后由 uuxz99 于 2020-10-20 11:09 编辑

slib源码->a->symbol是为了让用户代码通过编译,实质上是没有实际代码下去。通过extra image可以下实际代码下去,但我这边iar的这个bug导致整个ide奔溃。顺便说一下,slib这个功能实质上是和软件的商业模式有关的,根据商业模式可以实现用户完全接触不到slib这部分,或者有限制的接触,完全以lib的形式发布等等

 

 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表