创建工程
菜单栏点击
文件->新建->C/C++工程
选择如下
指定工程名,后缀S表示安全项目ns表示非安全项目
选择芯片型号
选择安全项目
选择裸机程序
时钟配置
时钟在安全项目中初始化。默认情况下,FSP 将时钟生成电路 (CGC) 的所有安全属性设置为非安全,此时,安全和非安全项目都可以更改时钟设置。 也可以选择将 CGC 的所有安全属性设置为安全,因此非安全项目开发人员无法覆写安全项目设置。
点击如下按钮设置为安全属性,这里不配置为安全属性
生成项目
编译
查看生成的初始安全捆绑包
开发安全应用程序
通过fsp配置
定义非安全可调用函数
开发安全应用程序
重新编译并测试应用程序
以下ADC为例
添加ADC NSC模块
右键点击设置为NSC
多了如下图标
接下来添加非安全可调用函数
- 通过声明带 BSP_CMSE_NONSECURE_ENTRY 的函数来创建非安全可调用自定义函数。
实现如下
- 创建一个包含所有自定义 NSC 函数原型的头文件
- 使用“Build Variable”(构建变量)包含 NSC 头文件的路径,如下所示。
- 编译安全项目以创建安全捆绑包。NSC 头文件会自动提取到非安全项目中使用。
BSP_CMSE_NONSECURE_ENTRY
对应的是
开发非安全项目
创建工程
菜单栏点击
文件->新建->C/C++工程
选择如下
指定工程名,后缀S表示安全项目ns表示非安全项目
指定芯片型号
指定非安全项目
选择安全项目
编译
在ns项目中设置关联s项目,以保持同步
开发非安全应用
< class="p" style="">#include "nsc_api.h"
< class="p" style="">led_init();
< class="p" style="">led_ctrl(1);
< class="p" style="">led_ctrl(0);
仿真调试
选择SSD
会自动包含s项目的elf文件
点击调试
可以看到安全和非安全分区的使用情况