一、环境准备
使用的硬件平台是 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 个月前