首發極術社群最重要的問題應該就是編譯tf-m所需的工具及庫軟體的安裝。 以前在x86下可能問題並不是太大,但是現在切換到arm架構的m1,軟體適配方面的問題就尤為重要。 所幸筆者發現,常用工具對m1架構的還是不錯的,而且適配的速度遠超筆者預期。 下面以gnuarm編譯器為例,介紹一下m1晶元的系統中,如何搭建tf-m開發環境。
一下內容基於 硬體:macbook air m1 8g 256gb 系統:macos big sur 11.1
在開始安裝tf-m相關環境之前,我們先把macos的環境設定好。
由於後面我們會修改環境變數,所以首先把bash的配置檔案建立好。關於.bash_profile和.bashrc檔案在macos下的問題,參考這篇文章 簡單的說,在使用者的家目錄下建立這兩個檔案,然後.bash_profile呼叫.bashrc。這樣做是因為保持與其他linux/unix平台做法一致。當然,你也可以在.bash_profile中做所有事情而忽略.bashrc。 建立.bash_profile(這裡使用vi作為文字編輯器,可以替換為你喜歡的)
vi ~/.bash_profile
編輯.bash_profile並儲存
if [ -r ~/.bashrc ]; then
source ~/.bashrc
fi
建立.bashrc
vi ~/.bashrc
以後可以像其他linux平台一樣,修改.bashrc檔案。
為了後面安裝軟體更方便,推薦安裝homebrew。 方法非常簡單,在命令列執行
/bin/bash -c "$(curl -fssl "
這裡如果出現無法連線的情況,需要檢查一下dns設定。新增114.114.114.114和8.8.8.8作為dns伺服器位址。dns設定方法這裡不詳細描述,可以很容易在網上找到。這裡主要介紹與搭建環境相關的步驟和要點。
export path="$path:/opt/homebrew/bin"
重啟終端或者source ~/.bashrc之後,如果可以使用brew命令,則說明安裝設定正確。
cmakegnuarm compilerpython3以及pip3,相應的python依賴包
下面一一介紹他們的安裝步驟和要點
系統可能已經安裝python3,但是為了確保安裝正確,我們通過brew安裝python3。在命令列中執行 brew install python3 此時,python3和pip3應該已經一起安裝完畢。
隨後,進入tf-m的安裝目錄,進行python依賴庫的安裝 cd pip3 install -r tools/requirements.txt 這時,很有可能你會遇到安裝cryptography時的錯誤。 這裡遇到的唯一乙個難點。 總結下來,問題有:
缺少rust編譯環境
訪問rust官網安裝,簡單的說,就是執行 curl --proto 『=https』 --tlsv1.2 -ssf | sh 安裝成功後,在你的.bashrc檔案會看到多了下面一行 source 「$home/.cargo/env」 重新開啟終端或者source ~/.bashrc後解決。 如果安裝過程有問題,可以通過brew安裝。這裡不再贅述。
找不到openssl標頭檔案
首先確定安裝openssl: brew install [email protected] 然後手動帶路徑安裝cryptography env ldflags="-l(br
ew−−
pref
ixop
enss
l)/l
ib"c
flag
s="−
i(brew --prefix openssl)/lib" cflags="-i
(brew−
−pre
fixo
pens
sl)/
lib"
cfla
gs="
−i(brew --prefix openssl)/include" pip3 install cryptography
如果手動安裝cryptography成功,可以再回去安裝其他的tf-m依賴庫 pip3 install -r tools/requirements.txt
現在安裝應該全部沒有問題了。
前面安裝好cmake和gnuarm之後,還沒有把可執行檔案路徑加入path。 編輯~/.bashrc,加入 export path=「pat
h:/a
ppli
cati
ons/
cmak
e.ap
p/co
nten
ts/b
in"e
xpor
tpat
h="pa
th:/
appl
icat
ions
/cma
ke.a
pp/c
onte
nts/
bin"
expo
rtpa
th="
在所有環境都安裝好之後,我們進入tf-m**目錄,嘗試編譯tf-m
cmake -s . -b cmake_build -dtfm_platform=mps2/an521 -dtfm_toolchain_file=toolchain_gnuarm.cmake
cmake --build cmake_build -- install
一切順利的話,tf-m應該可以正常編譯了。 如何在M1晶元的MacBook上安裝opencv
直接使用homebrew安裝 brew install s opencv 所以,homebrew預設安裝opencv contrib,不需要考慮重新編譯opencv opencv contrib,這也就是為什麼說brew安裝是最簡單的方法。自己在這個地方停留了很長時間,在尋找如何補全編譯,後來在官方...
M1 晶元已經可以流暢執行 Windows 系統!
m1晶元已經可以安裝windows 無論是用過還是沒有用過蘋果全新 m1 晶元的 mac 使用者,都知道這顆蘋果自研晶元有多強大,不過,這種強大是基於 arm 架構之上的。這也導致不少需要用到 windows 虛擬機器的使用者非常苦惱,畢竟很多小眾軟體和單位企業等內部應用都是需要 x86 架構的 w...
M1晶元版mac輕鬆讀寫NTFS格式磁碟教程
以下教程是針對 m1 mac 的。並且請確保 macos 在 11.0.1 或高 建議公升到最新版 把 m1 mac 關機然後按住開機鍵。注意是按住不鬆手,接下來應該會聽到 duang 的開機聲。繼續按住直到螢幕出現 正在載入啟動選項 然後鬆手。接下來會出現下面這個畫面。注意如果你用的跟我一樣是 m...