新路程------imx6 spi cc1101遇到的坑

来源:互联网 发布:maya软件破解版 编辑:程序博客网 时间:2024/06/06 10:39

最近搞cc1101,遇到的坑不少

首先是读写的坑,一开始burst读一直不成功,看了数据手册30页,read的地址后面跟的是个X,其实意思是任意数字,也就是你读的时候第一个byte是地址,第二个byte要填一个任意数字才能读出数据。


第二个坑是spidev.c中,我在系统启动过程中调用自己的read,始终报错,后来一看才明白

struct spidev_data {
dev_t devt;
spinlock_t spi_lock;
struct spi_device*spi;
struct list_headdevice_entry;


/* buffer is NULL unless this device is open (users > 0) */这句话很重要,初始化过程没有分配空间给buf,所以直接read/write去用buffer就会kernel panic
struct mutex buf_lock;
unsigned users;
u8 *buffer;
};

然后看了为啥应用层就可以调用呢,因为open的时候分配了空间,还好没浪费太多的时间

原创粉丝点击