目录
如何配置工程生成二进制文件
通常当使用芯片的Bootoloader功能的时候通常需要IDE将编写好的程序编译在工程目录中输出二进制文件 ,需要注意的时,常见的包含二进制文件的后缀有 .hex .bin .srec .s19 ,但是需要注意的是只有.bin文件是纯粹的二进制文件,而**.s19文件和.srec**文件则是文本格式的十六进制文件但是文件中的内容解码后就是二进制文件中的内容。
但是在实际使用中,三种文件通常都能够进行使用,具体细节区分如下。
| 格式 | Bootloader使用建议 | 优点 | 缺点 |
|---|---|---|---|
| .bin | 需要Bootloader知道固定地址 | 文件最小,传输快 | 不包含地址,易出错 |
| .s19/.srec | 推荐:最通用 | 自含地址,可校验,可读 | 文件较大 |
| .hex | 也很常用 | 自含地址,标准通用 | 文件较大 |
然后S32K是默认不生成二进制文件的,需要进行配置,具体配置过程如下图所示。




然后重复上述步奏在此打开工程菜单,就能发现多出的选项,在改选项中配置输出二进制文件的格式。


在配置完成之后,然后编译本次工程,在工程目录的Debug文件下就能找到生成的hex文件。


编译器优化等级过高导致调试丢步
如果IDE编译器等级过高,会导致芯片在调试的过程中丢失步奏,其核心原因在于对于高优化等级的IDE,为了优化代码,会主动将小函数嵌套到函数中,具体示例如下。
cpp
// 源代码
int square(int x) {
return x * x;
}
int main() {
int a = square(5); // 行号10
return a;
}
// 编译后实际是
int main() {
int a = 5 * 5; // square函数体被内联到这里
return a;
}
导致在调试的过程中并不会跳转到,调用的函数中,所以在调试的过程中如果出现调试丢步的情况通常需要配置,编译器减少编译器优化等级来完成。

然后再工程菜单中选择,到设置优化等级页面。
这里能够看到新建工程的编译器优化等级这里是O1编译器默认的,然后将其配置为O0,也就是不优化来进行配置。
工程无法打印浮点数配置
编译器默认关闭浮点数打印功能,所以在开发的时候需要打开浮点数打印功能。

然后配置完成之后选择ok就行了
设置工程字体大小
调节工程字体大小到合适,具体截图如下。

打开窗口之后选择到工程字体的位置。

然后选中字体,然后再右侧选择编辑,然后配置成自己需要的字体选择应用 OK就行了。


IDE开发工程无法调试开发板问题
当IDE编译器没有办法调试开发板或者显示链接失败的时候,可能是编译器构建调试文件失败,导致IDE和芯片链接不成功,这个时候需要打开工程的调试配置选项,查看J-Linker文件是否有生成。

正常来说该文件下发会生成debug文件如果没有,就是配置工程有问题,这里手动删除一下调试文件,就发现Debug文件是不可选的。

这里双击生成烧录文件。

这里需要配置一下烧录文件确保烧录文件配置正确。

然后配置一下芯片的名字和芯片的烧录接口
然后里面输入这个就行了。
cpp
S32K144

如何新建工程、导入工程、删除工程
如何新建工程
首先需要再电脑桌面双击IDE工具进行打开,然后再打开的IDE中新建应用工程文件具体细节如下图所示。

然后这里配置工程的工程名,工程使用芯片,以及工程编辑工具的工具链。

在配置完成之后点击next,在下一个页面配置工程的语言和工程的调试工具,以及工程的SDK,具体截图如下。

到这里配置就完成了,然后点击结束,工程就生成了。具体工程生成截图如下,然后需要自己配置下工程菜单页面。

这里需要注意的是,S32kIDE中,在安装编译器时,有提示选择一个工程文件目录,编译器生成的工程文件默认存放位置是在改工程目录中。具体工程目录结构如下。
C:\Users\ben\workspaceS32DS.ARM.2.2

在改工程目录中能看到刚刚生成的工程文件
如何删除当前工程
在跳出的弹框中,会提示是否在工程目录中删除该工程,如果勾选该选项会在工程目录的位置将该工程删除。

具体删除之后的效果。

如何导入工程
这里导入工程之后需要注意的是,因为导入的工程配置选项中,复制存在的工程到电脑本地的工作空间,所以当对导入的工程发生变更之后,导入的文件中是不会发生变更的,但是在电脑本地的工程文件存放目录中,该工程的目录会被更改。

在导入文件后续弹窗中选择已经存在的文件,然后点击nexe接着,

这里需要定位工程路径

然后勾选将本次导入工程复制到工程路径下。

然后到这里IDE导入工程就结束了,截图如下。

工程目录下代码存放
在配置生成的工程是由代码区分的分为,外设驱动代码、手写代码、工具配置生成代码、然后再工程状态栏里面个人手写编写代码在Source中,头文件放在Include中,然后IDE生成代码在Generated_Code中截图如下。

编写不易,请勿搬运,感谢理解!!!
