1. 程式人生 > >零基礎學習ZYNQ+SOC+Linux開發

零基礎學習ZYNQ+SOC+Linux開發

說到學習ZYNQ+SOC+Linux開發,我認為主要應該細分為lian兩大點:zynq,soc合為一個點,linux為一個點。下面我就給大家介紹學習的流程和路線。

一,學習zynq+soc的FPGA開發部分和片上ARM核的暫存器,裸奔應用開發,我推薦大家收閱讀文件《ZYNQ+SOC修煉祕籍-最全面的pdf》,下面我給大家貼上下載地址。 百度雲下載連結:https://pan.baidu.com/s/1wjUXx5_l6EPE58UZwcnRZw

二,如果各位能按部就班的閱讀並自己動手編寫測試《ZYNQ+SOC修煉祕籍-最全面的pdf》裡面的內容,我相信大家對於zynq的硬體部分已經足夠了解,並且能夠寫出基於FPGA+ARM構架的裸奔程式應用了。 那麼接下來,我們就應該學習管如何在zynq平臺上搭建Linux作業系統了。

(1)u-boot的編譯 我相信大家已經肯定在網上搜索理解了很多關於u-boot編譯的資料,所以在此我給大家提供的shi是如何解決編譯過程中遇到的一些問題,將自己在專案實踐中的記錄分享給大家,具體請參考《zynq-u-boot編譯說明書》這個資料,下面為下載連結地址。 百度雲下載連結:https://pan.baidu.com/s/1Gqs3V3U6N6kW2AeJkMn-dA

(2)kernel的編譯 眾所周知,kernel為Linux的核心,這個是最最核心的部分,在此不做過多的贅述,給大家分享專案中的記錄吧。具體參考《zynq-kernel編譯說明書》這個資料。 百度雲下載連結:https://pan.baidu.com/s/1p1o_3dLZMxWubc-rXGLelw

(3)裝置樹的編譯 不知道大家是否知道,Linux上的驅動是怎麼和硬體掛鉤的嗎?沒錯,就是使用的裝置樹,話不多說,請參照《zynq裝置樹配置說明》這個資料,下面為下載連結地址。 百度雲下載連結:https://pan.baidu.com/s/102qqfR0OAhJvGW8h2PO1eg

(4)檔案系統的搭載 在完成上述三步的操作之後,需要一個完整的Linux系統我們就還需要搭載上檔案系統,國外很多人喜歡利用buildroot自己及定製檔案系統,但是對於初學者我的建議是先使用已經完善的檔案系統,具體的做法請參照《zynq檔案系統掛載》這個資料,下面為下載連結地址。 百度雲下載連結:https://pan.baidu.com/s/1O10BNKid73fguDs4ZZDrXg

三,在完成了u-boot的編譯,kernel的編譯,裝置樹的編譯,檔案系統的編譯掛載後,一個完整的Linux系統就搭建成功了。不過我相信在過程中肯定會遇到或多或少的各種各樣的問題,在此本人為大家分享一些在過程中遇到的問題以及解決方法,水平有限望大神勿噴。

(1)在執行掛載檔案系統的時候本人就曾經遇到,系統預設掛載的是ramdisk,所以無法掛載我搭建在SD卡上的ext4的檔案系統,請參考《zynq不載入ramdisk的方法》資料裡的解決方法,下面為資料xixi下載連結。 百度雲下載連結:https://pan.baidu.com/s/1ESMO4FtbykTzN-7nqZqvTg

(2)如何解決板子每次上電都動態分配ip,導致使用者無法準確知道板子的ip呢?那就請參考《zynq_linux配置靜態和動態ip的方法》這個資料裡的內容,下面為下載連結。 百度雲下載連結:https://pan.baidu.com/s/1s4RduCWI2cVCrZqfxvJ9oA

(3)配置好靜態ip後,那麼肯定是kai’開始用用SSH連線板子,現在就讓我們來解決SSH連線的問題,請參考《zynq上的SSH無法連結問題》這個資料裡的內容,下面為下載連結。 百度雲下載連結:https://pan.baidu.com/s/1bzMbyBzbIG74ot9EymaAHw

(4)以上問題都解決了後,自然是想自己動手編寫Linux下的驅動咯。只有有了驅動才能使得FPGA為Linux所用,那麼接下來給大家分享幾個編寫Linux下的axi dma驅動的資料供大家參考。

四,以上介紹大部分均為本人在學習,做專案時的總結,在此分享給大家,希望對廣大的學習群體有所幫助,本人水平有限,在此希望各路大神們勿噴。接下來就靠大家自己努力加油了!