君正x1000軟體開發指南手冊

SZX511發表於2019-08-20

君正處理器是高整合度、高效能和低功耗的32位RISC處理器,帶有MMU和資料及指令Cache,以及豐富的外圍裝置,可以執行 Linux作業系統。本文將向讀者介紹基於君正處理器平臺進行Linux核心的配置方法和開發過程,,引導開發人員快速進行Linux開發。本文件為君正核心3.10 版本開發文件,基於晶片X1000,不針對具體開發板,文中如有涉及具體開發板型號,是為了說明方便。

在閱讀該文件前,需要具備以下基本技能:

1.會使用 Linux 系統進行開發,最好是 ubuntu。

2.知道嵌入式開發基本流程。如 uboot,linux,檔案系統製作等。

閱讀該文件,會提供以下幫助:

1.幫助理解君正 BSP 基本組成。(uboot,linux,檔案系統)

2.提供基於君正開發平臺建立自己的應用程式方法。

3.提供應用程式訪問驅動的基本測試用例。

2. 搭建開發環境

在釋出SDK時,可以使用君正提供的開發平臺,該平臺包含了uboot原始碼,kernel原始碼,交叉工具鏈和一些測試程式等,基於該平臺,可以方便第三方庫的新增,方便應用程式開發。詳細參考文件《Manhattan_platform編譯系統使用指南.pdf》完成開發環境搭建。

3. Uboot 配置和使用

Linux 核心需要U-Boot來引導。U-Boot是為嵌入式平臺提供的開放原始碼的載入程式,它提供序列口、乙太網等多種下載方式,提供NOR和 NAND快閃記憶體和環境變數管理等功能,支援網路協議棧、JFFS2/EXT2/FAT檔案系統,同時還支援多種裝置驅動如MMC/SD 卡、USB裝置、LCD驅動等。

3.1. uboot 編譯

在進行此步驟前,請確保已經正確配置好交叉編譯環境。

針對不同開發板的配置,uboot 的編譯配置也不相同,在釋出的 uboot 中,編譯配置由開發板型號[BOARD_NAME],核心映象格式[IMAGE_FMT]和啟動方式[BOOT]組成,格式如下

[BOARD_NAME]_[IMAGE_FMT]_[BOOT]

具體配置在 uboot/boards.cfg 檔案中,可以透過以下命令快速檢視開發板支援的編譯配置

$ cat boards.cfg | grep [BOARD_NAME]

根據以上方法,找到對應開發板的編譯選項按照以下方式進行編譯:

$ make distclean

$ make [BOARD_NAME]_[IMAGE_FMT]_[BOOT]

例如開發板 phoenix 的編譯配置如下:

phoenix_uImage_msc0 支援 sd 卡啟動 uImage 的配置

phoenix_uImage_sfc_nor 支援 nor flash 啟動 uImage 的配置

$ make distclean

$ make phoenix_uImage_sfc_nor

例如開發板 halley2 的編譯配置如下:

halley2_uImage_sfc_nor 支援 nor flash 啟動 uImage 的配置

$ make distclean

$ make halley2_uImage_sfc_nor

編譯完成後會在當前目錄下生成 u-boot-with-spl.bin 檔案。即最終燒錄所需的 uboot 檔案。

3.2. uboot 常用命令

開啟除錯串列埠,在 uboot 啟動過程中,敲擊任意按鍵,打斷 uboot 引導映象過程,進入 uboot shell 環境,uboot 常用命令如下:

“help”命令:該命令檢視所有命令,其中“help command”檢視具體命令的格式。

“printenv”命令:該命令檢視環境變數。

“setenv”命令:該命令設定環境變數。

“saveenv”命令:該命令儲存環境變數。

“bootp”命令:該命令動態獲取 IP。

“tftpboot”命令:該命令透過 TFTP 協議從網路下載檔案執行。

“bootm”命令:該命令從 memory 執行 u-boot 映像。

“go”命令:該命令從 memory 執行應用程式。

“boot”命令:該命令執行 bootcmd 環境變數指定的命令。

“reset”命令:該命令復位 CPU。

“md”命令:顯示記憶體資料。

“mw”命令:修改記憶體資料。

“cp”命令:記憶體複製命令。

sfc nor 命令:

:“sfcnor read” 從 spi nor flash 中讀取資料到記憶體。

“sfcnor write” 從記憶體中寫資料到 spi nor flash。

“sfcnor erase” spi nor flash 擦出。

Sd 卡命令:

“mmc read” 從 sd 卡中讀取資料。

“mmc write” 寫資料到 sd 卡。

來源(可參考)

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31529038/viewspace-2654288/,如需轉載,請註明出處,否則將追究法律責任。

相關文章