微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 在晶心平台运行具 OSC 的 FreeRTOS

在晶心平台运行具 OSC 的 FreeRTOS

时间:01-08 来源: 点击:

Overlay Exception Handling 的动作

确定  overlay miss  后,做更新overlay region的动作。

Step 1 得到新的overlay region  地址:

-    从IPC得到更新overlay page的起始位置。

-    更新OVLBASE  寄存器。

Step 2 更新的overlay page内容复制到  SRAM  中的overlay region

Step 3 最后执行iret返回overlay miss发生时的地址。

2. 具 OSC 的 FreeRTOS 介绍

Andes 结合OSC 与 FreeRTOS设计出具 OSC的FreeRTOS ,OSC的功能与 原理已经于上个章节介绍,本章节将说明具 OSC的FreeRTOS与一般FreeRTOS 的差异处,并列举范例程序的运行,展现OSC与FreeRTOS的功能。

2.1 具OSC的FreeRTOS内存配置

具OSC的FreeRTOS其内存配置如图2,范例程序的linker script设定了LMA(系 统image)的内存配置模式,其中loverlay0, overlay1  与  overlay2是仿真  storage 的 地址。linker script 设定VMA(系统执行时)的内存配置模式,当系统运行进入 overlay1,  2...  时产生overlay  miss  触发  exception  将overlayN 内的 数据复制到 overlay region  中,这样的设计达到一份Overlay Region  的SRAM空间可以在不同 时间执行对应不同的overlayN程序代码的目的。

图 2.具 OSC 的 FreeRTOS 内存配置图

2.2 osc_hisr task

从图2的overlay0, 1, 2 中可以发现系统会运行task1与task2。说明FreeRTOS 做overlay region置换时也会执行scheduler 做置换task 的工作。本范例程序设计 是在standard FreeRTOS 中增加一个 osc_hisr task 做overlay region 置换与管理 的工作。如何达到OSC 与  osc_hisr task的结合需从Overlay Exception Handling的 动作开始研讨:

●    当 overlay exception  被触发时,送 message 给  queue 启动  osc_hisr task。

●    因为 osc_hisr task  做 overlay region  资料的置换,所以 osc_hisr task  尚未执 行完成前,不可以执行 Overlay Exception Handling 的  iret.

osc_hisr task  的主要工作在:

●    Map overlay region

●    overlay region  数据的复制。

osc_hisr task  设计的原则:

●    此 task  必须是最高 priority task.

●    此  task 必须放在 fixed region.

2.3 范例程序运行

具 OSC 的 FreeRTOS  在 Andes EVB 上直接运行得到的结果如图 3,范例程 序中键入 3 时,是进行 task 转换,因为不同 task 运行相对应的 overlay function 从 console task  转成 task1  再转成 task2 也会产生相对应的 page fault 执行 osc_hisr task。由图 3 红色箭头与数字转变可以得知 task 转换启动 function  overlay 运作, 从此范例程序中可同时验证 OSC 与 FreeRTOS 两者的功能。

图 3.范例程序执行结果

3.  结语

本文第一章说明 Andes OSC 的工作原理与功能,第二章说明 FreeRTOS 如何 与 Andes  OSC 整合运作,在 OSC 的 FreeROTS 中也增加一个最高 priority task “osc_hisr” 来执行 OSC 相对应的功能,进而说明了具 OSC 的 FreeRTOS 需注意 的设计原则,具 OSC 之 FreeRTOS 是由软件与硬件单元所组成,兼具硬件的效 能与软件的弹性。

已经有业界客户取得 Andes 具 OSC 之 FreeRTOS,开发出具竞争力产品在市 面上销售,由此可知具 OSC 之 FreeRTOS 具有经济实用的价值,可以协助客户 在使用 AndesCore?时,设计出具有弹性且高附加价值之产品。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top