章節描述:
介紹如何通過sdk生成裝置樹,以用於arm-linux環境。
開發環境:
介紹:
device tree是一種描述硬體的資料結構,由一系列被命名的結點(node)和屬性(property)組成,而結點本身可包含子結點。所謂屬性,其實就是成對出現的name和value。在device tree中,可描述的資訊包括(原先這些資訊大多被hard code到kernel中):cpu的數量和類別,記憶體基位址和大小,匯流排和橋,外設連線,中斷控制器和中斷使用情況,gpio控制器和gpio使用情況,clock控制器和clock使用情況。
通常由.dts檔案以文字方式對系統裝置樹進行描述,經過device treecompiler(dtc)將dts檔案轉換成二進位制檔案binary device tree blob(dtb),.dtb檔案可由linux核心解析,有了device tree就可以在不改動linux核心的情況下,對不同的平台實現無差異的支援,只需更換相應的dts檔案即可。
git clone
## 切換版本
cd device-tree-xlnx
git checkout xilinx-v2018.3
1、開啟sdk。
2、選擇:xilinx
->repositories
4、點選ok
,等待編譯完成,大概需要2分鐘。
還是在sdk中。1、新建bsp:
file
->new
->board support package
2、在board support package os
中選擇device_tree
,點選finish
3、在bsp彈出的設定中,按照自己板子的設定將核心啟動引數填寫,填寫完後點選ok
4、在sdk目錄下會看到生成的裝置樹資料夾。
makefile pl.dtsi system-top.dts system.mss
pcw.dtsi skeleton.dtsi system.dts zynq-7000.dtsi
linux系統下。將裝置樹檔案下的system.dts檔案複製到linux下,與petalinux下的system-top.dts檔案進行對比修改,完善自己的裝置樹功能。修改之後開始就可以繼續進行核心移植了。
linux系統下。使用dtc生成裝置樹檔案即完成。
dtc -i dts -o dtb -o system.dtb system.dts
關於Xilinx SDK工具的使用問題求解
在使用xilinx的sdk開發工具時遇到以下幾個問題 1.目前我使用的過程沒有連線開發板,僅僅是在電腦上面進行執行,目前寫了乙個例程 經過修改和build沒有報錯,但是run的時候不能編譯成功,目前遇到的情況如下 想求助一下這個問題要如何解決 2.想求教不使用開發板的時候如何執行和debug程式,目...
生成裝置節點
雜項裝置的主裝置號是10,在任何linux 系統中它都是固定的。這樣雜項裝置的引入即解決了裝置號數量少的問題,又降低了使用難度,還能防止碎片化,一舉多得。雜項裝置的標頭檔案在 include linux miscdevice.h 雜項裝置註冊函式 一般在probe 中呼叫,引數是miscdevice...
裝置檔案節點的生成
裝置檔案節點的生成 在linux系統下,裝置檔案是種特殊的檔案型別,其存在的主要意義是溝通使用者空間程式和核心空間驅動程式。換句話說,使用者空間的應用程式要想使用驅動程式提供的服務,需要經過裝置檔案來達成。當然,如果你的驅動程式只是為核心中的其他模組提供服務,則沒有必要生成對應的裝置檔案。按照通用的...