Autosar入门随笔1_工具链:EB/S32K312/DAVINCI

系列文章目录


前言

Autosar小白,记录自己的学习过程,描述有误的地方欢迎评论区指正


一、工具链基础概念理解

SDK
S32K1系列NXP提供SDK库,SDK只包含了驱动层,不符合Autosar接口。到S32K3系列,NXP就只提供RTD了。
RTD
NXP提供支持Autosar接口的RTD库,RTD库相当于SDK+符合Autosar MCAL的接口;RTD同时带有配置文件,配置文件支持EB或者达芬奇直接调用,并根据自己的需求进行驱动配置。
EB
通过图形界面调用RTD配置文件,配置成自己的底层MCAL。输出物为:
ARXML:给达芬奇调用的;
.c/.h:MCAL的配置文件,可以直接放置在工程里。
DAVINCA
达芬奇是VECTOR的autosar开发工具链。针对NXP IC,达芬奇配置MCAL有两种办法,第一个是调用EB生成的ARXML;第二个是调用RTD里面的配置文件。正常我们都是用第一种办法,因为EB支持市面上绝大部分的IC的MCAL配置。但是很多IC的SDK包是不支持直接在达芬奇上配置的。
这边有一点需要注意:达芬奇也会生成MCAL相关的.c/,h。同个模块,达芬奇和EB生成的文件不一定一样,比如ADC模块的其中一个文件,达芬奇生成的名字叫:Adc_Ipw_PBcfg,EB生成的叫:Adc_Ipw_VS_0_PBcfg,两者内容实际上是一样的。所以MCAL导入到实际工程的时候,建议统一用EB或达芬奇的。

二、安装步骤

SDK和RTD
这两个都是在NXP官网下载的,需要先注册。注册只需要一个邮箱。具体的安装过程,大家去其他地方搜索。
很多初学者都会和我一样,找不到下图的下载路径:
在这里插入图片描述
网上找了很多地方都没人说清楚。我给大家指条明路:
在这里插入图片描述
在这里插入图片描述
在这里点进去就可以了。
RTD选择自己的版本,另外RTD安装时,需要把EB的路径填写进去,所以建议先安装EB。如果没有安装EB,可以先空着,等后面EB安装好后,将RTD安装目录下plugins文件夹内的所有内容复制到EB Tresos安装目录下的plugins文件夹下。
这边要注意,EB只是一个配置工具,它本身并没有集成NXP的底层驱动。RTD的插件如果没有关联进去,EB是识别不到芯片,也不能进行底层的配置。
EB
EB工具也可以再下图下载,EB的License也是在下图下载。
在这里插入图片描述
这部分不做详细说明,很多文章都有描述,连我都能顺利安装激活,相信大家也可以。
这边需要注意的是,EB打开后,新建一个工程,然后导入MCU模块会报很多错误。后面才知道原来RTD里面就有示例工程了,不需要自己从头到尾创建,不然工作量巨大。还容易出错。EB工程的创建会在下一章节描述。
这边想再补充一点,EB的License和RTD是绑定的,比如你用其他品牌的MCU,从NXP下载的这个License是用不了的。同理,EB和RTD库也是绑定的,比如你只下载了S32K3的RTD,那么你创建工程时,MCU型号就只能选择S32K3。

总结

以上就是今天要记录的内容,本文只介绍个人学习觉得需要注意的地方,基础操作可以评论区留言。

<think>好的,我现在需要回答用户关于C语言中#include路径写法是否正确的问题。首先,用户提供的路径是'D:\\autosar_tools/AUTOSAR_TOOLs/...',看起来混合使用了反斜杠和正斜杠。我需要确认这种写法在C语言中是否合法。 首先,C语言的标准中,对于#include的路径分隔符,通常使用正斜杠(/)或者反斜杠(\\)。在Windows系统中,文件路径通常用反斜杠,但C语言的预处理程序接受正斜杠。用户路径中的'D:\\autosar_tools'用了双反斜杠,这是正确的转义,因为单个反斜杠在字符串中会被视为转义字符。而接下来的'AUTOSAR_TOOLs/...'部分用了正斜杠,这在C语言中是允许的。不过,混合使用虽然可能在某些编译器上工作,但为了可移植性,最好统一使用正斜杠或者双反斜杠。 接下来,路径中的'...'可能表示多级目录,但实际代码中应该写出完整路径,不能使用省略号。用户可能只是示例中的简写,但需要提醒他们实际使用时需替换为具体路径。 还要注意路径的大小写。某些操作系统区分大小写,比如Linux,而Windows通常不区分。如果路径中存在大小写不一致,可能导致在跨平台时出现问题。需要建议用户保持路径大小写与实际文件系统一致。 另外,绝对路径的使用虽然直接,但会降低代码的可移植性。如果可能,建议使用相对路径,或者通过编译器的选项来设置头文件路径,比如在GCC中使用-I选项。这样可以避免硬编码绝对路径,方便不同环境下编译。 还需要考虑路径中的特殊字符和空格。如果路径中有空格,应该用引号将路径括起来,或者使用转义字符。但用户提供的路径中没有空格,所以暂时没问题。 总结一下,用户的写法在语法上是正确的,但存在可移植性和规范性的问题。需要建议统一使用正斜杠或双反斜杠,注意路径大小写,推荐使用相对路径或编译器选项,并确保路径完整无误。</think>在C语言中,头文件路径的写法需要特别注意转义符、路径分隔符和跨平台兼容性。针对路径`'D:\\autosar_tools/AUTOSAR_TOOLs/...'`的写法,以下是详细分析和建议: --- ### **1. 路径写法验证** #### **语法正确性** - **反斜杠`\`与正斜杠`/`的混合使用**: - 在C语言中,反斜杠`\`是转义字符,若路径中需使用反斜杠,必须写成双反斜杠`\\`(如`D:\\autosar_tools`)。 - 正斜杠`/`可直接使用(如`AUTOSAR_TOOLs/`),无需转义,且具有跨平台兼容性。 - **结论**:混合写法语法上合法,但建议统一使用正斜杠`/`或双反斜杠`\\`以增强可读性[^1]。 #### **路径完整性** - 路径中的`...`表示省略多级目录,实际代码中需替换为完整路径。例如: ```c #include "D:/autosar_tools/AUTOSAR_TOOLs/specific_module/header.h" ``` --- ### **2. 注意事项** #### **跨平台兼容性** - **Windows与Linux/macOS差异**: - Windows默认使用反斜杠`\`,但C语言预处理程序支持正斜杠`/`。 - Linux/macOS仅支持正斜杠`/`。 - **建议**:统一使用正斜杠`/`,例如: ```c #include "D:/autosar_tools/AUTOSAR_TOOLs/header.h" ``` #### **路径大小写敏感** - Linux/macOS文件系统区分大小写,需确保路径与实际文件名大小写完全一致。例如: ```c #include "D:/autosar_tools/AUTOSAR_Tools/header.h" // 错误(Tools vs TOOLs) ``` #### **绝对路径与相对路径** - **绝对路径**:直接指定完整路径,但会降低代码可移植性。 - **相对路径**:推荐通过编译器选项(如`-I`)指定头文件目录,代码中使用相对路径: ```c #include "AUTOSAR_TOOLs/header.h" ``` 编译时添加路径: ```bash gcc -I D:/autosar_tools source.c ``` --- ### **3. 最佳实践示例** ```c // 使用正斜杠,路径明确且跨平台兼容 #include "D:/autosar_tools/AUTOSAR_TOOLs/specific_module/header.h" // 或通过编译器选项指定路径,代码中简化路径 #include "specific_module/header.h" ``` --- ### **相关问题** 1. 如何在C语言中避免硬编码绝对路径? 2. 编译器选项`-I`的作用和使用方法是什么? 3. 跨平台开发时如何处理文件路径的差异? --- 通过规范路径格式、利用编译器选项和注重路径大小写,可显著提升代码的可维护性和跨平台兼容性。
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值