新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于M D K RTX的COrtex―M3多任务应用设计

基于M D K RTX的COrtex―M3多任务应用设计

作者:时间:2009-01-19来源:网络收藏
1 MDK RL―概述
MDK开发套件源自德国Keil公司,是ARM公司目前最新推出的针对各种嵌入式处理器的软件开发工具。MDKRL―IUX是一个实时操作系统(RTOS)内核,完全集成在MDK编译器中。广泛于ARM7、ARM9和Cortex-设备中。它可以灵活解决多调度、维护和时序安排等问题。RL―I订X的程序由标准的C语言编写,由Real―View编译器进行编译。操作系统依附于C语言使声明函数更容易,不需要复杂的堆栈和变量结构配置,大大简化了复杂的软件,缩短了项目开发周期。
Cortex―是一个32位的核。它是首个ARMv7M架构,主要针对价格敏感但又具备高系统效能需求的嵌入式,如、汽车车体系统及网络装置等。它内核紧凑,性能更高,采用了Thumb一2指令集架构,中断时间更短,标准化内存映射,带有内置SysTick的集成式NVIC。SysTick能定期地产生异常请求,作为系统的时基,计时更准确。
MDK RL―和Cortex―M3都源自ARM公司。ARM公司将其无缝整合在MDK开发套件中,因此将RL―移植到Cortex―M3上非常适合。RL―RTX作为一个全功能的内核,可以结合实时软件库中的其他组件。例如,加入实时库中RL―Flasht文件系统组件,就可以读写标准SD卡和MMC卡上面的文件;加入RL―TCPnet组件,可于HTTP Web,ServeI’、TFTP Server和SMTP Client等。可扩展性强,应用广泛。

2 ―M3硬件平台的构建
STM32F103VB是ST公司基于Cortex―M3的处理器。它有1个128 KB Flash,1个20 KB SRAM,4个16位定时器,100个可编程的I/0引脚,具有I2C、SPI、USB、15SART和CAN接口,2路10通道12位A/D转换器,RTC功能模块,WDT功能和高级电源管理功能。
系统的数据缓存RAM和程序存储器Flash为芯片自带,系统外接A/D转换器构成控制器。基于Cortex-M3核的最小系统框图如图1所示。

本文引用地址:http://www.eepw.com.cn/article/152649.htm

基于该平台,一个超温报警器。使用美国半导体Dalias公司的智能温度传感器DS18820采样,LCD显示温度数值,如果短时间内温度超出正常温度,蜂鸣器发出100 dB警报且LED灯闪烁示警。可以进一步在该平台上进行扩展,加入GPS和GPRS模块,当温度超出设定范围时,GPS将现场经纬度以及时间通过GPRS以短信方式发送给监控中心,GPRS模块自动拨打有关人员移动电话或固定电话报警。

3 MDK RL―RTX的配置与移植
RL―RTX在管理方面不仅支持抢先式切换,而且支持时间片轮转切换。在基于时间片的轮转任务机制下,CPIJ的执行时间被划分为若干时间片,由RL―RTX分配一个时间片给每个任务,在该时间片内只执行这个任务。当时间片到,在下一个时间片中无条件地执行另外一个任务。所有任务都轮询一次后,再回头执行第一个任务。
RL―RTX最多可以定义256个任务,所有任务都可以同时激活成为就绪态。RL―RTX用户任务具有表1所列的几个状态。


上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭