2578|0

2781

帖子

417

TA的资源

五彩晶圆(中级)

楼主
 

TinyOS在MSP430F2618上移植(一) [复制链接]

最新版本的TinyOS2.1.1,虽然增加了更多的平台支持,比如epic、shimmer,但是这些平台都有一个共同的局限性:采用的微控制器都是低端的MSP430系列,如MSP430F149、MSP430F1611。在一些应用场合,这些处理器已经不能达到性能要求,而基于ZigBee的开发平台,如TI推出的开发套件已经开始使用高性能的处理器,并且国内一些公司,如成都无线龙也都纷纷推出基于MSP430F2618和CC2520无线收发模块,这个模块自从它诞生就很好的支持了ZigBee,因为有TI的全力支持,并且相关的演示代码TI都已经准备好了。但是,目前还没有把TinyOS移植到MSP430F2618上的先例。网上很多人说,这个移植很简单,但是为什么现在还没有成功的案例呢?或许是有的,只是我没有找到而已。那么下面就先分析一下移植的关键点:
首先,通过比较MSPF2618与MSP430F1611的datasheet可以发现,这两款芯片的存储器映射就大不相同,下图是2618的存储器组织结构
值得注意的就是code memory的起始地址以及占用空间长度、中断向量表地址映射、RAM空间的地址映射。下图是1611存储器组织图
对比可以发现,两个地址空间有很大的不同。在TinyOS中设置存储器映射的文件是在/msp430/lib/script中,不过这些只是编译时的脚本文件,直接修改这些文件并不能解决问题,所以最终的办法就是升级你的mspgcc编译工具链,其安装升级方法可以参阅我的另一篇文章Ubuntu 下TinyOS msp430 Toolchain mspgcc升级 。还有就是两种MCU相关寄存器地址的映射,主要还是USCI端口的设置,2618提供4组USCIA0/1,USCIB0/1,比1611多了两组,还有就是2618的USC1A1/B1的中断使能以及状态寄存器不再是由特殊功能寄存器设置,并且没有了mode enable registers 1/2。USCI接口的移植可以说是最繁琐也是最核心的。其他寄存器的配置可以参考数据手册。当升级了mspgcc,MSP430相关库中也已经包含了相应的头文件,需要修改的就是.platform文件中-mmcu的设置,以及版本信息的设置。
在《TinyOS在MSP430F2618上移植(二)》中将详细介绍USCI的移植。


作者:hwwr
 
点赞 关注
个人签名

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

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

 
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
快速回复 返回顶部 返回列表