6028|0

1

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

Ucos-2在OMAPL138上的移植 [复制链接]

Ucos-2是一个精巧且可剪裁的适合嵌入式系统的操作系统,这个操作系统已移植到很多嵌入式芯片中。TI作为全球领先的微控器生产厂商,ucos-2在6211,6414,6711,6713上得到移植。因为项目开发,开始接触OMAPL138这款芯片,上网搜索发现没有针对该款芯片的移植,当然OMAPl138的DSP核心为C674X,它向下兼容64x+,67xx,64xx内核,所以针对这些芯片,如6414,6713的移植可以在很小改动下在OMAPL138上运行(需要修改芯片初始化过程和定时器初始化)。所以针对OMAPL138的移植在前人的基础上难度小了很多,本程序是在6414的移植基础上做的修改。
考虑到OMAPL138是在ARM启动后再启动的,芯片初始化的工作已由ARM完成,所以dsp开始工作时仅需要初始化定时器和中断向量表重定位。本程序中用了定时器1,注意不要使用定时器2,因为ARM的Linux已经占用了,修改定时器2会导致ARM崩溃。当然若要单独调试DSP程序,可以用CCS加载GEL文件来初始化程序。
关于C_int00符号的位置本程序放在0x0x11800000,ARM启动DSP时需按这个位置设置复位寄存器,当然可以放在别的位置上,只需按1K字节地址对齐即可。
中断向量表的位置可以放在任意位置,按1k字节对齐,初始化是设置ISTP寄存器即可。
Ucos-2需要一个定时器,我把该定时器中断服务函数放在8号中断向量上,定时周期1ms,若要修改定时器周期,修改USTIMER_init()函数即可。
最后写个小的测试程序,创建两个线程,延时轮流执行打印些语句。
这个移植工作是在瑞泰的开发板上做的测试。CCS采用的是3.3.82.13 ,CGT版本是6.1.20。
程序代码都放在256k的L2中,和外部DDR大小无关,若程序变大,可以考虑修改cmd文件将代码或数据放在DDR中,注意不能和ARM占用的内存冲突。
写下这些是为了整理思路,分享给大家,若发现程序有问题,欢迎发邮件给我,我可以修改,[url=mailto:我的EMAIL地址fanweiwei@hrbeu.edu.cn]我的EMAIL地址fanweiwei@hrbeu.edu.cn[/url]

ucos2_omapl138.zip

5.43 MB, 下载次数: 62

点赞 关注
 

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表