TinyOS在MSP430F2618上移植(四)之FLASH
来源:互联网 发布:mac iso怎么解压缩 编辑:程序博客网 时间:2024/06/05 08:19
本节叙述串口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上。
移植完成的程序可以在资源中搜索 TinyOS SPI FLASH 移植。
方便大家的交流,加QQ群180839287
- TinyOS在MSP430F2618上移植(四)之FLASH
- TinyOS在MSP430F2618上移植(二)之USCI
- TinyOS在MSP430F2618上移植(三)之LCD
- TinyOS在MSP430F2618上移植(一)
- TinyOS在CC2530上移植之USART
- Ubuntu 下TinyOS在CC2530上移植之环境搭建
- Ubuntu 下TinyOS在CC2530上移植之环境搭建
- TinyOS在CC2520上移植成功
- Tkinter之四(TCL/Tk在Python上的移植)
- APPWeb+PHP5+SQLite3在S3C6410上移植之四
- APPWeb+PHP5+SQLite3在S3C6410上移植之四
- Linux-4.9.2内核在mini2440上的移植(四)——修改Nand Flash分区表
- 在stm32f4_discovery上实现Flash移植!
- U-boot在S3C2440上的移植详解(四)
- U-boot在S3C2440上的移植详解(四)
- u-boot-2009.08在飞凌OK2440/FL2440上的移植(四)——让u-boot支持nand flash识别与操作
- u-boot-2011.06在mini2440上的移植之Nor flash支持
- u-boot-2011.06在mini2440上的移植之Nor flash支持
- TextBox Web服务器控件(十一)
- 封装类
- Image Web服务器控件(十三)
- ubuntu mysql 命令
- android开发入门教程---新建一个android工程
- TinyOS在MSP430F2618上移植(四)之FLASH
- jquery的ajax向ashx传中文,出现乱码的解决方法
- memcached、redis、mysql、mongodb结合架构数据库系统
- 生活开始
- 配置sqlnet.ora限制IP访问Oracle
- 有人说找到了访问Google缓慢的原因
- iPhone 检测互联网连接
- 《C陷阱与缺陷》读书笔记5
- 路由器上的灯标识