查看: 749|回复: 0

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

[复制链接]
  • TA的每日心情
    开心
    2023-6-12 14:34
  • 签到天数: 165 天

    连续签到: 1 天

    [LV.7]常住居民III

    发表于 2021-8-4 14:30:57 | 显示全部楼层 |阅读模式
    分享到:

    基于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)移植代码:

    1.png

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

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

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

    2、FreeRTOS示例工程

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

    2.png
    3.png
    回复

    使用道具 举报

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

    本版积分规则

    关闭

    站长推荐上一条 /2 下一条



    手机版|小黑屋|与非网

    GMT+8, 2024-4-20 16:19 , Processed in 0.106422 second(s), 16 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.