本文档提供了芯驰 X9 系列 PTG4.3 版本的通用编译烧写方法,旨在指导用户如何获取密钥、安装所需工具、下载 buildsystem、同步代码、配置编译环境、编译代码以及进行镜像烧写和启动。文档详细描述了每一步操作的具体命令和注意事项,确保用户能够顺利完成整个编译烧写流程。
一、获取密钥并安装
cd /workspace //workspace 是本 docker 中挂载的实体机目录,
同时实体机的挂载目录建议预留 500G 空间,因为如果编译 android 系统,编译后将占用接近 400G 空间。
mkdir ptg4.3
cd ptg4.3
wget http://xxxxxx/sd-key-x9.zip
unzip sd-key-x9.zip
cd sd-key-c/
chmod 0400 ./id_rsa*
eval `ssh-agent` //这里是 “ESC” 按键下方的 “ ` ” 符号,不要与
回车键 Enter 旁边的 “ ' ” 搞混。
ssh-add id_rsa
ssh-add -l //如果显示一长串说明已经添加了密钥。
二、下载 buildsystem 并同步代码
2.1 下载 buildsystem
cd /workspace/ptg4.3
git clone ssh://customer_c@isupport.semidrive.com:29418/x9c/buildsystem_X9_PTG4.3/buildsystem.git -b X9_PTG4.3
2.2 配置编译环境
(1)查看全部的 PTG4.3 的编译环境配置。
cd /workspace/ptg4.3/buildsystem/
ls -l lunch_config/
(2)进行编译之前先修改的 SHELL 变量,不然之后会报错。
本次修改生效。
export SHELL=/bin/bash
每次启动容器都生效。
sudo vim /etc/bash.bashrc
export SHELL="/bin/bash" //添加到 bash.bashrc 文件末尾
(3)选用合适的编译环境配置。
X9HP 运行 Android + Linux 使用:
source lunch_sd.sh -c X9HP_MS_Isolation_AndroidUser_Linux_Serdes_8G_vemmc_4266.json -b X9_PTG4.3 -u customer_c
X9M 运行 Android 使用:
source lunch_sd.sh -c X9M_MS_NativeAndroidUser_Serdes_3G_emmc_3200.json -b X9_PTG4.3 -u customer_c
X9E 运行 Android 使用:
source lunch_sd.sh -c X9E_Ref_NativeAndroidUser_Serdes_2G_emmc_2133.json -b X9_PTG4.3 -u customer_c
X9E 运行 Linux 使用:
source lunch_sd.sh -c X9E_Ref_Linux_Serdes_1G_2133.json -b X9_PTG4.3 -u customer_c
2.3 常见配置修改
2.3.1 启动方式变更
(1)如果客户在板上只有 emmc( 或者贴了 norflash,但要使用 emmc 方式启动 )。
请在相应的编译环境配置文件中添加启动方式参数:
cd /workspace/ptg4.3/buildsystem/
vim lunch_config/X9xxx.json
"boot_type":"emmc",
(2)如果客户在板上贴了 norflash,并且希望启动方式由 norflash 启动,则不需要做任何更改,默认启动方式即 norflash 启动。
2.3.2 android 开启 userdebug 模式
如果客户运行的是 android 系统,建议在配置时就修改为 xxx-userdebug 模式:
cd /workspace/ptg4.3/buildsystem/
vim lunch_config/X9xxx.json
2.4 同步代码
(1)同步初始化工具。
make inittools
(2)同步所有代码。
make sync_all
也可以分步进行同步。
make sync_rtos
make sync_atf
make sync_baremetal
make sync_yocto //运行 Linux 需同步
make sync_android //运行 Android 需同步
三、编译代码
3.1 编译前安装依赖工具
sudo apt-get update
sudo apt-get flex bison libssl-dev
3.2 修改编译 atf 的交叉编译器
cd /workspace/ptg4.3/buildsystem/
vim atf/atf/arm-trusted-firmware/sml_setup.mk
//修改 ATF_CROSS_COMPIL 指定的交叉编译器路径
ATF_CROSS_COMPILE := /tool/gcc_linaro/gcc-linaro-7.3.1-2018.05-x86_64_aarch64-elf/bin/aarch64-elf-
3.3 编译
(1)编译全部代码。
make build_all
也可以分步编译
make lk
make freertos
make atf
make android //运行 Android 需编译
make linux //运行 Linux 需编译
make baremetal
(2)打包。
make genpac
(3)镜像包在 image_X9xxxx/ 目录中,请拷贝到 window 系统中使用 SDTOOLBOX 烧写(参考第三章节:镜像烧写与启动)。
Emmc 启动模式只会生成 global.pac,
Norflash 启动模式会生成 ospi.pac 和 global.pac 两个镜像包。
四、镜像烧写与启动
此处镜像烧写部分参考《X9H 核心板和底板硬件使用手册_Rev2.01》。
4.1 下载程序拨码开关
当下载程序的时候,拨码开关 4 脚打到 ON 的位置,进入 USB 下载模式,如下图:
Norflash 启动(参考 2.3.1,json 文件配置的需是 norflash 启动),拨码开关 4 脚打回 OFF 的位置,[4-1] 高 -> 低位为 0000:
Emmc 启动(参考 2.3.1,json 文件配置的需是 emmc 驱动),拨码开关 4 脚打回 OFF 的位置,1 脚打到 NO 的位置,[4-1] 高 -> 低位为 0001:
4.2 驱动安装
(1)下载最新版本的 SDTOOLBOX。
(2) 以管理员身份安装驱动。
(3)驱动安装。
4.3 USB 烧写
(1)按 3.1 章节中方式把拨码打到烧写模式,使用 usb 线连接下载口和电脑。
(2)如果 X9 进入下载模式,在设备管理器中能看到 9xxx 字样的设备。
(3)加载镜像。
进入工厂工具。
点击加号图标加载镜像。
a. Emmc 启动模式。
如果是 Emmc 启动模式,按如下勾选,并选择镜像包。
Emmc 驱动模式镜像包只有一个,参考如下:
b. Norflash 启动模式。
如果是 norflash 启动模式,按如上勾选,并选择镜像包。
Norflash 启动模式镜像包有两个,参考如下:
等待镜像加载。
(4)镜像烧写。
点击下载按钮开始烧写,下载时长会根据镜像大小和 usb 口的速度有所不同,烧写成功如下。
4.4 Demo 板启动
根据 3.1 章节把拨码打回 emmc 启动模式 0001,或者 norflash 启动模式 0000,再上电启动,如下图是 X9HP 运行 Android 中控和 Linux 仪表屏。
五、总结
本文详细介绍了芯驰 X9 系列 PTG4.3 版本的编译烧写流程,包括获取密钥、安装依赖工具、下载和配置 buildsystem、同步代码、修改编译环境、编译代码以及镜像烧写和启动。文档中提供了详细的命令和步骤,帮助用户根据不同的硬件配置(如 X9HP、X9M、X9E 等)和操作系统需求(Android 或 Linux)进行相应的配置和编译。此外,还涉及了启动方式的变更、android userdebug 模式的开启以及 USB 烧写的具体操作,确保用户能够成功烧写镜像并启动 Demo 板。
六、参考文献
《SD_X9_PTG4.3_release_notes.pdf》
《X9_SDK_用户手册_Rev1.7 》
《X9H核心板和底板硬件使用手册_Rev2.01 》
欢迎在博文下方留言评论,我们会及时回复您的问题。
如有更多需求,欢迎联系大联大世平集团 ATU 部门:atu.sh@wpi-group.com 作者:好景虚设
更多资讯,请点击此处关注我们!