本文更新於2018-08-11
首發於, 文章鏈接 http://www.jianshu.com/p/174844b99716
同步至GitHub: https://github.com/liuqun/linux/wiki
定製樹莓派內核源碼, 通過樹莓派SPI介面載入並訪問TPM2.0設備
所需硬體: X86主機一台, 樹莓派3-B型號開發板一塊, 大容量Micro-SD卡+USB讀卡器一個, 英飛凌TPM2.0評估板一套
所需軟體: 任意版本樹莓派固件(推薦使用 最新版本 ), Ubuntu Linux 虛擬機, gcc-arm-linux-gnueabihf 交叉編譯器, libncurses5(編譯Linux內核配置菜單界面)
取出樹莓派的SD卡, 通過讀卡器插入 Ubuntu 主機或將讀卡器 USB 設備接入 VMware 虛擬機。Ubuntu 默認自動將 U 盤掛載到 /media/$USER/boot 和 /media/$USER/【根文件系統分區】
(以下為覆蓋式安裝, 如果不放心請自行備份SD卡上的原有內核及模塊文件)
選中 5. Interfacing Options --- P4 SPI(啟用/禁用SPI串口)
重啟樹莓派,開機後檢查/dev/tpm0設備文件是否已經載入就緒
② 如何在windows下或者linux下對樹莓派編程(C語言或C++)
硬體的沒玩過
樹莓派 是不是那個 教學型 ARM編程主板?
建議你去 他們官方論壇看下
我同學他們畢業搞ARM的 都是 自己焊接板子的
然後用 winCE或者 unix linux 的嵌入式系統
他這種定製的包裝過的,一般都把很多底層的 原理封裝了,只需要 學號他官方提供的 支持文檔和事常式序,就能實現 很多功能。而且
如果 你直接去學C/C++ windows編程 以及通信編程 SSH協議 等 反倒離目的遠了。
我估計你應該是個 愛好者,或者學生。
論壇里有很多 愛好者 發的 相關項目及 細節
比如:我剛才在 論壇里看到一個帖子說
做了一個工具,在windows下面和pi 進行ssh 交互
http://bbs.ickey.cn/index.php?app=group&ac=topic&id=2573
③ 如何在ubuntu 上 編譯樹莓派 wiringpi
1.簡介wiringPi wiringPi , 安裝好這個庫後可以直接 調用函數配置和控制GPIO功能 下圖中左邊是wiringPi封裝好後的引腳,右邊是樹莓派本身的引腳(bcm2835庫也使用它) 還有一張圖可以參考: 2.樹莓派中安裝wiringPi方法: mkdir temp cd temp wget...
④ 樹莓派入門
1.什麼是樹莓派?
2.樹莓派可以做什麼?
沒有做不到,只有你想不到。因為有GPIO的存在,用GPIO控制一些電路實現更加靈活的DIY。
3.樹莓派的購買選擇?
4.樹莓派系統的選擇?
5.購買無線網卡?
6.儲存卡的選擇?
7.電源的選擇?
8.燒錄系統?
Windows下:
MacOS下:
等燒錄結束後,插卡通電,就可以在路由器後台路由表裡看到樹莓派的ip了(圖中為演示備份截圖香橙派):
9.連接樹莓派?
10.更新系統並配置源?
11.CPIO驅動安裝
樹莓派內核中已經編譯自帶了GPIO的驅動,我們長通過第三方庫寫好的函數庫完成具體的操作。庫有:python GPIO,WiringPi(C語言編寫),BCM2835 C Library (C編寫)
12.編譯最新樹莓派內核
待續~~
其他一些教程請參考 我的:不著調的小男生 。
推薦些關於樹莓派的博客吧:
⑤ 樹莓派編譯8188eu驅動時提示 /lib/moles/3.12.32+/build: No such file or directory.
編譯這個驅動時用不到這個命令吧。。。
http://www.raspberrypi.org/phpBB3/viewtopic.php?f=26&t=29752
這個上面有詳細的教程
注意系統版本號與對應驅動文件的選擇。
⑥ 怎麼用樹莓派編譯C語言程序
用樹莓派編譯C語言程序方法:
首先安裝Xshell軟體。
點擊New,新建一個ssh連接。
名字隨便起,這里我寫樹莓派。
ip地址,寫樹莓派的ip,我的樹莓派ip是192.168.1.222。
點擊OK。
這樣就建好ssh鏈接了,雙擊樹莓派。
填寫的用戶名,我是用的默認的pi。
點擊OK。
填寫密碼,默認的是raspberry
連接成功。
在命令行輸入vim test.c。
回車。
這時,無法輸入任何字元,按下i鍵,進入編輯模式,此時test.c會變成INSERT
,這時就可以輸入代碼了。
編輯好代碼。按ESC,進入命令行模式
輸入wq!回車
退出vim程序。
接下來在命令行中輸入gcc test.c -o test
回車,生成可執行文件test
./test即可看到運行結果hello world !
大功告成
⑦ 樹莓派編譯錯誤沒有winsock.h文件
編譯器路徑沒有設好。
如果編譯器路徑沒有設好,也會找不到文件。編譯器安裝時,應裝好了設好了路徑。
樹莓派是一款功能強大、緊湊型的控制器,並且它的價格更具優勢。它基於樹莓派計算模塊3+,具有更加多樣的連接選項和功能。
⑧ 如何在樹莓派上安裝 QT 編譯器
首先我需要的開發工具Qt Creator 先從終端單獨下載:
sudo apt-get install qt4-dev-tools
之後安裝QT CREATOR 編譯器:
sudo apt-get install qtcreator
之後繼續安裝編譯環境:
sudo apt-get install gcc
sudo apt-get install xterm
sudo apt-get install git-core
sudo apt-get install subversion
該版本基於Qt Creator 2.5 with Qt 4.8.1 32 bit
存在問題:沒有工具鏈。
我們只能編譯遠程嵌入式設備,這不是這里的情況,因為我們是PI,而不是遠程訪問它。
我添加了一個gcc工具鏈
工具/選項>構建和運行>標簽工具鏈>按鈕添加 選擇GCC
然後設置編譯器路徑:/usr/bin/arm - linux - gnueabihf - gcc - 4.6
調試器:/usr/bin/gdb
Mkspec:默認
Qt Creator似乎發現我們將部署在一個遙遠的目標。
為了解決這個問題:
去幫助>菜單插件
取消設備支持遠程linux >
重啟Qt的創造者
去工具>選項選項卡> >構建和運行> Qt版本添加「/ usr / bin / qmake-qt4」
然後,它將顯示為一個桌面項目在項目向導,而不是嵌入。
⑨ 樹莓派b+ gcc lwiringPi 編譯錯誤 gpio控制led
新建一個名為led.py的程序,程序的具體內容如下:
123456789101112131415 #!/usr/bin/env python# -*- coding: utf-8 -*- import RPi.GPIO as GPIOimport time GPIO.setmode(GPIO.BOARD)# need to set up every channel which are using as an input or an outputGPIO.setup(11, GPIO.OUT) while True: GPIO.output(11, GPIO.HIGH) time.sleep(1) GPIO.output(11, GPIO.LOW) time.sleep(1)
使用cd命令進入文件所在目錄,然後輸入指令
1 sudo python led.py
使用這種方法實現LED閃爍的最容易的方法,網上的教程也非常多,是入門樹莓派的好方法。
2.2 wiringPi
新建一個名為blink.c的程序,程序內容如下
1234567891011 #include <wiringPi.h>main (){ wiringPiSetup () ; pinMode (0, OUTPUT) ; for (;;) { digitalWrite (0, HIGH) ; delay (500) ; digitalWrite (0, LOW) ; delay (500) ; }}
使用cd命令進入所在文件目錄,然後輸入以下命令生成可執行文件blink
1 gcc -Wall -o blink blink.c -lwiringPi