【问题标题】:global variables on mbed uvisormbed uvisor 上的全局变量
【发布时间】:2017-03-30 14:34:29
【问题描述】:

我有一个在带有 ARM Mbed OS 的 K64F 板上运行的应用程序。我利用 RTOS 功能并运行一些不同的线程来执行各种操作。线程之间的通信是使用在代码的第一部分定义为全局变量的队列完成的(如 RTOS 示例中所定义)。

MemoryPool<cMsg, 16> NMPool;
Queue<cMsg, 16> NMQueue;

这样每个线程都可以访问队列。

我想将这些线程转换为 uvisor 隔离框。我以这种方式成功地运行了独立线程,但我发现无法在不同的盒子之间共享公共变量。我没有找到关于如何使变量可用于使用 uvisor 编译为单个项目的框文件中定义的代码的参考。任何想法,示例或帮助?

【问题讨论】:

    标签: arm rtos mbed isolation


    【解决方案1】:

    你不能在盒子之间共享内存,uVisor 盒子在隔离的内存空间中运行(这是使用 uVisor 的全部意义)。

    box 之间通信的唯一方法是通过 RPC 通道。请参阅“向安全框公开公共安全入口点”部分下的 this article

    认为你只能通过 RPC 通道传递原语和结构体(因为它们是固定大小的),但这值得一试。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-12
      • 2019-07-24
      • 2017-11-08
      • 1970-01-01
      相关资源
      最近更新 更多