论坛 » 综合技术 » 电源与模拟

         

[原创]如何在ARMv8-M架构处理器上集成FreeRTOS?

工程师
2021-08-05 11:56  1楼

基于ARMv8-M架构的Cortex-M系列(Cortex-M33和Cortex-M23)微控制器中引入了TrustZone技术。通过TrustZone可在单个处理器中启用两个安全(security)域,将执行空间划分为安全和非安全分区。在安全端执行的可信软件和非安全端执行的不可信软件之间实现完全隔离来增强安全性。

安全端提供的函数如果允许非安全端软件调用,需将这些函数必须放在标记为非安全可调用 (NSC) 的内存区域中。

使用 TrustZone后,应用程序由两个独立的项目组成:

1、在安全端运行的安全应用程序

2、在非安全端运行的应用程序

ARMv8-M 内核启动后默认为安全端,由安全软件负责对安全属性单元 (SAU) 和实现定义属性单元 (IDAU) 进行编程,将内存空间划分为安全和非安全区域。安全端的软件可以访问安全和非安全内存,而非安全端的软件只能访问非安全内存。

如何在支持TrustZone的ARMv8-M架构处理器上使用FreeRTOS?

1、FreeRTOS for ARMv8-M移植

FreeRTOS内核提供了ARMv8-M(ARM Cortex-M33 和 ARM Cortex-M23)移植代码:

可以在安全或非安全端运行。允许非安全任务(或线程)调用安全端函数。

当 FreeRTOS 内核在非安全端运行时,TrustZone支持可选。仅允许FreeRTOS内核代码的权限提升。

应用中,FreeRTOS通常运行在非安全端,用户任务可以调用安全端软件导出的函数。

2、FreeRTOS示例工程

最简单的入门方法是使用FreeRTOS/Demo中的示例项目:


本主题由 cczs39302b 于 昨天 16:23 审核通过


  • 2.png (33.92 KB, 下载次数: 0)


    2.png

  • 3.png (18.47 KB, 下载次数: 0)


    3.png


工程师
2021-08-05 12:02  2楼

干货

工程师
2021-08-05 12:06  3楼

感谢分享

工程师
2021-08-05 12:09  4楼

学习到了

菜鸟
2022-06-22 14:39  5楼

想问下ARMv8M怎么获得的?在FreeRTOS哪个版本么

,再就是成功的完整示例有没有?我想一直到兆易GD32L233CCT6这款芯片上,keil开发环境

共5条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]