一、環境準備
使用的硬體平台是 X9H_REF REV A03 開發板 ,使用的系統為 ubuntu16.04,Gnu Make 至少為 4.1 版本。
sudo apt-get install gawk wget git-core diffstat unzip texinfo gcc-multilib build-essential chrpath socat libsdl1.2-dev texinfo
sudo apt-get install libsdl1.2-dev xterm sed cvs subversion coreutils texi2html
sudo apt-get install docbook-utils python-pysqlite2 help2man make gcc g++ desktop-file-utils
sudo apt-get install libgl1-mesa-dev libglu1-mesa-dev mercurial autoconf automake groff curl lzop asciidoc
sudo apt-get install abootimg jq bc
2. 準備交叉編譯鏈
將官方的交叉編譯鏈 gcc_linaro_7.3.1.tar 解壓後放到 /tool 目錄下,在~/.bashrc 文件中添加如下內容:
export PATH="$PATH:/tool/gcc_linaro/gcc-arm-none-eabi-7.3.1/bin:/tool/gcc_linaro/gcc-linaro-7.3.1-2018.05-x86_64_aarch64-elf/bin"
然後執行 source 更新:
source ~/.bashrc
3. 設置 git 賬號與郵箱
git config --global user.name xxx
git config --global user.email xxx@xxx.com
二、Buildsystem 搭建
1. 配置編譯環境下載並解壓 buildsystem-ptg3.9.tar.gz,目前的編譯系統由一個lunch_sd.sh腳本和一個Makefile系統組成,lunch_sd.sh負責選擇編譯的配置,我們首先編譯 Linux,輸入以下命令配置編譯環境:
source lunch_sd.sh -c X9H_Ref_Linux_Serdes_8G_3200.json -b X9_3.0.0_PTG3.9 -u customer_c
2. 安裝 repo 工具
mkdir ~/bin
PATH=~/bin:$PATH
curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
chmod a+x ~/bin/repo
export REPO_URL='https://mirrors.tuna.tsinghua.edu.cn/git/git-repo'
3. 安裝秘鑰
① 解壓密鑰壓縮包,並修改文件屬性為 0400.
chmod 0400 ./id_rsa*
② 啟動 ssh agent
eval `ssh-agent`
③ 添加 ssh key
ssh-add id_rsa
4. 初始化相應的工具和資源,包括打包工具,簽名工具,分區文件等
make inittools
5. 同步代碼
make sync_all
這會同步所有相關的repo,包括lk,freertos,android,atf,yocto。可以用如下命令同步單個repo。
make sync_atf
make sync_lk
make sync_freertos
make sync_yocto
make sync_baremetal
make sync_android
6. 編譯
make build_all
這會編譯所有的相關的軟體部件,包括lk,freertos,android,atf,yocto。可以用如下命令編譯單個repo。
make lk
make freertos
make android
make linux
make atf
make baremetal
編譯完後會在 binary_X9H_Ref_Linux_Serdes_8G_3200 目錄下生成鏡像文件:
7. 打包
make genpac
#包含生成emmc和ospi的包,存放於image目錄。可以用如下命令單獨生成emmc或者ospi的包
make gen_emmc_pac #生成emmc的包
make gen_ospi_pac #生成ospi的包
打包後會在 image_X9H_Ref_Linux_Serdes_8G_3200 目錄下生成 ospi 和 emmc 兩個鏡像文件:
三、燒錄鏡像
1. 編譯打包完後會在 res/tools/release/SDToolBox 目錄下生成一個工具包:
2. 打開這個工具包,然後打開 SDFactoryTool 工具:
3. 選中左上角的 “+”:
4. 選擇剛才打包出來的 ospi 和 global 鏡像:
5. 然後用 USB 將 PC 跟板端連接,將板端啟動配置的撥碼開關設置為下載模式 0001,然後點擊下載按鍵:
6. 等待燒錄完成:
7. 連接 Debug 串口查看是否燒錄成功:
可以看到 AP 域的 Linux 已經啟動成功,接下來看 Safety 域:
同樣可以看到,Safety 域的 Freertos 也啟動成功了,至此 X9H 的環境搭建已完成。
評論
清西
10 個月前