芯驰 X9 系列 PTG4.3 通用编译烧写方法(附代码)

       本文档提供了芯驰 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   作者:好景虚设

更多资讯,请点击此处关注我们!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值