2016年1月13日 星期三

在Raspberry pi上面編譯linux driver

這邊以 DHT11 所提供的driver 來當例子

當你進到dht11km 的 folder....

執行   sudo make  時....會產生以下的error message:




這是因為沒有kernel heaer的關係...必須要用   rpi-source 來解決

step 1:

         sudo wget https://raw.githubusercontent.com/notro/rpi-source/master/rpi-source -O /usr/bin/rpi-source && sudo chmod +x /usr/bin/rpi-source && /usr/bin/rpi-source -q --tag-update

   然後輸入

   rpi-source

step 2:  

              

       我遇到gcc 版本不合的問題....我的預設版本是 4.9.2  但是proc version 的版本是 4.8.3

   所以來安裝 gcc 4.8版

   sudo apt-get install gcc-4.8 g++-4.8

     然後把gcc 的版本設成  4.8

    sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 50
  sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.8 50

  
  再執行一次

   rpi-source

   還是有問題....原來是缺少了ncurses-devel 這個套件

    

   按照指示安裝  

    sudo apt-get install libncurses5-dev
  
    然後再執行一次

    rpi-source

    就可以安裝好 

    然後回到linux 的目錄下 ....

    鍵入 

    make

    接下來就會開編譯所以的module ...會編譯蠻長時間的....需耐心等待

    

step 3:

        重開機後...回到剛剛抓的 linux 的 folder

        執行

        make modules_prepare



        重開機後....        

        就可以開始去編譯driver 的程式了

        回到 dht11km 的 folder  

         sudo make

        然後就會得到下面的訊息

       
         
Reference : https://github.com/notro/rpi-source/wiki

沒有留言:

張貼留言