新唐NU980開發(fā)入門介紹
NUC980是新唐的一款arm9微處理器,這個芯片具有幾個不同型號,我這里使用的是NUC980DK61Y,這個芯片內(nèi)部包含了64M字節(jié)的DRM,處理器能到300MHZ,能從 norflash nandflash sd卡 usb啟動,詳細(xì)可以參考官網(wǎng)的資料:TRM_NUC980_Series_EN_Rev1.01 數(shù)據(jù)手冊非常詳細(xì)的介紹各種外設(shè)
NUC980 NuWriter User Manual CHT 講解nuc980的程序燒寫與啟動流程
NUC980 U-Boot v2016_11 User Manual CHT uboot的編譯以及修改啟動設(shè)備
NUC980 Linux 4.4 BSP User Manual CHT linux編譯以及配置說明
NUC980 Programming Guide CHT 編程指南相當(dāng)于數(shù)據(jù)手冊的簡介
NUC980啟動先執(zhí)行內(nèi)部rom的引導(dǎo)程序,它會根據(jù)設(shè)定的 boot引腳到相應(yīng)設(shè)備讀取程序到內(nèi)存相應(yīng)地址去執(zhí)行,在NUC980 NuWriter User Manual CHT這個文檔中有詳細(xì)說明。
可以從 gitee 搜索新唐開源 nuc980代碼,使用 git clone 獲取 uboot linux buildroot,使用以下方法編譯系統(tǒng)相關(guān)代碼:
1.nuc980的uboot從gitee下載后需要按照NUC980_Linux-4.4_BSP_v1.03.000/Documents/
文件夾里面的NUC980 U-Boot v2016_11 User Manual CHT.pdf進行修改,nuc980_defconfig 這個配置是不能從spi flash啟動的,需要進行一定的修改,有配置的修改和代碼的修改,默認(rèn)是支持nandflash的代碼。
修改后使用:
make distclean
make nuc980_defconfig
make
編譯即可使用
2.關(guān)于根文件系統(tǒng)最好從gitee克隆后使用 nuvoton_nuc980_defconfig 這個配置編譯,編譯在output文件夾有一個rootfs.tar,復(fù)制到跟內(nèi)核代碼的上個目錄,同一目錄建立的rootfs目錄里面使用tar解壓到這個目錄:
sudo tar -xvf rootfs.tar
sudo rm rootfs.tar
cd ..
sudo chmod 777 -R ./rootfs/
注意:使用特權(quán)級別操作rootfs
3.nuc980的linux最好從gitee使用git clone 克隆,然后可以使用nuc980_defconfig這個配置編譯既可以使用,在編譯之前
需要內(nèi)核源碼的上個目錄有一個image文件夾和rootfs根文件系統(tǒng) 。使用命令編譯:
make distclean
make nuc980_defconfig
make
在目錄image里面就有一個980uimage就是可以使用uboot啟動的內(nèi)核文件
4.燒錄內(nèi)核一般在windows使用 NuWrtier.exe usb方式連接開發(fā)板,注意板子撥碼和安裝驅(qū)動, 燒寫uboot和內(nèi)核把uboot內(nèi)核使用Loader方式燒錄,軟件中有默認(rèn)位置,(NUC980 NuWriter User Manual CHT.pdf 這個文檔有關(guān)于燒錄詳細(xì)說明)內(nèi)核使用Data方式燒錄,內(nèi)核燒錄在 0x200000 也就是 norflash 2M 這個位置,燒錄完成之后撥碼,復(fù)位啟動板子使用命令啟動:
sf probe 0 50000000
sf read 0x7fc0 0x200000 0xa00000
bootm 0x7fc0
至此內(nèi)核啟動了,如果要增加linux啟動時執(zhí)行命令,把命令寫在根文件系統(tǒng) etc/init.d/rcS 這個文件里面的最后幾行即可 shell 的 wait 可以等待命令順序執(zhí)行,等待命令返回,再執(zhí)行新命令。
5.燒錄loader時有一個 image execute address 這個窗口填寫的執(zhí)行地址,也是代碼開始存放到dram的地址NUC980 NuWriter User Manual CHT.pdf 這個文檔有詳細(xì)說明。
燒寫完成之后連接 uart0 ,上位機使用調(diào)試助手MobaXterm設(shè)置 115200 波特率 ,輸入uboot命令把 uImage 讀取到內(nèi)存 0x7fc0 這個位置然后啟動內(nèi)核可以與linux內(nèi)核進行交互了。
這里需要注意:
默認(rèn)配置不含有 nfs 需要配置內(nèi)核包含nfs客戶端,
網(wǎng)卡可能沒有打開需要使用 ifconfig eth0 up 打開網(wǎng)卡
掛載nfs文件系統(tǒng)使用 mount -t nfs 192.168.199.165:/nfsroot /mnt/nfsroot -o nolock
燒錄程序時注意boot撥碼是否正常,連接NuWriter時需要撥碼到usb啟動
開發(fā)板和串口不是使用同一供電時最好跟串口的地連接起來
編輯:zzy 最后修改時間:2022-05-10