前言:在使用S32DS开发项目功能的过程中,不同的项目需要编译生成不同的固件,但是S32DS本身支持的生成方式有时候不一定会满足我们的要求,这个时候就需要我们使用脚本辅助我们生成对应的固件包文件,下面就简单介绍一下其辅助生成对应的固件包的方式,,,
1,编写自定义的脚本文件
当然设S32DS支持的是基于UNIX环境的sh脚本文件,至于为什么。。。就是下面的解释了。。。
- S32DS 使用的 GNU 工具链(如 ARM GCC、Make 等)是跨平台的,但本质上它是为 UNIX 环境设计的。
- 在 Windows 上,S32DS 通常捆绑了一个轻量级的 UNIX 环境,例如 MinGW 或 MSYS,这些环境中提供了
sh
作为默认的 shell - S32DS 在生成项目时,默认的
Makefile
会直接调用sh
来解释和执行脚本。 - 这是因为很多构建步骤在 UNIX 系统上直接运行
sh
,而 Windows 上通过移植的sh
环境来保持一致性。
首先看一下笔者自己建立的目录
这里面包含着脚本文件与编译过程中产生的一些文件
下面是根据自己的需求编写的sh脚本语法,大致的意思就是我这边在工程所在的目录中生成一个名为output的文件夹,然后将Debug_FLASH中的对应的文件拷贝到output这个文件夹中,很简单,,,
#!/bin/bash
echo "$(date)"
cd ../
if [ ! -d output ] ; then
mkdir output
fi
cd Debug_FLASH
cp my_boot_project.hex ../output/boot.hex
cp my_boot_project.elf ../output/boot.elf
2,在环境中设置并加载写好的脚本文件
${cross_prefix}${cross_objcopy}${cross_suffix} -O ihex "${ProjName}.elf" "${ProjName}.hex" && "${workspace_loc:/${ProjName}}/aft_build.sh"
这个是两个并行的指令,前者生成hex文件,后者执行脚本的操作
执行成功。。。