新唐NUC972系統(tǒng)的搭建和BSP包的使用
說到嵌入式,我們首先想到的,就是它的復(fù)雜程度,LINUX,BSP,UBOOT,交叉編譯,寄存器配置,等等一系列的問題,甚至有的時(shí)候我們對此一頭霧水,很是頭疼,不過我們今天要說的就是關(guān)于NUC972的一系列的步驟,和解決它的難題。
1 NUC970 Linux BSP 簡介
這包 BSP 支持了NUC970 系列芯片. 新唐科技的 NUC970 系列芯片是以 ARM926EJS 為核心的系統(tǒng)級單芯片. 包含了 16kB I-Cache 以及 16kB D-Cache 以及MMU 記憶體管理模塊. 最高支援到 300MHz 的頻率, 並且提供了豐富的外設(shè)接口周邊. 有USB 快速Host/Device, SDHC, 支援TFT LCD介面, 網(wǎng)路接口 和I2S audio介面, 有11 組UART…等. 並可以由 NAND flash, SPI Flash 開機(jī).
這包 Linux BSP 包含了以下內(nèi)容:
Linux 3.10 內(nèi)核源碼, 以及 NUC970 使用的驅(qū)動程式
GCC 4.8.4 交叉編譯器, 支持 EABI.
uClibc-0.9.33 庫文件
Binutils-2.24 交叉開發(fā)工具
演示個(gè)接口功能的範(fàn)例程式源碼, 以及一些開源軟件
U-Boot 源碼, 以及 NUC970 使用的驅(qū)動程式
Windows 端燒錄程序 Nu-Writer, 以及所需的驅(qū)動
說明文檔
1.1 開發(fā)環(huán)境連線
在Linux 環(huán)境下, 基本的系統(tǒng)訊息以及 shell 環(huán)境的溝通都是透過串口來達(dá)成. 不論是U-Boot 或是Linux 均使用 UART0 來做為訊息溝通的接口. 在 U-Boot 環(huán)境下, 也支援了網(wǎng)口 TFTP 的傳輸. 另外新唐也提供了基於 Windows 平臺的 USB 介面燒寫工具. 以下是開發(fā)環(huán)境連線的示意圖. 若是使用虛擬機(jī), 則只需要一臺 PC 即可
1.2 開發(fā)板設(shè)置
NUC970 系列芯片支持不同的開機(jī)模式, 可從 SPI, NAND, eMMC 開機(jī), 或是進(jìn)入 USB ISP 模式. 這些設(shè)置是透過 PA[1:0] 的 jumper 控制. 另外, 因?yàn)檠}用腳位的關(guān)係, 開發(fā)版上會有些 jumper 須依不同系統(tǒng)需求來設(shè)置. 請參考開發(fā)版的文件來做系統(tǒng)相應(yīng)的設(shè)置.
NUC970 Linux BSP 提供了基於 Linux 作業(yè)系統(tǒng)的交叉編譯環(huán)境. 新唐有在不同的 x86 Linux 環(huán)境測試了本 BSP, 包含了 Ubuntu, CentOS, Debian…等. 因 Linux 發(fā)行版眾多, 系統(tǒng)設(shè)置會有些許差異, 有時(shí)使用這需更改系統(tǒng)設(shè)置, 使開發(fā)環(huán)境順利執(zhí)行,本人用的是UBUNTU 64位,推薦32位LINUX。
Linux 開發(fā)環(huán)境可選擇架設(shè)原生環(huán)境, 或是選擇架設(shè)於 Windows 作業(yè)系統(tǒng)中的虛擬機(jī)上. 關(guān)于如何安裝虛擬機(jī),或者如何安裝LINUX,或者如何安裝虛擬機(jī),請看我在Linux里面發(fā)表的文章里觀看,查閱。
多數(shù)的 Linux 發(fā)行版不會將所有的原件都安裝. 但有些元件在使用 BSP 的開發(fā)過程中是必須的. 另外有些元件可讓開發(fā)的過程更加順利. 以下列了一些Linux 安裝過程會省略, 但必須及建議安裝的原件.
各個(gè)Linux 發(fā)行版的元件安裝介面不盡相同. Ubuntu 的使用者可以使用 apt-get 命令或是Synaptic Package Manager 來安裝元件. 而 Fedora的使用者可以使用 rpm 命令或是 Package Manager來安裝元件. 請參考所使用的 Linux 發(fā)行版文件來安裝缺少的元件.
這一段倒是沒有什么復(fù)雜的地方
Linux BSP 包含了三個(gè)目錄. 各目錄的內(nèi)容列在下表:
請將 BSP 目錄中的壓縮包複製到 Linux 開發(fā)機(jī)器上. 並使用以下的命令解壓縮 : $ tar
在此目錄中有安裝腳本 install.sh. 此腳本需要管理者權(quán)限才可以執(zhí)行. 可以選擇使用 “su” 命令切換到管理者來執(zhí)行:
或是使用 sudo 來執(zhí)行安裝腳本 (若是安裝的 Linux 沒有開放 root 權(quán)限, 例如 Ubuntu, 則可以使用本方式來安裝 BSP)
本安裝腳本支援本地源碼解壓縮, 或是自網(wǎng)絡(luò)上的源碼庫復(fù)制最新版本. 若是選擇自源碼庫複製, 系統(tǒng)中需要預(yù)先安裝 Git 以及網(wǎng)路連線正常, 以便自Github 或是 OSChine下載最新的源碼. 以下為整個(gè)安裝過程:
若是使用的 Linux 開發(fā)環(huán)境之前已經(jīng)安裝過新唐提供的交叉編譯工具, 安裝腳本會詢問是否須複寫編譯工具, 否則腳本並不會詢問使用者, 而是直接在 /usr/local/arm_linux_4.8目錄安裝編譯工具. 在第一種已安裝過編譯工具的情況下, 若是要複寫, 可按Y (或是 yes、y、YES), 然後按 Enter 鍵.
安裝完成交叉編譯工具後, 安裝腳本會詢問安裝 Linux 內(nèi)核, U-Boot, 以及範(fàn)例程序的絕對路徑. 下表列出了會裝在指定目錄中的項(xiàng)目.
安裝腳本會嘗試將安裝的目錄設(shè)置正確權(quán)限, 並將交叉編譯器的路經(jīng)加至系統(tǒng)搜尋路徑 ($PATH)中. 但在有些 Linux 版本中, 可能發(fā)生無法正確設(shè)置的問題. 此時(shí)需麻煩使用者手動設(shè)置正確的權(quán)限並且將/usr/local/arm_linux_4.8/bin加到 $PATH 中.
請注意, 在安裝完成後, 使用者須先登出再登入, $PATH 的設(shè)定才會生效.
若是安裝過程選擇自網(wǎng)絡(luò)複製源碼, 之後使用者可以至源碼倉庫以git pull 命令同步最新的更新. 以下列出各個(gè)源碼倉庫的鏈結(jié). Git 的操作指令不在本文件的說明範(fàn)圍, 但可以至 https://git-scm.com/ 查詢基本的操作方式.
編輯:admin 最后修改時(shí)間:2018-10-23