μC/OS-II在TMS320VC5402处理器上的移植

发布者:静心静气最新更新时间:2010-12-18 来源: 电子元器件应用关键字:TMS320VC5402  DSP  移植 手机看文章 扫描二维码
随时随地手机看文章

  O 引言

  TMS320VC5402处理器片内共有8条总线以及CPU、片内存储器和片外电路等硬件。该处理器具有低功耗、速度快,高度并行化等特点。

  μC/OS-II是一种可移植、可固化、可剪裁及可剥夺型的多任务实时内核,适用于各种微处理器。μC/OS-II的源代码开放,所有代码均可采用ANSI的C语言编写,因而具有良好的可移植性,特别适用于对实时性要求较高的场合。

  由于TMS320VC5402以及CCS编译器完全满足μC/OS-II的设计要求,因此,笔者在最小系统板上完成了对该实时内核的移植调试。

  1 μC/OS-II在TMS320VC5402上的移植

  图1所示是μC/OS-II的软硬件体系结构图。将内核移植到TMS320VC5402处理器上就是要修改图1中与处理器相关的几个文件,主要有OS_CPU.H、OS_CPU_A.ASM、OS_CPU_C.C。下面,笔者将一一介绍对这几个文件的修改。

  1.1 OS_CPU.H文件

  不同的处理器有不同的字长,要保证μC/OS-II移植成功,就需要重新定义一系列与编译器有关的数据类型。

  其次是设定进入临界段的方式,代码如下:

  #defineOS_ENTER_CRITICAL 0 asm (“ss-bx INTM”)

  #define OS_EXIT_CRITICAL 0 asm(“rsbxINTM”)

  接下来是定制堆栈的增长方向,由于TMS320VC5402处理器的堆栈是由高地址向低地址增长的,所以常量OS_STK_GROWTH必须设置为1。

  任务切换宏可采用软中断2来模拟中断的发生。其代码为:

  #define OS_TASK_SW0 asm(“INTR#2”)。

  1.2 OS_CPU A.ASM文件

  在此文件中需要编写4个函数。分别为OS-StartHighRdy()、OSCtxSw()、OSIntCtxSw()和OSTickISR()。

  (1)OSStartHighRdy()

  此操作的目的是为OSStart()调用,以使就绪态任务中优先级最高的任务开始运行。 

  (2)OSCtxSw()

  其目的是为OSSched()调用,从而实现任务间的切换。

  (3)OSIntCtxSw()

  主要是为OSIntExit()调用,以在ISR中执行任务切换功能。

[page]

  (4)OSTicklSR()

  这是时钟节拍函数,用于提供周期性的时钟源,从而实现时间延时和超时功能:

  1.3 OS_CPU_C.C文件

  该文件包含10个简单的函数。其中只有OS-TaskStkInit()是必须的,其余9个函数都只需声明,而无需实现。OSTaskStkInit()是为创建任务初始化任务堆栈的函数。

  2 内核测试

  在编写好以上函数,同时完成μC/OS-Ⅱ的内核移植以后,还需要对该内核是否能成功运作进行测试。笔者给出的测试代码如下:

  该任务一般在OSStart()开始多任务处理后开始执行,当OSTimeDly()执行以后,该任务挂起,系统切换至空闲任务OS-TaskIdle()并执行,等到200tick以后,再切换回TaskStart()继续执行。通过系统的全速运行,可以发现.开发板上的XF引脚的LED灯会按照固定频率闪烁起来,这说明所有函数运行正常,移植成功。

  3 结束语

  本文介绍了在TMS320VC5402处理器上移植μC/OS-II操作系统的详细过程,经过上板检验证明,该系统稳定可靠。因此,本文可为嵌入式系统初学者提供一些进一步学习的基础。

关键字:TMS320VC5402  DSP  移植 引用地址:μC/OS-II在TMS320VC5402处理器上的移植

上一篇:μC/OS优先级调度机制在PowerPC上的优化
下一篇:μC/OS-II软件定时器管理算法分析及改进

推荐阅读最新更新时间:2024-05-02 21:13

s3c2440 ads程序移植到keil中(三) 初步完成
如果我把参数配置发生改变呢 然后再一次编译 要包错误 如下所示 其实我们到这里离 在s3c2440 ads程序移植到keil中(二)中看到这个网友不值提供了方法 而且提供了几个文件的下载地址 http://download.csdn.net/detail/googlemi/5176844 我直接下载下来了 把其中的2440init.s文件直接拷贝复制替代我工作中的2440init.s 该错误消失了 但是出现了 这一个错误 反正修改就能解决 然后 提示了一个错误 意思 就nand.c和nand.h 没有加上去 让后加上去了 编译成功没有错误 这种方式到此结束
[单片机]
s3<font color='red'>c</font>2440 ads程序<font color='red'>移植</font>到keil中(三) 初步完成
串口进行STM32F0的IAP移植手记(包括RAM&ROM地址设置)
1 前言 STSW-STM32116是ST官网基于标准库的针对STM32F0的USART进口IAP示例程序,下载链接:http://www.stmcu.org/document/detail/index/id-213120 工程原本是针对STM32F051,本文将介绍如何移植到STM32F070,并针对移植的过程中的问题逐个处理。 2 KEIL下移植 IAP程序一般分为两个,一个是IAP,一个是APP,IAP存放在内置FLASH的0x8000000的起始位置,而APP则存放在离这个位置一定距离的位置,这个距离一定是大于或等于IAP本身所占空间大小,本例子为0x8003000。 下载资源后,打开STM32F0xx_AN4065_F
[单片机]
基于DSP和CPLD的智能相机系统设计与研制
0、引言: 在工业生产中,生产设备的自动化程度在很大程度上决定着生产的效率。同时,高技术高科技的生产设备,对提高产品的档次也有很大的作用。在工业生产现场,有许多工作是重复简单的劳动,或工作环境是不适合人进行处理的。这时,可以设计一种智能仪器,代替人进行这种简单重复的工作或在恶劣的工作环境下进行工作。智能相机系统就是这样的一种自动化仪器。它以其工作效率高、性能稳定、能适合复杂和恶劣的工作环境而越来越受到工业生产的重视。本文将介绍一款用于工业生产现场产品质量控制的智能相机的设计方案,并给出该相机的实际工作情况。 1、系统整体设计: 进行相机系统设计,首要考虑的问题是工业现场生产速度和相机处理速度的匹配问题。系统的整体设计必须以需
[应用]
基于DSP和FPGA的油田测井系统总线通信接口设计
0 引言     随着测井技术的发展,井下仪器的组合功能越来越强,处理的数据也随之倍增,要求片下仪器和地面系统之间具有实时双向通信功能,因此井下仪器与地面系统之间需要一个良好的接日电路以协调2部分的工作。     本文采用DSP+FPGA的方案,由FPGA实现编锯码和数据的存储,DSP完成数据处理和总线协议转换。两者结合将1553B总线运用于现代油田测井系统中可以更好地发挥其高可靠性、稳定性并能够和CAN总线形成互补,能够最大限度地提高系统的数据处理和通讯能力。和传统设计方法相比胲方法数字化程度高,速度和实时性更高。 1 测井系统中通信接口功能及组成     本没计完成油田测井系统中井下仪器与地面系统之间的通讯。需
[嵌入式]
基于TMS320LF2407A的通用式机车信号检测
  铁路机车信号检测是保证列车安全运行的三大重要因素之一。目前,我国铁路机车信号主要采用相位连续的频移键控FSK(Frequency-Shift Keying)调制方式。它虽然具有数字通信的诸多优点,但也有非线性调制的特点,从而使其实时高精度检测具有很大的困难。随着数字信号处理技术及DSP器件的发展,在实用中摒弃了传统的利用单片机对FSK信号进行测周的时标方式,而采用新型DSP芯片TMS320LF2407设计机车信号检测装置。该装置充分利用了DSP器件的资源,在算法上运用了非常实用的基于最近邻模式识别法的FFT分析方法,使所设计的系统具有集成度高、实时性好、抗干扰能力强、可靠性高等优点。   1 轨道信号   FSK信号是
[嵌入式]
基于TMS320LF2407A的通用式机车信号检测
ADSP2181与液晶显示模块SMC1602B的接口设计
引言   常用液晶显示模块的种类有笔段式、字符式和图形式等,可方便地用于各种嵌入式系统的液晶显示。字符式液晶显示模块SMC1602B是长沙太阳人电子有限公司的8位并行接口、内藏控制器HD44780的背光式两行液晶显示模块。   本文使用的DSP是AD公司的一种低价格、高性能的16位定点运算DSP—ADSP2181。它集成度高,在ADSP21XX基础上,把24x16KB的程序存储器,16x16KB的数据存储器,两路串行接口和两路DMA都集成在一个芯片上,运行速度快,指令周期可达25ns。它具有2048个存储单元的I/O口,支持并行的外围设备以及相应的可编程等待状态发生器,适合与不同速度的外设接口,可扩展性强。 SMC1602B的
[应用]
ucosii移植到STM32-F0/F1/F2
用到的资源是: A、ST公司提供:STM32F10x开发标准库V3.5 B、实验平台:战舰开发板V2.1 C、编译软件:MDK3.8 D、编辑软件:Source Insight_V3.5 E、RTOS:ucosii_V2.92 F、实验现象设计:红灯亮灭各800ms,绿色灯亮灭各300ms 一、获取源码 这个可以百度下载,我们论坛也是有很多的源码工程的,官网可以在这里下载 http://micrium.com/downloadcenter/micrium-source-code/ 我移植的是2.92版本 二、获取ucosii源码文件 解压下载下来的压缩包,看到如下的文件目录结构 红色框框就是ucosii源码文件夹
[单片机]
ucosii<font color='red'>移植</font>到STM32-F0/F1/F2
u-boot-2009.08在mini2440上的移植(一)---建立mini2440工程环境(1)
移植环境 1,主机环境:VMare下CentOS 5.5 ,1G内存。 2,集成开发环境:Elipse IDE 3,编译编译环境:arm-linux-gcc v4.4.3,arm-none-eabi-gcc v4.5.1。 4,开发板:mini2440,2M nor flash,128M nand flash。 5,u-boot版本:u-boot-2009.08 6,参考文章: http://blogold.chinaunix.net/u3/101649/showart.php?id=2105215 http://blog.chinaunix.net/space.php?uid=23787856&do=blog&id=115382
[单片机]
u-boot-2009.08在mini2440上的<font color='red'>移植</font>(一)---建立mini2440工程环境(1)
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved