TinyOS在MSP430F2618上移植(四)之FLASH
2011-07-24 10:15
197 查看
本节叙述串口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
采用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上移植(二)之USCI
- TinyOS在MSP430F2618上移植(三)之LCD
- TinyOS在MSP430F2618上移植(一)
- 将Flash制作的AIR应用移植到iOS设备
- Zynq-Linux移植学习笔记之17-Zynq下linuxPL部分Flash
- Flash web game移植到android平台需要注意的地方
- CC2530的TinyOS移植之windows篇
- TinyOS在CC2530上移植之USART
- U-boot-2014.04移植到MINI2440(7) nand flash datasheet及arm9控制寄存器分析
- UBOOT-2010-03在S3C2440上的移植<四>------------支持NANDFLASH<续>
- U-Boot移植日志(4)--添加一种新的Flash驱动
- 一个x86平台的spi flash驱动移植笔记
- Zynq-Linux移植学习笔记之18-Zynq下NOR_FLASH挂载文件系统
- 在stm32f4_discovery上实现Flash移植!
- Ubuntu 下TinyOS在CC2530上移植之环境搭建
- SylixOS SPI Flash驱动移植
- 我的首个驱动移植——flash驱动(一)
- 半个小时移植Flash游戏到Android平台
- s3c2440中U-boot移植时执行cp.b提示:Flash not Erased
- Jflash-s3c2410 linux移植