大家如果看了上一篇中的platform device所在的源码,就可以知道,这些语句编译的前提是#ifdef CONFIG_SPI_S3C64XX,也就是说在编译选项中要把SPI_S3C64XX选上才行。
上文说platform device后,还需要platform driver。把编译选项SPI_S3C64XX选上之后,\drivers\spi\spi_s3c64xx.c也会被编译,其中就会有platform driver。
spidev.c及spidev_test.c是linux内核源码提供的SPI驱动程序及其测试程序,我所做RC522的调试,并没有打算自己写驱动程序,用这个系统自带的会大大减少开发周期。关于其内部的细节,我在此就不做详解了,大家自己看源码吧,也有其他的博客详细介绍spidev.c的。
3. 如何使用spidev.c及spidev_test.c程序:
(1)把编译选项中,把spidev和s3c6xx等编译选项选中(bitbang那个选项也要选,虽然我不知道影响是什么,反正我是选了),编译,下载到板卡中,通过ls /dev命令可以看到已经含有spidev0.0及spidev1.0设备。
(2)在/document中有spidev_test.c程序,将其中设备名改为spidev1.0,编译之前把spidev.h考到相同的文件夹,否则无法编译,生成可执行文件,复制到板卡中,将板卡中的SPI1接口上的MISO和MOSI相接,运行spidevapp就可以看到自收发数据的结果。