• 新唐ARM9之NUC972学习历程之系统的搭建和BSP包的使用


    说到嵌入式,我们首先想到的,就是它的复杂程度,LINUX,BSP,UBOOT,交叉编译,寄存器配置,等等一系列的问题,甚至有的时候我们对此一头雾水,很是头疼,不过我们今天要说的就是关于NUC972的一系列的步骤,和解决它的难题。

    1 NUC970 Linux BSP 簡介

    這包 BSP 支持了NUC970 系列芯片. 新唐科技的 NUC970 系列芯片是以 ARM926EJS 為核心的系统级單芯片. 包含了 16kB I-Cache 以及 16kB D-Cache 以及MMU 記憶體管理模塊. 最高支援到 300MHz 的頻率, 並且提供了豐富的外設接口周邊. 有USB 快速Host/Device, SDHC, 支援TFT LCD介面, 網路接口 和I2S audio介面, 有11 組UART…等. 並可以由 NAND flash, SPI Flash 開機.
    這包 Linux BSP 包含了以下內容:
     Linux 3.10 內核源碼, 以及 NUC970 使用的驅動程式
     GCC 4.8.4 交叉編譯器, 支持 EABI.
     uClibc-0.9.33 庫文件
     Binutils-2.24 交叉開發工具
     演示個接口功能的範例程式源碼, 以及一些開源軟件
     U-Boot 源碼, 以及 NUC970 使用的驅動程式
     Windows 端燒錄程序 Nu-Writer, 以及所需的驅動
     說明文檔

    1.1 開發環境連線
    在Linux 環境下, 基本的系統訊息以及 shell 環境的溝通都是透過串口來達成. 不論是U-Boot 或是Linux 均使用 UART0 來做為訊息溝通的接口. 在 U-Boot 環境下, 也支援了網口 TFTP 的傳輸. 另外新唐也提供了基於 Windows 平台的 USB 介面燒寫工具. 以下是開發環境連線的示意圖. 若是使用虛擬機, 則只需要一台 PC 即可

     

    1.2 開發板設置
    NUC970 系列芯片支持不同的開機模式, 可從 SPI, NAND, eMMC 開機, 或是進入 USB ISP 模式. 這些設置是透過 PA[1:0] 的 jumper 控制. 另外, 因為複用腳位的關係, 開發版上會有些 jumper 須依不同系統需求來設置. 請參考開發版的文件來做系統相應的設置.

    NUC970 Linux BSP 提供了基於 Linux 作業系統的交叉編譯環境. 新唐有在不同的 x86 Linux 環境測試了本 BSP, 包含了 Ubuntu, CentOS, Debian…等. 因 Linux 發行版眾多, 系統設置會有些許差異, 有時使用這需更改系統設置, 使開發環境順利執行,本人用的是UBUNTU 64位,推荐32位LINUX。
    Linux 開發環境可選擇架設原生環境, 或是選擇架設於 Windows 作業系統中的虛擬機上. 关于如何安装虚拟机,或者如何安装LINUX,或者如何安装虚拟机,请看我在Linux里面发表的文章里观看,查阅。

    多數的 Linux 發行版不會將所有的原件都安裝. 但有些元件在使用 BSP 的開發過程中是必須的. 另外有些元件可讓開發的過程更加順利. 以下列了一些Linux 安裝過程會省略, 但必須及建議安裝的原件.

    各個Linux 發行版的元件安裝介面不盡相同. Ubuntu 的使用者可以使用 apt-get 命令或是Synaptic Package Manager 來安裝元件. 而 Fedora的使用者可以使用 rpm 命令或是 Package Manager來安裝元件. 請參考所使用的 Linux 發行版文件來安裝缺少的元件.

    这一段倒是没有什么复杂的地方

    Linux BSP 包含了三個目錄. 各目錄的內容列在下表:

    請將 BSP 目錄中的壓縮包複製到 Linux 開發機器上. 並使用以下的命令解壓縮 : $ tar

    在此目錄中有安裝腳本 install.sh. 此腳本需要管理者權限才可以執行. 可以選擇使用 “su” 命令切換到管理者來執行:

    或是使用 sudo 來執行安裝腳本 (若是安裝的 Linux 沒有開放 root 權限, 例如 Ubuntu, 則可以使用本方式來安裝 BSP)

    本安裝腳本支援本地源碼解壓縮, 或是自网络上的源码库复制最新版本. 若是選擇自源码库複製, 系統中需要預先安裝 Git 以及網路連線正常, 以便自Github 或是 OSChine下載最新的源碼. 以下為整個安裝過程:

    若是使用的 Linux 開發環境之前已經安裝過新唐提供的交叉編譯工具, 安裝腳本會詢問是否須複寫編譯工具, 否則腳本並不會詢問使用者, 而是直接在 /usr/local/arm_linux_4.8目錄安裝編譯工具. 在第一種已安裝過編譯工具的情況下, 若是要複寫, 可按Y (或是 yes、y、YES), 然後按 Enter 鍵.
    安裝完成交叉編譯工具後, 安裝腳本會詢問安裝 Linux 內核, U-Boot, 以及範例程序的絕對路徑. 下表列出了會裝在指定目錄中的項目.

     

    安裝腳本會嘗試將安裝的目錄設置正確權限, 並將交叉編譯器的路經加至系統搜尋路徑 ($PATH)中. 但在有些 Linux 版本中, 可能發生無法正確設置的問題. 此時需麻煩使用者手動設置正確的權限並且將/usr/local/arm_linux_4.8/bin加到 $PATH 中.
    請注意, 在安裝完成後, 使用者須先登出再登入, $PATH 的設定才會生效.

    若是安裝過程選擇自網絡複製源碼, 之後使用者可以至源碼倉庫以git pull 命令同步最新的更新. 以下列出各個源碼倉庫的鏈結. Git 的操作指令不在本文件的說明範圍, 但可以至 https://git-scm.com/ 查詢基本的操作方式.

  • 相关阅读:
    进程哪一个cpu
    AT&T 和 Intel 汇编语法的主要区别
    机器学习之一:线性回归、梯度下降算法
    解决Webstom 2017中,输入法候选框无法显示问题
    即时通信系统Openfire分析之八:集群管理
    即时通信系统Openfire分析之七:集群配置
    即时通信系统Openfire分析之六:路由表 RoutingTable
    即时通信系统Openfire分析之五:会话管理
    即时通信系统Openfire分析之四:消息路由
    即时通信系统Openfire分析之三:ConnectionManager 连接管理
  • 原文地址:https://www.cnblogs.com/zhugeanran/p/8343958.html
Copyright © 2020-2023  润新知