这周一直在调试spi口,调试通过spi口很简单,但是在与slave的通信上出了问题.不管我怎么发命令,slave就是不响应.
刚开始一直怀疑是时序问题,由于在uboot下是正常的,因此我在uboot下把时序抓下来分析,然后再到内核下发数据再对比,发现spi的mosi的输出数据的间隔有一点差别,uboot下是1.4us,而kernel下去是8us,不管我怎么试就再也提不上去了.但是slave还是没有反应,因此我怀疑应该不是时序问题,bcm产的片子不会对时序的间隔要求那么高的,真要是对时序要求那么高,那只能有一种办法,就是用ioremap直接操作寄存器这一招了,但是我心里面认定应该不是时序间隔的问题的,因此没有这么做.
那么应该怎么做呢?我就在uboot下,把mosi的时序间隔调大到1ms,竟然还是能够正常操作,那么就认定不是时序间隔的问题了.
下一步就是问题出在哪里了呢?
我突然想起来,我以前做过的项目有很多都是reset脚被拉低造成这种调试困难的.这个是不是也这样呢?
结果真是reset被拉低造成的.
刚到一新公司,还不太熟悉这的办事风格,可没想到他们几个人因为这个事劈头盖脸的说了我一顿.我挺纳闷,我刚来几天,出这个问题很正常呀.连工作环境都还没有来得及熟悉,就直接干活做文件系统,没想到却得到这样的结果.那个新员工到一个新的环境不得熟悉一两周呀.
这的企业文化真是不太理解,只关心进度,不考虑实际情况,没想到好几个人只会指责别人,却不考虑什么原因造成的这个问题.
计划做完这个项目,呆完试用期再找工作.
有点受不了这的企业文化.