[应用方案] 如何为Nuvoton M2351的XOM创建Keil Libarary 分享

[复制链接]
663|5
 楼主| 毛线球521 发表于 2021-2-26 09:17 | 显示全部楼层 |阅读模式
本帖最后由 毛线球521 于 2021-2-26 09:19 编辑

如何为Nuvoton M2351的XOM创建Keil Libarary

NuMicro® M2351:世界首颗推出符合 Arm® Platform Security Architecture (PSA) Level 1 认证以 Arm® Cortex-M23 为内核的微控制器。Nuvoton的M2351 加入XOM的保护机制,期望可以帮助开发者可以保护自己的程序。本文着重介绍怎么通过
Keil创建XOM的Libarary。

1.什么是XOM
XOM是顾名思义是只存储空间的意思。代码在XROM区域里只能执行,不允许执行数据访问,可以保护需要加密的程序。XOM 是一种内部软件保护机制,内存空间的一部分仅支持程序执行,除错器或任何软件都无法读取内存的内容。
 楼主| 毛线球521 发表于 2021-2-26 09:21 | 显示全部楼层
 楼主| 毛线球521 发表于 2021-2-26 09:23 | 显示全部楼层
M2351相关的寄存器
(1)M2351提供4个XROM区域(XOM0-XOM3)
(2)XOM大小是可以到1页~255页配置,每页是2048bytes
(3)XOM配置寄存器主要有XOM地址寄存器XOMR0BASE,XOM大小配置寄存器XOMR0SIZE和XOM控制配置寄存器XOM CTRL Config
配置和启用XON的流程:  XOMRnBASE-XOMRnSIZE-XOMRnCTRL,需要注意的是要想XROM功能生效必须再复位芯片。

XOM 编程,创建XOM相关的library
(1)打开 FMC_XOMLib keil 工程 并创建 xom.c

1899160384d743f7c4.png
 楼主| 毛线球521 发表于 2021-2-26 09:25 | 显示全部楼层
(2)打开“Option” dialog of xom.c file

3696860384e0a05703.png
 楼主| 毛线球521 发表于 2021-2-26 09:26 | 显示全部楼层
(3)打开 “Option for Target” 窗口并创建 Scatter file 建立XOM 地址

7434460384e42b9a6f.png
 楼主| 毛线球521 发表于 2021-2-26 09:28 | 显示全部楼层
(4)分配代码空间

4175460384ec1d197c.png
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

46

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部