跑起NXP LS1046ARDB開發板(1)--調試步驟

以下內容爲原創,歡迎轉載,轉載請說明來源:https://blog.csdn.net/masterbee/article/details/81369314

  1. 拿到一塊新的LS1046ARDB開發板時,要先熟悉它的配套資料,然後給板子通通電,看看有什麼效果。如果你實在着急,就看看我的這篇引導文章吧。

  2. 安裝好ubuntu 18.04桌面版,建議不要使用16.04(因爲16.04好像要安裝docker組件才能編譯)。

  3. 根據《LSDK-KC-REV18.06.pdf》P101描述,LS1046支持3種啓動方式:QSPI FLASH0、QSPI FLASH1以及SD卡。一份來自哈佛大學的研究表明,對新生事物未知之前,最好不要改變它,而是改變自己。所以,爲了不破壞板子QSPI FLASH裏面的內容,保險起見,我們使用的是從SD卡啓動。準備一張SD卡,推薦32GB。(一份來自哈佛大學的研究表明,只要在任何一句話之前加上一句“來自哈佛大學的研究表明”,無論後面的話怎麼扯蛋,都會有無數人相信。)

  4. 根據《LS1046ARDBGSG.pdf》文檔P14及《LSDK-KC-REV18.06.pdf》P101要求,把開發板上的SW3、SW4、SW5(1-8 bit)分別跳成0100 0110、0011 1011、0010 0000,設置CPU從SD卡啓動。我不會告訴你,如果你僅僅根據文檔設置了SW5[1-8]和SW4[1],而不設置SW4[5]爲1,那麼板子根本不會啓動!

  5. 使用配套的串口線,接板子的UART1,波特率設置爲115200。不要問我板子哪個是UART1,看絲印!電腦端打開Xshell查看LOG,別使用什麼sscom之類的簡單串口工具,不方便(專業)不方便(專業)不方便(專業)!

  6. 做SD啓動卡步驟:

6.1、SD卡啓動文件需要3個,其中2個是從NXP官網下載,另1個是在ubuntu下編譯生成(需要編譯生成的是rootfs,NXP就是不提供,變態程度不亞於《權利的遊戲》小剝皮)。從NXP官網下載的文件有:bootpartition_arm64_lts_4.14.tgz 、firmware_ls1046ardb_uboot_sdboot.img。而爲了生成rootfs必須要下載的是:app_components_arm64.tgz、arm64-modules-4.14.47.tgz。

下載命令爲:

$ wget http://www.nxp.com/lgfiles/sdk/lsdk1806/bootpartition_arm64_lts_4.14.tgz

$ wget http://www.nxp.com/lgfiles/sdk/lsdk1806/firmware_ls1046ardb_uboot_sdboot.img



$ wget http://www.nxp.com/lgfiles/sdk/lsdk1806/app_components_arm64.tgz

$ wget http://www.nxp.com/lgfiles/sdk/lsdk1806/arm64-modules-4.14.47.tgz 

6.2、按照《LSDK-KC-REV18.06.pdf》P46內容,使用以下命令分別編譯,最終目的是生成rootfs_ubuntu_bionic_arm64_201807310106.tgz文件。其中flexbuild_lsdk1806.tgz文件由原廠或技術支持提供(總算做了件好事):

$ tar zxvf flexbuild_lsdk1806.tgz

$ cd flexbuild

$ source setup.env

$ flex-builder -i mkrfs -a arm64

$ tar xvzf app_components_arm64.tgz -C build/apps

$ sudo tar xvzf arm64-modules-4.14.47.tgz -C build/rfs/rootfs_ubuntu_bionic_arm64/lib/modules

$ flex-builder -i merge-component -a arm64

 

$ flex-builder -i compressrfs -a arm64

6.3、終於,萬事俱備,我們要開始做卡了,只要一舉成功,就好比異鬼召喚的冰龍,把北方城牆噴燒掉,從此一路南下暢通無阻。做卡命令:

①插入SD卡,先使用 ll /dev/sd* 命令查看SD卡的目錄,比如爲sdc (插卡前後都查看下,對比就知道SD卡是哪個目錄了)。

②格式化SD卡:

$ sudo umount /dev/sdc*

$ sudo mkfs.vfat /dev/sdc -I

③把啓動文件燒錄到卡里,燒錄之前,把生成的rootfs_ubuntu_bionic_arm64_201807310106.tgz(build/images目錄下)拷貝到flexbuild當前目錄下:

$ flex-installer -b bootpartition_arm64_lts_4.14.tgz -r rootfs_ubuntu_bionic_arm64_201807310106.tgz -m ls1046ardb -d /dev/sdc

$ flex-installer -f firmware_ls1046ardb_uboot_sdboot.img -s 8 -d /dev/sdc

 

7、使用flex-installer編譯時,有可能會遇到以下問題:

因爲我的虛擬機同時安裝了ubuntu16.04和ubuntu18.04,所以有可能產生了混亂。該問題產生於flexbuild/tools/flex-builder文件,愛因斯坦說:“一個問題一定不能用導致這個問題的思維方式來解決”,所以二戰當所有人都以爲日本本土會被進攻時,美國卻在廣島和長崎投下兩顆原子彈,於是日本投降!我的解決方法是繞開該錯誤,屏蔽它,如下圖:

如果你有更好的解決方法,歡迎留言告訴我。

8、好了,現在把做好的SD卡插入板子,通電開機欣賞你的成果吧。如果沒異常,板子會在UBOOT界面倒計時10秒,然後啓動linux內核。最後,終於看到了可愛的login登陸界面。很多人輸入了ubuntu的登陸用戶名和密碼,發現都登陸不了。我試了很久,才發現其實用戶名和密碼都是root,呵呵。

9、最後,恭喜你,enjoy!!!

寫在最後:下一次,等我有空了,再寫如何從QSPI啓動,敬請期待。

如果我有幫助到您,也歡迎您能幫助我。一個人能夠走多遠,關鍵是看他與誰同行。謝謝鼓勵。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章