自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(52)
  • 收藏
  • 关注

原创 autosar mcal Adc

ADC: Analogue Digital Converter 模拟数字转换器。

2024-07-19 20:00:00 84

原创 autosar mcal I2C

但是使用异步接口时,IIC收发数据的时候,是要给寄存器发送数据,无需等待数据返回,外设会自动收发数据,当数据收发完成,硬件会触发中断,Drive的就会给Cdd发送EndNotification。通常我们使用IIC为fast 模式,即400kbps的速率,1bit的传输需要2.5us,1 Byte需要22.5us(8+1bits)即使传递一个最简单的写至少3Bytes(约67us),这样如果采用同步模式,大大影响了CPU的执行效率,占用CPU的时间,影响系统的负载率。在AUTOSAR中IIC的配置比较简单。

2024-07-19 19:00:00 1192

原创 【笔记】TimEP Safety Mechanisms方法论

三大监控方法:相关模块框图:相关模块调用框图:原理:The TimePM counts the number of indicated Checkpoints within the period WdgMSupervisionReference-Cycle and checks at the end of this period if the counter number of indications is within the expected bounds (WdgMExpectedAliveIn

2024-07-05 16:10:04 151

原创 CAN 波特率配置详解

CAN 协议经过 ISO 标准化后有两个标准 ISO11898标准和 IS011519-2标准。其中 ISO11898是针对通信速率为125Kbps~1Mbps 的高速通信标准(闭环),而 IS011519-2是针对通信速率为 10kbps~125Kbps 低速通信标准(开环)。通常我们讨论的 CAN 波特率为闭环标准:125Kbps~1Mbps。CAN FD 仲裁域与 CAN 一致,数据域最大速率

2024-07-05 16:08:51 395

原创 <microros> 如何自定义uROS2数据类型

step 3: 将自定义msg加入rosidl_generate_interfaces生成数据结构。step 2.将CustomerTestType.msg加入CMAKE中编译。在microros中,我们可以看到,官方给我们提供了很多数据类型。如果我们在实际使用的时候,这些类型无法满足我们的传输要求怎么办呢?我们也可以参考官方提供的interface增加我们的自定义数据类型。我们在编译好的interface中找到我们的自定义类型。4.sender送数据。最后运行ros2编译。3.初始化topic。

2024-06-07 11:44:12 258

原创 <microros> 如何生成一个microros库

installon your Ubuntu (如果ubuntu版本不对,安装foxy或者galactic)

2024-06-07 11:35:28 1103

原创 《我的AUTOSAR之路》ECUM(二) 唤醒处理

一个 CAN 通道中断唤醒调用逻辑(需要芯片硬件支持中断唤醒,如果多合一的中断唤醒需要自己写代码配置检查)上述 CAN 唤醒配置中涉及的配置(CanIf/ComM 关联 EcuM 的唤醒通道)本文介绍的 CAN 通道唤醒是 CANRX PIN 同时也是中断唤醒 PIN。唤醒过程是独立于 EcuM 休眠阶段的,但是唤醒时间可以用于休眠阶段。每个 ECU 只能设置一组唤醒源组(最多 32 个)AUTOSAR 唤醒过程包含的步骤。

2024-03-18 21:29:37 270

原创 Function safety mechanisms功能安全方法

监管的逻辑单位称为监督实体,在AUTOSAR中,监督实体和架构构建块之间没有固定的关系,通常,监督实体可以代表一个SWC或者SW-C中的可运行对象,BSW模块或者CDD,具体取决与开发人员的选择。当检测到对程序执行的时态和/或逻辑约束的违反时,将采取许多可配置的操作来从此故障中恢复。内存分区和用户/管理员模式相关的特性解决了以下目标:通过内存分区支持软件组件之间免受干扰的自由(例如,SW-Cs中与内存相关的故障不会传播到其他软件模块,并且在用户模式下执行的SW-Cs对CPU指令的访问受限,例如重新配置)。

2024-02-27 21:45:55 73

原创 AUTOSAR OS Basic TASK 与 Extended TASK哪个更好?做了车身,底盘,动力,自动驾驶控制器后,我才知道

我们使用一种东西,如果出现两种方法的时候,总有争议,究竟哪种方法更好?“倚天剑与屠龙刀谁更强?”,在AUTOSAR OS中TASK也有这个争议,究竟是哪种TASK对我们设计调度更准确?

2024-02-27 21:29:14 442

原创 AUTOSAR OS 任务与调度

什么是TASK?我们在裸机中跑代码,程序永远只能单活动流水执行,当程序需要等待的时候,CPU就一直在waiting状态,无法高效的利用CPU,这个时候就引入了并发运行需求。一个系统能同时执行多个不同活动的系统叫做并发系统。其中这个系统中的每个并发执行的活动都由TASK(任务)表示,大多数应用程序都运行在TASK中。什么是schedule?

2024-02-19 20:42:49 267 1

原创 《我的Classic Platform AUTOSAR之路》NVM讲解

根据5W1H 分析法则,我们知道:我们需要在 ECU 中找块 memory 可以在断电的时候存储数据,并且可能是存在反复读写,反复上下电需要保存的 memory。在我们的 ECU 控制其中,有 RAM/ROM 都无法满足我们的要求,就引入了第三种存储 memory EEP.EEP特性:可反复读写(有寿命限制,寿命低于RAM,高于ROM,一般车辆要求10万至100万次),断电数据一直保存,类似ROM机制。这一种memory 有着RAM的读写特性,又有着ROM的数据保存功能的特殊性。

2024-01-05 15:13:04 1075

原创 《我的Classic Platform AUTOSAR之路》DEM DTC Frame

其中标准 DTC 使用 3Bytes,OBD 使用 2Bytes​。

2024-01-05 10:35:21 800

原创 《我的Classic Platform AUTOSAR之路》Diagnostic简介

诊断包含CANTP/DCM/DEM/FIM/DLT等模块组合而成

2023-12-22 10:43:37 92

原创 《我的Classic Platform AUTOSAR之路》 BSWM 模式管理(二)ESH

只有 PostRun 和 wakeup 才能切换到 RUN,其他状态需要先切换到 wakeup 模式。进入 RUN 模式需要打开通信 allow,退出 Run 需要 disable 通信 allow。Prepareshut 与 dem_shutdown 绑定,如果没有 dem 配置,不会生成。除了 Init 模式下,其他模式下都要检查 ECU 的唤醒源和通信 pending 需求。与 ECUM 相关,整个 ECU 状态管理的状态机制。postrun 可以不配置,需要根据自己的需求使能。

2023-12-21 11:02:54 335

原创 《我的Classic Platform AUTOSAR之路》BSWM 模式管理(一) 基本规则

如果在 bswm cycle 执行前,有多个 swc 对同一个 request condition 操作,以最后一个为准,在架构设计的时候,避免一个 condition 被多个 swc 调用更改。BSWM 所有的模式操作必须在 BSWM_INIT 之后,如果 BSWM_DEINIT 之后无法执行模式管理,如果需要 restartup,必须重新执行 BSWM_INIT。step3: BswM_ImmediateModeRequest() 会直接去切换模式仲裁,执行 action list。

2023-12-21 11:00:46 178

原创 《我的Classic Platform AUTOSAR之路》 Int-Watchdog简介

内部看门狗驱动[sws_Wdg_00161]要访问内部看门狗硬件,对应的 Wdg 模块实例应该直接访问看门狗服务的硬件。提示:内部看门狗驱动程序是微控制器抽象层的一部分,它允许直接的硬件访问。注意:内部看门狗的日常服务可以通过使用独立于其他外设的内部硬件定时器或使用 GPT 驱动程序回调来实现。如果看门狗服务例程作为中断例程实现(即作为 cat1或 cat2中断例程而不通过 GPT),则应在基本软件模块描述中进行描述。

2023-12-08 14:28:49 305

原创 《我的Classic Platform AUTOSAR之路》 Port Driver简介

Port driver 在 AUTOSAR 中是一个比较冷门的模块,基本上在 MCAL 层级,关注的人也少,他由不像其他模块那样通用型比较强,Port 在每种内核的 MCU 的配置都有区别,甚至有些芯片直接没有 Port 模块,使用其他方式替代,如 TDA4 MCU 侧,EB 配置中没有 Port 模块,直接使用了 TI 的配置工具配置,生成 Borad_Cfg。如果说 Port 不重要,那没有他,其他驱动模块又无法工作,总结 Port 不是很有趣,很有技术含量,往往被大家忽视,但是有很重要,很容易出错.

2023-12-08 13:34:05 110

原创 TDA4:优势与挑战并存的复杂多核异构芯片

TDA4是一款具有优势和劣势的复杂多核异构芯片。其高度集成化、强大的计算能力和支持量化技术的优势使其在自动驾驶领域具有广泛的应用前景。然而,其应用门槛较高和维护升级问题也限制了其进一步发展。未来,随着技术的不断进步和应用的不断深化,相信这些问题也将得到解决,TDA4将会在自动驾驶领域发挥更大的作用。随着时间推进和市场千变万化,希望下一代芯片能改变这些弊端,必然会让 TDA 系列芯片有很强的竞争优势。

2023-11-25 20:13:14 1884

原创 《我的Classic Platform AUTOSAR之路》EcuM介绍

AUTOSAR 状态机之ECUM

2023-11-24 15:01:48 159 5

原创 《我的Classic Platform AUTOSAR之路》多核OS配置其实很简单

AUTOSAR CP 多核OS配置其实很简单

2023-11-17 14:44:44 392

原创 AUTOSAR 模块版本信息分解

我们在查看 AUTOSAR 代码的时候可以看到,每个 AUTOSAR 模块都有 GetVersionInfo 函数,里面管理了 AUTOSAR 的模块版本信息,我们来分解这个版本信息的含义。

2023-10-11 21:48:22 183

原创 《我的 Classic Platform AUTOSAR之路》 MCAL ICU 讲解与配置

ICU(Input Capture Unit)输入捕获单元,不是重症病房。通常AUTOSAR中使用ICU用于进行PWM输入信号的解调,脉冲计数,频率和占空比的测量,产生简单的中断以及唤醒中断。信号边缘通知控制唤醒中断周期信号时间测量边缘时间戳,可用于采集非周期性信号边缘计数在常规的AUTOSAR开发中,最主要的两个功能,边缘捕获和PWM输入捕获,当然其他功能也很重要。

2023-10-08 21:55:57 436

原创 《我的 Classic Platform AUTOSAR之路》 MCAL GPT讲解与配置

GPT驱动(General Purpose Timer Driver)是使用通用定时器单元的硬件定时器通道,它为操作系统或者其他基础软件模块提供计时功能。GPT驱动可以提供启动和停止硬件定时器、得到定时器数值、控制时间触发的中断、控制时间触发的中断唤醒等功能。除此之外,GPT能初始化、控制MCU内部的通用定时器,用来产生一次性(One-shot)或者连续性(Continuous)的定时通知。GPT驱动通常为操作系统(OS)提供定时服务,或者当OS Alarm负担过重时为BSW其他模块提供定时服务。

2023-10-07 14:29:36 223

原创 书籍---我的 Classic Platform AUTOSAR之路

欢迎大家来到李不平的《我的 Classic Platform AUTOSAR之路》路途,在学习之前,我整理了这本书的大纲与交流方式,欢迎大家一起来讨论,提出建议和意见。下面是本书的大纲与传送门。《我的Classic Platform AUTOSAR之路》第二章 Classic Platform架构与方法论《我的 Classic Platform AUTOSAR之路》第三章 AUTOSAR CP开发工具链。

2023-08-26 13:13:40 240

原创 《我的 Classic Platform AUTOSAR之路》 CAN 概念与驱动配置

CAN是控制器局域网络(Controller Area Network, CAN)的简称,是一种能够实现分布式实时控制的串行通信网络。1983年,BOSCH开始着手开发CAN总线;1986年,在SAE会议上,CAN总线正式发布;1987年,Intel和Philips推出第一款CAN控制器芯片;1991年,奔驰 500E 是世界上第一款基于CAN总线系统的量产车型;1991年,Bosch发布CAN 2.0标准,分 CAN 2.0A (11位标识符)和 CAN 2.0B (29位标识符);1993。

2023-08-26 12:59:38 130

原创 TDA4 IPC mailbox解析与配

根据上图,在MCU10中接收MCU20的mailbox信息,我们需要配置CPU的INTR[383:376]中的isr source给mailbox,由于mailbox固定isr source ,所以我们初始化的时候需要使用sciclient配置mailbox中断响应。我们在R5F Core IRQ RESOUCE中无法找到mailbox对应的中断,mailbox中断都是通过NAVSS0路由实现的。我们要选择cluster7,user0,queue 1 在MCU10中接收mailbox消息。

2023-08-26 12:39:03 310

原创 TDA4 IPC基本介绍

TI J7 DRA8xx/TDA4xx、AM65xx、J6家族的处理器,基于异构、可扩展的架构开发,拿TDA4VM的处理器来说,该处理器包含了TI DSP处理器(C66/C7x)、Cortex A72、Main域Cortex R5F、MCU域Cortex R5F、深度学习加速器MMA、图形处理器GPU等核,属于多核异构的架构。

2023-08-11 21:11:44 524 2

原创 《我的 Classic Platform AUTOSAR之路》第四章 Appl Interface 概述与SWC创建

Appl :Application layer 应用程序层。众所周知,AUTOSAR是定义汽车软件架构的,无法定义应用程序,AUTOSAR 可以应用与车上大部分控制器,所以AUTOSAR 无法定义应用模块。为了使应用程序可以适合跑在不同的控制器上,AUTOSAR定义规范了APP的对外接口,这样App通过标准接口,可以平台化和快速移植到不同的控制器。所有的App接口通过ARXML定义与交互。

2023-07-30 21:21:11 121

原创 《我的Classic Platform AUTOSAR之路》第二章 Classic Platform架构与方法论

整车网络中,我们能看到,车辆中有三种软件架构:AUTOSAR Classic Platform – 车辆实时控制器等AUTOSAR Adaptive Platform – 车辆高性能控制器等Non-AUTOSAR Basic Software – 车辆娱乐系统等下列针对Classic Platform做讲解;

2023-07-16 16:18:24 299

原创 《我的 Classic Platform AUTOSAR之路》第一章 AUTOSAR 发展历史

AUTOSAR(汽车开放系统架构)AUTomotive Open System ARchitectureAUTOSAR

2023-07-16 09:32:56 158

原创 AUTOSAR CP ARM R5上一个“中断”引发OS栈错乱调试

对比base代码发现,在OS前,有个代码被屏蔽了,OS前disable IRQ代码被屏蔽,我们这块芯片是多核架构,可能在这个核没有启动的时候,中断已经使能,在OS前需要关闭中断,否则SO进入中断后,整个程序的中断重入,导致中断下的栈异常。出错问题:OS进入中断后,执行中断压栈,PC指针异常进入非法地址,导致ARM进入未定义异常或者ABT异常,程序进入死循环。分析:ISR异常,但是从栈中无法得到有效的恢复数据,ISR执行异常,根据CPSR得知,所有的异常都是在IRQ进入后产生。2,是不是OS调度问题?

2023-07-15 15:03:27 209

原创 maxim max9296A+max9295点亮调试笔记

GMSL:Gigabit Multimedia Serial Link是Maxim公司(http://www.maximintegrated.com)推出的一种高速串行接口,适用于视频、音频和控制信号的传输,使用50Ω同轴电缆或100Ω屏蔽双绞线电缆,传输距离可达15m或更长。max9296A中有PHY0~3 4个2line PHY,可支持D-PHY和C-PHY两种类型,每个PHY有1对clock线和1对数据线,D-PHY使用clock+data,C-PHY为3线。4 lanes PHY有PHY A/B。

2023-04-21 16:55:52 175

原创 maxim max96712+max96717调试笔记

mxxim max96712 和max96717调试笔记

2023-02-26 22:14:19 5317 20

原创 AUTOSAR CP通用编码规范参考demo

注释包括文件头注释、函数头注释、变量注释和代码块注释。文件头注释简要地描述文件的作用和版本信息;函数头注释简要地描述函数的作用和返回值;变量注释简要地描述变量的含义和用途;代码块注释简要地描述代码的作用和实现方式。此外,示例代码还包含了宏定义和局部变量的命名、局部变量的初始化、代码格式等方面的规范。注释包括文件头注释、宏定义注释、全局变量注释和函数声明注释。文件头注释简要地描述文件的作用和版本信息;全局变量注释简要地描述变量的含义和用途;此外,示例头文件还包含了头文件保护、头文件包含等方面的规范。

2023-02-22 22:00:22 546

原创 AUTOSAR CP代码格式化--clang-format 配置,让团队统一格式编码

autosar cp clang-format 格式化配置

2023-02-22 21:32:33 257

原创 《我的 Classic Platform AUTOSAR之路》--软件开发编码规范参考

AUTOSAR CP 软件编码规范

2022-11-27 14:32:23 1481

原创 《我的 Classic Platform AUTOSAR之路》 MCAL PWM讲解与配置

特征Phase shiftReference channel for phase shiftMicrocontroller specific channel propertiesDuty cycle -> 16 bit value0x0000 -> 0%0x8000 -> 100%Pwm Main PowerTransitionManagerUsed in case of asynchronous power management, otherwise no mainfun

2022-05-19 21:03:52 816

原创 Chrome&edge好用扩展插件分享

Infinity楼主使用目前最好用的主题,[下载链接]让浏览器页面像手机App一样展示,界面清晰,还可以自定义图标和名称。支持移动和PC(win/mac等)Adblock &Adblock Plus网页拦截好助手NeatDownloadManager页面下载识别高手,能嗅大部分页面的视频和下再链接,外网下载网络速度是迅雷的十倍未完待续...

2022-05-04 12:47:58 1007

原创 《我的 Classic Platform AUTOSAR之路》第三章 AUTOSAR CP开发工具链

在当下,新能源智能汽车时代,软件定义汽车,主流的车厂都在自研电子控制器,但是不知道怎么选择,从AUTOSAR CP端来讲,我们需要的开发工具链:代码包使用AUTOSAR CP开发,为了软件的效率和质量,我们很少去coding基本的代码,都是去购买供应商的通用AUTOSAR架构的代码包,目前主流的几家AUTOSAR 代码包供应商:Vector,EB,ETAS等三种博主都使用过,根据市场占有率和好用层次,基本是:Vector>EB>ETAS编译器主流芯片使用Green Hills,英飞凌

2022-04-22 21:42:29 7604

原创 win11右键菜单怎么改?Win11开启传统右键菜单教

win11右键菜单的模样 :Win11右键菜单修改为Win10右键风格1、用鼠标右键点击开始菜单,选择 windows 终端(管理员)2、在终端里粘贴代码 :reg.exe add "HKCU\Software\Classes\CLSID\{86ca1aa0-34aa-4e8b-a509-50c905bae2a2}\InprocServer32" /f /ve3、这样操作成功之后,重启电脑就可以看到以前win10右键菜单的样子恢复win11右键菜单风格还是一样打开 windows 终端(管理

2022-04-16 21:01:20 5128 3

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除