SPI flash debug trace
来源:互联网 发布:java不关闭流 编辑:程序博客网 时间:2024/05/22 10:29
最近想直接脱离mtd 层对SPI flash 进行相关操作。 Linux 下spidev的东东能帮我们做这个事情。
于是,我便使用spidev 的API 编写一个操作SPI 的code, 编译,测试, 读取的数据总是0xFF,我测量了了一下SPI 的数据信号和时候总,都是OK的,这个时候陷入了困境, 没有思路了。。。。。
在这里要说明一下,我使用的是spi ioctl 函数,它调到驱动了,肯定是调用Spi_transfer函数来实现的。以下是我实现的伪代码。。。
spi_transfer(cmd) ; // Send cmdspi_transfer(data); // recv data
乍一看,好像是没有问题,但问题恰恰出在这里。
我们首先陈述下面的部分:
spi_transfer 函数在kernel 层启动了一次传输,在传输的开始时,它会将CS 拉低保持有效,而当传输完成后,将CS 拉高保持无效。
我们再看一张关于CS 的图片:
OK, 当CS 为高时,该芯片处于standby level (待机状态). 处于standby状态就以为么有工作能力,而但CS 为低时,power 处于active state. 两次CS 的变化,这相当于对这宽芯片复了位。(第一次发送命令过去,芯片刚要回,结果你复位了。当你CS 再次拉低的时候,芯片认为你是重新发的命令呢,所以没办法回应) 所以,无法受到芯片的回应信息!
1 0
- SPI flash debug trace
- Debug Trace
- SPI Flash
- SPI-Flash
- debug,trace的使用
- Diagnotics.Debug 和Trace
- Trace、Debug和TraceSource
- debug trace 一些资料
- 总线flash和spi flash
- Debug与Trace的区别
- 调试 函数TRACE("debug information");
- TRACE用于debug模式下
- spi flash 驱动
- spi FLASH 问答
- FLASH读写----SPI
- SPI Flash Parts
- Linux SPI FLASH DRIVER
- spi flash控制驱动
- uImage在内存中无法正常启动——UBoot-2010.06在TQ2440上的移植--机器码配对
- DBUtil连接池
- 判断二分图——染色法
- java 集合框架
- 【Codeforces 678E】【JZOJ 4648】锦标赛
- SPI flash debug trace
- js基础汇总
- 283. Move Zeroes
- 两个链表的第一个公共结点 java
- leetcode 197. Rising Temperature
- 编译时的注解编写
- IOS Dev Intro - vImage scale
- postman应用
- 进程调度