前言:在使用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文件,后者执行脚本的操作 

 执行成功。。。

更多推荐