重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
如果linux中已经提供了驱动,并且在/dev/目录下已经提供了相应的设备文件节点。那么可以和串口一样直接打开设置读写。如果内核中有驱动,但是没有生成设备文件节点,那么只要知道设备的主次设备号,可以使用mknode建立设备文件节点,然后直接来使用。如果没有驱动就需要自己添加设备驱动了。这个也分两种情况,看你外设怎么和你的板子连接的。如果接到板子上的spi控制器上,可以直接编写通过控制器来控制外设的驱动,这种情况一般生产主控芯片的厂家都已经提供了驱动。如果没有接到spi控制器上,而是通过gpio连接的外设,你编写的驱动就需要自己来模拟spi协议来控制外设。
桐乡网站制作公司哪家好,找创新互联建站!从网页设计、网站建设、微信开发、APP开发、成都响应式网站建设公司等网站项目制作,到程序开发,运营维护。创新互联建站从2013年开始到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选创新互联建站。
系统不适配。Linux,全称GNULinux,是一种免费使用和自由传播的类UNIX操作系统。Linux不支持SPIflash命令执行,系统不适配,需要在SPIflash上启动系统,需要对Uboot和系统镜像做些适配,在linux启动脚本里挂载spiflash分区,进行测试。
内核版本2.6.30。编进内核的SPI驱动,通过看代码我明白了,大致过程是这样:
1、先创建一个spi_board_info结构描述spi设备信息,调用spi_register_board_info将这个结构添加到board_list中。
2、然后调用spi_register_master注册SPI控制器驱动,此时会调用scan_boardinfo扫描board_list,根据spi_board_info调用spi_new_device生成spi_device结构,用spi_add_device添加设备。
3、调用spi_register_driver注册spi_driver,通过与device匹配驱动设备。