[해결] PRI에서 SPI 드라이버가 안올라오는것 같습니다.



  • wiringPI를 설치하고 gpio load spi명령어를 넣었는데 동작하지 않네요.
    처음 부팅할때 뜨는 메시지들 dmesg로 확인해봐도 i2c는 초기화 되었다고 나오는데 spi는 초기화 되었다는 부분이 안보이구요.


  • Global Moderator

    @사고다발지역 안녕하세요 나무꾼 입니다. 질문에 올리신 내용 처럼 SPI 핀자체가 장치드라이브로서 동작을 할 수 있더록 커널드라이브에서는 올라와 있는 건가요 ?

    /boot/config.txt 내에 device tree 옵션이나 /etc/modules 내에 SPI 를 활성화 후

    /dev/spi* 장치가 정상적으로 인식이 되고 있으신 것인지 궁금합니다.

    위 내용만 보아서는 SPI 기능이 활성화 된 것이라 판단을 할 수가 없습니다.

    SPI 기능을 사용하기 위해 무엇을 어떻게 액션을 취하셨는지가 없습니다.

    참고로 wiringPi는 모든 기능이 정상회된 상태에서 gpio pin을 활성화 해주는 기능이라기 보다는 활성화된 gpio pin을 제어 하거나 기능정의 변경을 할 수 있는 라이브러리에 불과 합니다.

    추가로 이야기하신 커널 커맨드의 기능정의 변경이 이루어 졌다면 /dev/spi* 라는 장치가 생성되는 것이 정상이고, 반듯이 재부팅을 해주어야만 합니다.



    • raspi-config 상에서 SPI를 활성화해준후 시스템 재부팅 수행
    • /etc/modules 내에 spidev 추가(제 파이에는 사운드드라이버만 적혀있고, 아무것도 적혀있지 않더라구요)

    이렇게 수행했습니다.

    /dev/spidev0.0
    /dev/spidev0.1
    파일은 처음부터 생성되어 있던것을 확인했습니다.

    제가 그 후에 이것저것 시도하다가 어딜 건드렸는지 모르지만 오늘아침에 다시 spidev_test 파일을 실행해보니 신호가 인식되네요…-_-;;;

    해결은 한것같은데 뭔가 찝찝하고 방법을 알아서 공유하고 싶었는데 뒷걸음질치다가 쥐잡은 모양이 되어버렸네요…

    신경써주셔서 감사합니다.


  • Global Moderator

    @사고다발지역 안녕하세요 나무꾼 입니다.

    우선, 현재의 라즈비안은
    raspi-config상에서 SPI Enable 해준 후 시스템 재부팅 수행이 내용만 진행하시면 기본 SPI 포트가 활성화가 이루어 집니다.

    더불어, /dev/spi0 and 1 이 장치가 생성 되어었다는 것은 SPI 핀이 정상적으로 활성화 되셨다는 것을 의미 합니다.

    정보공유 차원에서 추가로 남겨 두겠습니다.


답변을 위해 로그인하기