免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2811 | 回复: 1
打印 上一主题 下一主题

[驱动] 求助!AT91RM9200DK内核移植SPI驱动遇到问题。 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-08-17 09:23 |只看该作者 |倒序浏览
1)内核配置各选项情况如下:
      
  • SPIsupport ---- Config_SPI  开启SPI功能

          
  • Debugsupport for SPI drivers ---- config SPI_DEBUG   开启SPI debug调试

           ----SPIMaster Controller Drivers ---- depends on SPI_MASTER  生成spi.o

           <*>AtmelSPI Controller ---- config SPI_ATMEL 生成atmel_spi.o

           <*>BitbangingSPI master ---- config SPI_BITBANG 生成spi_bitbang.o

           ----SPI Protocol Masters ---- depends on SPI_MASTER

          <>SPI EEPROMs from most vendors ---- config SPI_AT25 生成at25.o

          <*>Usermode SPI device driver support ---- config SPI_SPIDEV 生成spidev.o

         在Device Drivers---- > Character devices ---- >
         取消选中SPI Driver(legacy) for at91rm9200 processor 。
      2) 修改参数
    在arch/arm/match-at91/board-dk.c中

    static structspi_board_info dk_spi_devices[] = {

           {     /* DataFlash chip*/

                  .modalias       ="spidev",

                  .chip_select    =0,

                  .max_speed_hz      =15 * 1000 * 1000,

           },   
    3)编译
    make uImage

    但是下到板子上/sys/class/下没有spidev的目录,/dev下也没有spidev0.0的设备节点
    敬请高人指点
    以上步骤是参照AT91RM9200关于SPI的移植(linux2.6.23)http://hi.baidu.com/sddghaladeng ... d1b73008f7ef24.html
    我的内核版本是2.6.27
  • 论坛徽章:
    0
    2 [报告]
    发表于 2011-08-18 10:26 |只看该作者
    你最好如下的step:
    1)确认的驱动是否已经启动(或者是在kernel启动时已经加载),把kernel启动的log贴出来吧。
    2)如果没有,那就要找找驱动的入口了。
    3)如果有,在找出spi的source-code,看看kernel中是否已注册了该设备,或者没有运行到spi,驱动就退出了
    4)如果以上step都正常,估计你就可以看到dev下的spidev0.0设备了。
    5)以后的步走你就慢慢调吧。


    从以上信息,我估计是kernel没加载该设备。
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则 发表回复

      

    北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
    未成年举报专区
    中国互联网协会会员  联系我们:huangweiwei@itpub.net
    感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

    清除 Cookies - ChinaUnix - Archiver - WAP - TOP