TinyOS 再论FLASH与SPI总线问题

       其实,在TinyOS系统内部,对CC2420与FLASH芯片上的SPI资源分配上已经实现好了,不需要用户自己调用Resource()接口,然后又再去释放资源。用户只需要调用Flash的接口的读写函数就可以了。

        说到Telosb节点上FLASH的使用,说明文档给出了三种使用的方法。分别是:块存储Block、配置存储Config、日志存储Log。各种方法调用的FLASH读写组件都不同。但是,系统内部都同样已经实现了对其SPI总线使用的资源调度。也就是说,同样不需要用户自己分配SPI总线。

        在测试的过程中,我需要把AD采集得到的数据存入FLASH,就开始测试FLASH 的读写问题。结果发现,ConfigStorage的方法比较慢,每次读写FLASH之间至少需要隔2秒的时间。至于为什么这么慢,看系统的文件我也没看出来。反正就是系统实现的,自己用就是了。

        然后就是BlockStorage的方式,这个还好一点,每次读写的间隔只需要70ms左右。   日志模式,我猜也没什么用,就没去看了。

  1. uses interface BlockRead;  
  2. uses interface BlockWrite;  

  1. uses interface ConfigStorage;  
  2. uses interface Mount ;  

2012年1月10日

          博客荒废太久了,事情搞定之后就没有了想记录一下的动力,攻破了一个困难之后,好开心,心情就放松得很,不去回忆一下解决问题的过程,不记录经验,很快又忘了。下次,完成一项任务之后,就要立马把其中的解决难题的方法记录下来,不要养成拖拖拉拉的坏习惯。

         其实在读写FLASH  M25P80的时候,还有一个问题当时没搞清楚。那就是,每次写FLASH之前,都要确保所写的区域已经擦除过。FLASH不同于E2PROM,以前读写24C20的时候也不用什么擦除的,FLASH则不同。而M25P80的擦除分为扇区(sector erase)擦除和全擦除(bulk erase) 。擦除完毕之后,写入的话就有 页写入指令,当然,用页写入指令也不是每次都要规定入户写入完整的256个字节,可以写少于256字节的,多于256的话,那么前256字节将会丢弃,只在同一个地址写入多出的数据。





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值