下载官方镜像
https://www.nxp.com/design/design-center/software/embedded-software/linux-software-and-development-tools/bsp-for-s32-microcontrollers-and-processors:BSP-S32#downloads
构建
Host 使用 Ubuntu 20.04.1 LTS
参考《S32G2_LinuxBSP_42.0_User_Manual.pdf》
repo init -u https://github.com/nxp-auto-linux/auto_yocto_bsp -b release/bsp42.0
repo sync
source nxp-setup-alb.sh -m s32g274ardb2
bitbake fsl-image-auto //SD卡镜像
bitbake fsl-image-flash //NOR Flash镜像
编译的 image 在 tmp/deploy/images/s32g274ardb2目录下
SD Card 刷机
cat /proc/partition //查看读卡器设备挂载点
sudo dd if=/dev/zero of=/dev/sdb bs=1M count=650
sudo dd if= fsl-image-auto-xxxx.sdcard of=/dev/sdb bs=1M && sync
刷完插入SD卡,然后检查启动设置是否与默认配置一致,最后开机启动,串口 UART0
NOR Flash 刷机
Micro USB 连接 UART0,在默认配置基础上将 SW10 第1位置为 OFF,然后开机,根据下图步骤刷入 fsl-image-auto-xxxx.flashimage镜像。刷完关机,将 SW10 第1位置为 ON,在默认配置基础上将 SW4 第7位置为 OFF

eMMC 刷机(不建议刷 Linux )
Micro USB 连接 UART0,在默认配置基础上将 SW10 第1位置为 OFF,SW3 置为 OFF,开机。
刷机工具的操作步骤与 NOR Flash 的类似,唯一的区别在于需要将 Algorithm 选项更改为 eMMC,然后使用共用的SD卡镜像。刷完关机,将 SW10 第1位置为 ON,在默认配置基础上将 SW4 第6位置为 ON
制作 MCU 到 Linux 启动包 S32G_Bootloader_V1-2022.0909.pdf
修改tmp/work/s32g274ardb2-fsl-linux/arm-trusted-firmware/plat/nxp/s32/s32_common.mk中的 FIP_ALIGN := 16 为FIP_ALIGN := 64
bitbake arm-trusted-firmware -C compile
查看 Image Layout 信息用于配置 A53 Boot sources
tmp/work/s32g274ardb2-fsl-linux/arm-trusted-firmware/2.10-r0/temp/log.do_compile
烧录 A53 Linux 镜像到 SD Card 中
tmp/work/s32g274ardb2-fsl-linux/arm-trusted-firmware/2.10-r0/build/s32g274ardb2/release
sudo dd if= fsl-image-auto-xxxx.sdcard of=/dev/sdb bs=1M && sync
sudo dd if=fip.s32 of=/dev/sdb conv=notrunc bs=256 count=1 seek=0
sudo dd if=fip.s32 of=/dev/sdb conv=notrunc bs=512 seek=1 skip=1
集成
cd tmp/work/<mchine>-fsl-linux/linux-s32/<kernel_version>-r0/git
修改某个文件比如:/drivers/iio/adc/s32_adc.c
git add drivers/iio/adc/s32_adc.c
git commit -s -m "<提交标题>"
git format-patch -l //将生成0001-test-sar-adc-repackage.patch
将patch复制到 meta-alib/recipes-kernel/linux/linux-s32文件夹中
编辑meta-alib/recipes-kernel/linux/linux-s32中的 linux-s32-<kernel_version>.bb文件,加入补丁文件,例如
SRC_URI += "file://0001-test-sar-adc-repackage.patch"
返回编译目录,运行一下命令清除先前的sstate:
bitbake vertual/kernel -c cleansstate
bitbake vertual/kernel
默认配置


257

被折叠的 条评论
为什么被折叠?



