AUTOSAR MCAL开发及EB tresos工具使用总结

前言

在基于AutoSar CP架构开发MCAL时,会使用到EB tresos工具。本文主要对MCAL开发及EB tresos工具使用进行总结,仅作为自学使用,以方便后续查漏补缺。

MCAL开发流程

开发流程简述

在这里插入图片描述

硬件需求分析

  • 选择MCU型号(如英飞凌TC3x、NXP S32K),明确外设资源(CAN通道数、ADC精度等)

工具链配置

  • 使用AUTOSAR工具(如Vector DaVinci Configurator、EB Tresos)生成MCAL配置代码,包括:
    • 定义引脚映射(如Port模块的配置)
    • 设置通信参数(如CAN波特率、报文ID过滤)
    • 配置中断优先级、DMA通道等

代码生成与集成

  • 集成静态代码,工具生成的动态代码,以及手写的复杂驱动代码

测试验证

配置工具

  • EB tresos studio:生成MCAL动态代码
    • 简介
      • EB tresos 是一款经典的AUTOSAR软件开发环境。
      • 配置软件模块、验证配置的一致性。如:配置MCAL
      • 为标准软件模块代码生成。如:AUTOSAR标准软件内核
        • 参考
          • https://blog.csdn.net/qq_44705488/article/details/129672224
          • https://cloud.tencent.com/developer/article/1956704
    • 辅助工具
      • EB Client License Administrator
        • 作用:激活EB tresos studio

芯片开发包

  • MCAL包,如:英飞凌 TC3;NXP S32K14x
    • MCAL驱动代码
    • 配置文件(用于EB生成配置界面)

MCAL层代码

  • MCAL层代码 = 配置代码 + 驱动代码
    • 配置代码:使用MCAL配置工具EB生成的代码,即动态代码
    • 驱动代码:在芯片开发包中获取的代码,即静态代码

开发环境搭建

EB工具

  • 下载、安装并激活EB配置工具
  • 续期
    • 官网复制激活码,重新激活,然后重新打开EB工具
      链接:https://nxp.flexnetoperations.com/control/frse/download?agree=Accept&element=9282097

MCAL包

英飞凌 TC3x

  • 参考:https://blog.csdn.net/SDX_2019/article/details/125180978
  • 下载MCAL包:https://gitcode.com/open-source-toolkit/45b8b
  • 安装步骤
    • 参考:https://blog.csdn.net/SDX_2019/article/details/125180978
    • 安装MCAL的base包(组件基础包)
      • 把插件全部复制到EB安装目录下
    • 安装MCAL的com-e包(通讯组件包)
      • 把插件全部复制到EB安装目录下
    • 安装MCAL的cd包(复杂驱动组件包)
      • 把插件全部复制到EB安装目录下
    • MCAL包说明,参考:https://blog.csdn.net/a1906681180/article/details/131604017

注:获取不到MCAL包的 license,暂无法进行后续验证!!!

NXP S32K14x

  • 参考:
    • https://blog.csdn.net/qq_43629659/article/details/132796298
    • https://blog.csdn.net/ningmoon/article/details/136679871
  • 下载并安装MCAL包
    • 一定要获取MCAL包的License文件

注:需注册NXP账号;以S32K14x系列芯片为例;AUTOSAR4.2 MCAL IOS 26262。

MCAL开发

  • 参考:
    https://blog.csdn.net/a1906681180/article/details/131604017
    https://blog.csdn.net/qq_52479948/article/details/146141365
  • 创建EB工程
    • 可以创建新的工程
      • 创建工程时,按需选择对应的芯片型号
        • 如:S32K144
    • 也可以导入安装MCAL时自带的工程作为基础工程
      • 以基础工程为基准进行修改
  • 选择需要的模块,进行参数配置
    • 如:mcu(时钟)、DIO、Port、SPI等
    • 注:配置工作比较麻烦,尝试配置了MCU,但校验一直出错,后续再尝试???
  • 校验 & 代码生成
    • 导入NXP示例工程,校验 & 代码生成都是OK的。
    • 至此,MCAL层的代码都有了 = EB生成的动态代码 + MCAL包中的静态代码
  • 代码集成
    • 将生成的MCAL动态代码放到EB工程指定目录下
    • 注:示例工程中已包含main.c和其他用户文件。
      • 用户文件,配置列表,见:files.mak
      • MCAL模块,配置列表,见:Modules.mak
  • 编译
    • make,生成elf文件
  • 验证
    • 把elf文件拷贝到S32DS工程中,连接开发板进行Debug调试
      • 疑问:
        • 为啥不直接在S32DS中生成elf???S32DS不支持ATUOSAR MCAL开发???
        • 模板程序中是不是不包含AUTOSAR结构中的SWC、RTE,而是直接写用户程序来调用MCAL接口???如果是这样,那这部分只是验证了MCAL的开发流程,并没有走完整个AUTOSAR CP的开发流程???—还需要继续研究。。。

常见问题

  • Q:创建工程时,Target下拉选项为空
    在这里插入图片描述
    A:需先安装对应的MCAL包,把MCAL安装包中的插件全部复制到EB安装目录下,然后重新打开EB
  • Q:1.0.6的MCAL包没有示例工程
    A:看网上说1.0.0的MCAL包才有示例工程,需要安装1.0.0的MCAL包
  • Q:导入NXP示例工程后,加载参数失败
    A:如果先安装了1.0.6的MCAL包,再安装了1.0.0的MCAL包,需要删除1.0.6的包,并重新打开EB工具

参考

  • https://blog.csdn.net/qq_52479948/article/details/145971803
资源下载链接为: https://pan.quark.cn/s/140386800631 通用大模型文本分类实践的基本原理是,借助大模型自身较强的理解和推理能力,在使用时需在prompt中明确分类任务目标,并详细解释每个类目概念,尤其要突出类目间的差别。 结合in-context learning思想,有效的prompt应包含分类任务介绍及细节、类目概念解释、每个类目对应的例子和待分类文本。但实际应用中,类目和样本较多易导致prompt过长,影响大模型推理效果,因此可先通过向量检索缩小范围,再由大模型做最终决策。 具体方案为:离线时提前配置好每个类目的概念及对应样本;在线时先对给定query进行向量召回,再将召回结果交给大模型决策。 该方法不更新任何模型参数,直接使用开源模型参数。其架构参考GPT-RE并结合相关实践改写,加入上下文学习以提高准确度,还使用BGE作为向量模型,K-BERT提取文本关键词,拼接召回的相似例子作为上下文输入大模型。 代码实现上,大模型用Qwen2-7B-Instruct,Embedding采用bge-base-zh-v1.5,向量库选择milvus。分类主函数的作用是在向量库中召回相似案例,拼接prompt后输入大模型。 结果方面,使用ICL时accuracy达0.94,比bert文本分类的0.98低0.04,错误类别6个,处理时添加“家居”类别,影响不大;不使用ICL时accuracy为0.88,错误58项,可能与未修改prompt有关。 优点是无需训练即可有较好结果,例子优质、类目界限清晰时效果更佳,适合围绕通用大模型api打造工具;缺点是上限不高,仅针对一个分类任务部署大模型不划算,推理速度慢,icl的token使用多,用收费api会有额外开销。 后续可优化的点是利用key-bert提取的关键词,因为核心词语有时比语意更重要。 参考资料包括
内容概要:本文详细介绍了哈希表及其相关概念和技术细节,包括哈希表的引入、哈希函数的设计、冲突处理机制、字符串哈希的基础、哈希错误率分析以及哈希的改进与应用。哈希表作为一种高效的数据结构,通过键值对存储数据,能够快速定位和检索。文中讨论了整数键值和字符串键值的哈希方法,特别是字符串哈希中的多项式哈希及其优化方法,如双哈希和子串哈希的快速计算。此外,还探讨了常见的冲突处理方法——拉链法和闭散列法,并提供了C++实现示例。最后,文章列举了哈希在字符串匹配、最长回文子串、最长公共子字符串等问题中的具体应用。 适合人群:计算机科学专业的学生、算法竞赛选手以及有一定编程基础并对数据结构和算法感兴趣的开发者。 使用场景及目标:①理解哈希表的工作原理及其在各种编程任务中的应用;②掌握哈希函数的设计原则,包括如何选择合适的模数和基数;③学会处理哈希冲突的方法,如拉链法和闭散列法;④了解并能运用字符串哈希解决实际问题,如字符串匹配、回文检测等。 阅读建议:由于哈希涉及较多数学知识和编程技巧,建议读者先熟悉基本的数据结构和算法理论,再结合代码实例进行深入理解。同时,在实践中不断尝试不同的哈希策略,对比性能差异,从而更好地掌握哈希技术。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值