社区导航

 
查看: 848|回复: 0

[资料分享] TinyOS在MSP430F2618上移植(四)之FLASH

[复制链接]

3360

TA的帖子

421

TA的资源

五彩晶圆(中级)

Rank: 8Rank: 8

荣誉会员勋章

发表于 2013-11-29 19:09:27 | 显示全部楼层 |阅读模式

     本节叙述串口FLASH在TinyOS上的移植。 FLASH采用华邦的W25X80,存储容量8M bit,通过SPI接口进行数据读写,具有写保护功能。

       采用3层模型,最底层实现在特定平台中的引脚连接,以及SPI接口的连接。中间层提供Flash接口,该接口为带参数接口(主要是为了学习带参数接口的应用,FLASH的擦除可以体现此方法的优点),参数即为写FLASH的命令。最高层提供应用层模块的接口。

       在本架构中,中间层和最高层提供相同的接口Flash,该接口提供的实现方法有erase,perase(提供块擦除和区域擦除),read,write。最高层接口的实现中并没有给出真正的FLASH操作代码,而仅仅是保存了应用层传递的参数,并且设置当前状态变量,申请SPI资源是操作的关键,因为FLASH的操作都是通过SPI接口进行的,当资源申请成功后,根据当前状态,调用中间层FLASH接口相应的实现函数,这样就把应用层的参数传递到中间层,这时开始真正的FLASH操作。

       因为接口Flash是带参数的接口模型,那么就需要给出不同的实例,在配件HplFlashC和FlashC中提供了接口Flash的不同实例,包括Flash_program,Flash_read,Flash_chiperase,Flash_blocherase,Flash_sectorerase,而这些接口分别连接到HplFlashWireC和FlashWireC,而其中的接口参数分别为对应的FLASH操作命令。最高层Flash接口连接到中间层Flash接口上,而应用层使用的Flash接口则连接在最高层Flash接口上,这样就完成了整个配线过程。

       执行流程:通过接口SplitControl的start启动,该操作完成FLASH控制线的配置,最高层SplitControl接口连接到中间层SplitControl接口上,实际的操作都是在中间层完成。当SplitControl的startDone 触发后,就可以执行接口Flash提供的函数。

       应用中需要使用SplitControl接口和Flash接口,连接到模块FlashC上。

此帖出自MSP430论坛


回复

使用道具 举报

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

本版积分规则

  • 论坛活动 E手掌握

    扫码关注
    EEWORLD 官方微信

  • EE福利  唾手可得

    扫码关注
    EE福利 唾手可得

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

GMT+8, 2018-10-23 05:20 , Processed in 0.118627 second(s), 17 queries , Gzip On, MemCache On.

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