S32DS 设置不同编译参数

news/2024/10/17 20:28:03/

作者:Stephen Du

免责声明: 本文为个人学习笔记及总结,仅代表个人观点,尽可能保证内容准确性。复制/转发请注明来源/作者。

欢迎添加微信交流学习。

在这里插入图片描述

S32DS 设置不同编译参数

1. 前言

S32DS是S32 Design Studio的缩写,具体就不介绍了,之前另外文章有介绍。由于其功能强大,关键是还免费!免费!免费!所以非常受客户的欢迎。

在项目开发过程中,我们经常会碰到一个项目中不同文件使用的编译参数需要不一样。比如引用的第三方库,或者部分特殊文件等,又或者你正在使用AUTOSAR MCAL。很多大公司编译都采用自己写Makefile,但是有没有同学看到makefile就头疼?还是怀念只需要勾勾点点的GUI可视化配置工具 — S32DS?

实际上S32DS是完全可以解决上述的问题的,S32DS不但配置简单,并且非常灵活,你可以针对一个文件夹下的所有目标文件进行配置与其他文件不一样的编译参数(比如优化等级设置,宏定义,其他编译选项等),也可以单独针对某个文件配置不一样的编译参数。

需要注意的是.c文件和.s汇编文件的设置是分开设置的。

2. 如何设置

下面我们来看看到底怎么配置的:

我们暂且分为三种设置等级,系统设置/整个工程设置 — 文件夹设置 — 文件设置。这三种设置方式是一样的,唯一的区别是进入属性设置时选中的目标不一样。

进入属性设置窗口有多种途径,之前其他文章介绍过,这里再简单提一下,个人建议使用第一种方法。因为本文的针对文件夹及文件的编译参数设置也只有第一种方法可以使用。系统设置/整个工程设置 可以使用以下三种方法的任一种。

  1. 选中Project Explorer窗口下的工程(或者下面的文件夹或者任一文件皆可) -> 单击鼠标右键 -> 弹窗最下面的属性/Properties

  2. 菜单/Menu -> 工程/Project -> 属性/Properties

  3. Dashboard窗口 -> Project setting/Build settings/Debug settings

工程设置:

  • 如果你的工程没有特殊需求,那么整个工程配置一个全局的编译参数即可,这时选择工程名(Project Explorer窗口下最上层目录),然后右键选择属性。

文件夹设置:

  • 如果你需要对某个文件夹下的所有文件进行单独同一设置,只需要选择相应文件夹,然后右键选择属性。通常这种情况时针对某个模块或者第三方库,因为软件开发来说,大部分时候,一个模块都是使用一个文件夹进行隔离的,这也是我们所推荐的。

文件设置:

  • 当然也有特殊情况,仅需要对某个文件进行单独设置不同的参数,方法一样,选择这个文件,然后鼠标右键,选择属性。

如下图(从左到右依次对应上述三种设置):
在这里插入图片描述
点击进入属性窗口后,进入设置区根据需要进行设置,如下图:
在这里插入图片描述
比如选择settings(上图1处),选择Optimization(上图2处),然后设置优化等级(上图3处),你也可以添加其他编译选项(上图4处)。你还可以上图2处其他栏目进行设置,比如Preprocessor栏目里面定义一个宏等。

设置好后你会发现你所设置的文件夹/文件的图标发生了变化,会多一个扳手的图标,表示这个文件夹或文件设置了不同的选项。如下图:
在这里插入图片描述
设置完成后,重新编译即可。

3. 如何检查

我们如何来确保或检查我们的设置真的有效了呢?

我这里演示,设置了一个文件夹(GD3000)的优化等级为-O1,以及一个文件(FOC.c)的优化等级为-O2,工程全局设置优化等级为-O3。

编译完成后,还是在工程目录树下面,找到Debug,然后找到刚才设置的文件夹/文件,每个文件(.c)都对应会生成一个.args的文件,这里面保存了对应这个文件的实际编译参数。打开这个文件,你会发现你与你设置的是一样的。如下图:在这里插入图片描述
GD3000文件夹下的所有文件(.c)都是-O1,而FOC文件夹下只有FOC.c(FOC.args)一个文件是-O2,其余的文件为-O3(工程全局设置)。

如果你设置了其他编译选项,使用同样的方法检查即可,args文件里面保存了所有的编译参数。

4. 如果取消

设置完后,如果你想取消,也是可以快速取消的,取消后就与工程全局设置保存一致。

还是工程目录树,选择你想取消的文件夹/文件,鼠标右键,Resource Configurations -> Reset to default。然后勾选需要回复的文件夹/文件,点击确认即可。你会发现相应文件夹/文件的图标又变回正常的图标了。重新编译后,你会发现对应的.args文件里面的信息也全部与工程全局设置保存一样了。如下图:
在这里插入图片描述


http://www.ppmy.cn/news/478933.html

相关文章

DS1302实时时钟

目录 一、基础介绍 1、功能 2、内部结构与外部引脚 3、DS1302时钟寄存器 4、DS1302通信时序 5、BCD码转换 二、相关代码 1.程序设计流程 2.实际代码 一、基础介绍 DS1302实时时钟是啥? 它是指美国DALLSA推出的一款高性能、低功耗的日历时钟芯片。 1、功…

51单片机ds18b20

温度传感器是比较简单的外设之一,学习51单片机都会学习ds18b20来学习51的ad转换。 ds18b20是通过iic总线来进行通行的,属于比较简单的模块之一,这里贴出ds18b20的驱动程序,调用时只要直接读取对应地址的数据即可。 #include"temp.h"void Delay1ms(uint y) {uint…

J-Link配合S32DS IDE使用时遇到的问题总结

J-Link配合S32DS IDE使用时遇到的问题 IDE:S32DS version 3.4 MCU:S32K342 Debugger: J-Link 之前使用的是PE Multlink Universal 由于工作需要将调试器由原来的PE Multlink Universal切换到了J-Link。 问题一 在S32DS version 3.4配置J-Link后出现如…

IPv6过渡技术之DS-lite

DS-lite技术集合了4in6隧道和NAT44功能,包含两个功能实体,B4(Basic Bridging Broadband Element)位于用户侧实现4in6隧道的封装和解封装,AFTR(Address Family Translation Router)位于网络侧实现4in6隧道的解封装和封装以及私网到公网地址NAT…

安装synology DS210j

1. 首先把它连到一个局域网内(最好是 DHCP )。注意:现在局域网里安装,装好之后再放到真正的 IP Port 上。如果出街的 IP 是 DHCP ,则安装过程中则设置为 ”DHCP” mode ,如果是固定 ip &#xff0c…

DS18B20调试总结

DS18B20是单总线的温度传感器,在使用MCU对其进行操作的时候,往往使用模拟单总线时序来进行读写,下面是驱动。 1.复位 时序图 static HRINT8U DS18B20_Reset(void) { HRINT8U status; DS18B20_SetDataOut();//数据线配成输出 …

群晖服务器216j增加硬盘,群晖DS216j影视库搭建方法 | 群晖DS216j存储服务器怎么样_什么值得买...

打造私人影视库:Synology 群晖 DS216j NAS 网络存储 2016-04-29 16:14:50 215点赞 1909收藏 283评论 前言 作为一个影视爱好者,整天在张大妈原创区看大家各种白群/黑群的晒幸福,不可谓不中毒,故心中暗下决心要弄台Nas回来,自己也是小白,一切遵循少折腾的原则,入手了群晖…

mojave时间机器文件服务器,年轻人的第一台NAS——群晖DS218j 篇二:配置 Time Machine 时间机器为macOS备份...

年轻人的第一台NAS——群晖DS218j 篇二:配置 Time Machine 时间机器为macOS备份 2019-12-15 16:52:16 9点赞 105收藏 34评论 创作立场声明:参考了群晖知识数据库的文章,并针对Bonjour播送和SMB协议部分进行了修改,本文仅适合于Mojave及更新的系统,其他系统版本没有做相关测…