社区导航

 
查看: 1303|回复: 0

[资料分享] TinyOS在MSP430F2618上移植(一)

[复制链接]

3360

TA的帖子

421

TA的资源

五彩晶圆(中级)

Rank: 8Rank: 8

荣誉会员勋章

发表于 2013-11-29 19:07:02 | 显示全部楼层 |阅读模式
最新版本的TinyOS2.1.1,虽然增加了更多的平台支持,比如epic、shimmer,但是这些平台都有一个共同的局限性:采用的微控制器都是低端的MSP430系列,如MSP430F149、MSP430F1611。在一些应用场合,这些处理器已经不能达到性能要求,而基于ZigBee的开发平台,如TI推出的开发套件已经开始使用高性能的处理器,并且国内一些公司,如成都无线龙也都纷纷推出基于MSP430F2618和CC2520无线收发模块,这个模块自从它诞生就很好的支持了ZigBee,因为有TI的全力支持,并且相关的演示代码TI都已经准备好了。但是,目前还没有把TinyOS移植到MSP430F2618上的先例。网上很多人说,这个移植很简单,但是为什么现在还没有成功的案例呢?或许是有的,只是我没有找到而已。那么下面就先分析一下移植的关键点:
首先,通过比较MSPF2618与MSP430F1611的datasheet可以发现,这两款芯片的存储器映射就大不相同,下图是2618的存储器组织结构
20110901140317210.gif
值得注意的就是code memory的起始地址以及占用空间长度、中断向量表地址映射、RAM空间的地址映射。下图是1611存储器组织图
20110901140319723.gif
对比可以发现,两个地址空间有很大的不同。在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
此帖出自MSP430论坛


回复

使用道具 举报

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

本版积分规则

  • 论坛活动 E手掌握

    扫码关注
    EEWORLD 官方微信

  • EE福利  唾手可得

    扫码关注
    EE福利 唾手可得

小黑屋|手机版|Archiver|电子工程世界 ( 京ICP证 060456 )

GMT+8, 2018-10-23 08:47 , Processed in 0.264532 second(s), 18 queries , Gzip On, MemCache On.

快速回复 返回顶部 返回列表