自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Xueqian E的博客

汽车嵌入式

  • 博客(172)
  • 资源 (1)
  • 收藏
  • 关注

原创 控制需求车辆参数

智能系统是发送减速度请求GSBC驻车,故只要发送一个负的减速度值即可驻车,不同坡度制动力大小由GSBC自行调节,无需智能系统考虑。轮端扭矩13713.7 N·m,油门29.65%轮端扭矩17980.7 N·m,油门39.12%质心到车头(在地面投影)的距离:5.968m。质心到车尾(在地面投影)的距离:5.782m。质心到车左侧的距离(单位:米):1.24m。质心到车右侧的距离(单位:米):1.24m。steer_bais(转向零偏)steer_gap(转向间隙)车辆的最小转弯半径:12m。

2026-06-04 14:12:08 263

原创 商汤rscl定位是适配层

它的作用是用这个适配层来封装中间件,它本身不是中间件,而是中间件的适配层。目的是给应用层提供统一的接口。支持录制,回放,性能分析等。

2026-05-28 18:03:25 76

原创 mbd模型给的a2l放到tasking里面编译生成的步骤

********************************************改tasking配置***************************************************************************************修改st_tools*********************************************但是DFMC_M18_3_M_ThorU_MCU这里要改成自己实际的hex的名字。修改st_tools。

2026-05-21 11:44:39 57

原创 Transmsg值和wrapper里面用物理值,底盘和soc处理还原成原始can信号

(原始Can信号量,即sig,需要乘以系数scale+偏移量) sig*scale+ offset。Transmsg值和wrapper里面用物理值,底盘和soc处理还原成原始can信号。

2026-04-29 10:39:12 34

原创 音频驱动probe函数中,通常无法直接获取snd_card指针,而是后期获取

controls(混音器控件)还包括PCM设备(音频流)proc文件系统信息。当Linux探测到一个硬件,则会调用与该硬件匹配的platform driver里的probe函数。这就是platform的probe阶段。一个snd_card对象管理该声卡上所有的components,包括:codec ,dsp , dma。struct snd_card 是音频的核心数据结构,代表声卡。驱动代码里的实现,必须持有指向其所属snd_card的指针。

2026-04-27 13:52:03 39

原创 tasking编译错误

这个是合版本的时候文件重复的原因,删掉重复的文件,并且到生成物所在的debug文件夹删掉对应的.o文件,让它重新链接即可。

2026-04-27 13:51:05 42

原创 编译链接阶段的本质

把之前编译出来没有问题的程序,放到一块内存上,然后给他们设置相应的地址和size大小。

2026-04-21 11:22:30 35

原创 AP和CP区别

CP: 一般就是MCU。AP:一般就是SOC。

2026-04-03 15:53:45 200

原创 运行脚本粘贴

【代码】运行脚本粘贴。

2026-03-31 11:58:30 28

原创 驱动策略和效率的整理

驱动可控范畴内的:走轮询/中断/DMA。

2026-03-26 09:13:36 348

原创 payload缺了2个

其他block里面都有,只缺了2个。每个block里都是一样的rte的read和write。那么问题在底软,不在我们ap/cp。如图,id6和9这里缺了。

2026-03-25 19:45:25 36

原创 修复shell脚本失败的修改

报错版本1(严格模式)bash在set -u模式下,如果之前未定义,会触发“unbound variable”错误,脚本直接退出,根本不会启动程序。正常版本bash使用语法,当变量未定义时自动展开为空字符串,避免了脚本因未定义变量而退出。让脚本“一下就能跑”的两个最直接错误现象错误代码(报错版本)修复代码(正常版本)放在source之前,且使用未加:-将export移到source之后,并改为这两个修改分别解决了路径切换失败和动态库加载失败的问题,程序得以正常启动。

2026-03-25 19:39:09 356

原创 关于15个block里面都加了打印(包括打印id和收发内容,静态方式打印id1 ,内容XXX;id2 内容xxx...),之后以串口输出看打印,发现每次却只有4-5个打印

了,因为dma的发送是异步发送的,就是要等满了再发送,但是此时因为满了,且新数据以及开始进了,那么此时前一次还在发送中的数据就会被新进来的数据覆盖。这样虽然这一次打印耗时更久,但是整个任务周期只被卡一次,能保证采集到的15个信号数据是一个周期内的,并且是一次性发送。1.可能这个打印,每个runnable循环只能输出一次,,如果这样,则看他的容量是多少,如只能一次循环内多打印一点内容,则根据容量是多少尽可能多放点打印一次打出来。--因为串口打印在autosar这种时序要求及其严格的系统内,是非常耗时的。

2026-03-24 17:04:53 52

原创 串口打印未互斥,rte_read部分被冲的log

板子串口驱动没配互斥,打印函数本身也没带。多次截取日志,可以确认 Rte_Read succeeded。例如:第一次截取中的极可能是被截断后的残留(“INId” = “INFO” + “Rte_Re” 被覆盖,剩下 “Id”)。第二次截取中的中的 “I2nd” 也像是 “Rte_Read” 被截断后的片段。第三次截取中的中的 “ItDue” 同样是 “Rte_Read” 被破坏后的残留。同时,Rte_Write succeeded,这是因为您的代码中Rte_Write成功时的打印语句位于。

2026-03-24 09:03:44 354

原创 从底层输入信号到上层输出PDU的数据路由和转换即信号映射和标定

【代码】从底层输入信号到上层输出PDU的数据路由和转换即信号映射和标定。

2026-03-20 18:00:09 39

原创 一句话autosar流程

硬件厂商,提供硬件信息,如MCU信息的pack给到mcal层,mcal用EB等这样的图形可视化工具进行导入和配置,完了生成.src和诸如mcu init()这样的封装API给bsw层,然后bsw层再用这些mcal提供的产物进行诸如RTE接口的配置和映射,然后生成可用的接口给到最终的CP/AP层,然后CP/AP再用这些接口进行swc的制作。

2026-03-20 10:30:15 39

原创 gitlab或其他git工具,配地址时候用内网地址

这里不改,直接用的话一般就是拉下来是空的目录,关联不到远程仓库看不到分支。仓库里面的“代码”按钮里给的是这样的,进行如图替换即可。

2026-03-09 17:40:42 125

原创 主辅控canfd1和canfd2接口走错导致信号交互不到。

主辅控canfd1和canfd2接口走错导致信号交互不到。

2026-02-09 15:38:19 39

原创 多用sizeof代替固定数据长度,增强健壮性

更健壮,是车载 CAN FD 报文打包的最佳实践。

2026-02-09 10:34:42 49

原创 CAN报文ID不能又r又S

摘要:信号矩阵中的ID必须确保唯一性,作为仲裁和优先级判定的依据。需特别注意同一ID不能同时具有R和S两种状态,否则将导致逻辑冲突。建议在检查源文档时重点验证ID的唯一性和状态互斥性,以确保系统正常运行。

2026-01-16 17:53:47 137

原创 EthProxy模块本地自测正常收发,但被someip截后通讯无log(使用tcpdump)

因为目下是soc给我们mcu在发,那发的就是soc->mcu里面的array_input里面的内容,对应的就是接口定义表的里面的那些STA control下的那些接口,而根据EthProxy的代码,这些一大坨的接口,在统一Rte_read读完了后,会Rte_write出去。而回到之前本地自测的时候,直接调用Rte_type.h里面的Rte的读写接口的时候,从Rte_type.h这个里面发现,它在Rte里面实际应该是4132。但是someip的特征就是它严格规定长度和大小,一段不一致,就会直接导致通讯异常。

2026-01-16 17:50:21 692

原创 ssh密钥连接报错:WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!

摘要:当SSH连接出现"主机密钥已更改"警告时,表明远程服务器身份验证失败,可能是中间人攻击或服务器密钥变更所致。使用ssh-keygen -f "/home/exq/.ssh/known_hosts" -R "172.16.0.11"命令可从known_hosts文件中删除指定IP的旧密钥记录,其中-f指定文件路径,-R指定要删除的主机IP。该操作适用于服务器IP不变但主机密钥变更的情况(如测试环境),删除后重新连接会保存新密钥。当前用户操作时,

2026-01-12 13:48:54 530

原创 关于alsa驱动集成的问题

一般性的alsa驱动根据硬件连接,都在kernel里面的sound/soc/codec或厂商名下面,形如i2s-adsp-codec.c或者i2s-adsp-codec.c,具体根据其连接方式,走的是什么总线。

2025-08-07 20:56:50 126

原创 关于内核启动的optee: probe of firmware: optee failed with error -22 固件拉起失败的问题

解决:新的kernel升级后,重新用新的optee_os编译BL32 /tee.bin ,之后替换原有固件。原因 :kernel版本和optee_os固件版本无法匹配,导致probe失败。或者根据官方release ,选择配套的版本匹配。

2025-08-05 18:36:12 453

原创 akm7739集成到tinyALSA

之后如果需要到安卓侧,可能需要在编译出内核后再编到安卓部分(比如在编译make脚本后会有参数,接上需要编出的版本ivi/db/ads等)这里可能还有一道工序,当下的项目有一件编译出安卓部分镜像的一键一键编译方式,故而采用一键编译。---- 这文件夹里面的Kconfig一般大多数时候在集成时候不需要动,除非需要它出现在menuconfig里面。----在xxx-tdm.c里面加上#include "akm7739_control.h" ,即主要交互方法。---同时,xxx-tdm.c里面通常。

2025-07-24 11:05:20 544

原创 多域系统里的hypervisor中断的流程

当guest需要shm的时候,直接通过中断找hypervisor要已经由hypervisor映射好了的内存。原则:hypervisor一般是最底层,中断都是先到的hypervisor。

2025-07-15 10:57:39 218

原创 驱动中的设备注册整理

设备注册

2025-06-30 16:11:25 211

原创 外部设备和驱动注册方式的关系整理

适用于最基础的片上外设如硬件总线设备本身如I2C,UART,SPI,PCI等,还有时钟,看门狗,定时器,DMA控制器,电源,ADC/DAC信号转换,GPIO,FLASH闪存,RAM等,还有ARM trustzone(TEE)所需要的加密外设这些。a)从机制上讲,这个匹配过程是由名为"总线"的结构体struct bus_type中的match函数完成的,它这个函数会同时维护两个链表,一个是设备,一个是驱动。通常的代码,都是以main函数开始执行的,但是在内核的驱动代码,都是从probe函数开始的。

2025-06-30 15:24:18 385

原创 TEE和OS的沟通关系

储存上:通过TZASC(TrustZone Address Space Controller)和TZMA(TrustZone Memory Adapter)等组件(仅有使用范围区别),对内存进行安全和非安全区域划分和保护。在外设上,基于APB总线的设备需要AXI-to-APB bridge设备连接,并通过TZPC(TrustZone Protection Controller)提供类似AXI上的NS控制信号。这个控制信号用于区分安全和非安全操作,确保主设备发起的操作在安全上没有违规。

2025-06-29 21:54:08 365

原创 RTOS代码格式要求

【代码】RTOS代码格式要求。

2025-06-28 10:22:47 129

原创 低功耗实现方法思路总结

8.检测IO口的漏电流。即,如果I/O口配置为特殊功能(如I2C、SPI、UART等),确保这些功能在低功耗模式下被正确关闭或配置为低功耗模式。b)软件上,检查进入低功耗模式前的IO口的模式和状态(主要是未使用的I/O口配置为高阻态、禁用内部上拉/下拉电阻、关闭I/O口的中断和事件)。即,如果单片机支持电源域管理,确保I/O口所在的电源域在低功耗模式下被正确管理,例如关闭不必要的电源域。3.如果有低功耗模式的话,某些单片机支持将I/O口配置为低功耗模式,例如关闭I/O口的时钟或进入睡眠模式。

2025-05-15 17:01:06 826

原创 (只了解)神经网络的自我学习(训练)方法之二:线性不可分矢量

2025-05-15 13:20:57 164

原创 BMS项目笔记整理

这里的GOTO模块,其实是一个临时变量,可以自己手动改了,改一个自己喜欢的名字,比如ID1,ID2,这个不会影响它实际最终的去向,这个自定义的ID1,ID2,只是一个临时的指代变量。然后来到Matlab,先在里面找到对应的CAN_TX模版,是一个slx文件(在vehicle network toolbox里面),双击它,进去后点“浏览”,找到打开刚才保存的dbc文件,选择dbc文件里面的具体哪个ID报文即可(因为一个dbc里面可以包含很多个报文,所以我们在设定dbc的时候,报文文件名记得用ID编号)。

2025-03-07 19:35:58 1762 2

原创 (只了解)神经网络的自我学习(训练)方法

2024-04-02 09:53:28 266

原创 1.1.3 神经网络模型分类

2024-04-01 10:08:11 228

原创 1.1.2神经元和其数学模型(常见的)

2024-04-01 10:04:05 201

原创 大数据主要技术

=============================主要技术============================同构/异构的计算机集群,被集群的可以看做一台计算机,如linux的虚拟服务器。Dynamo:亚马逊的,改进了哈希表和向量时钟vector clock。Spark:Berkeley的交互式数据处理系统,特点是快。MapReduce :谷歌的大数据处理平台,服务于搜索。Big Table:分布式数据库,主要储存结构化数据。Hadoop:批量和静态数据,运用最广泛。

2024-03-19 11:06:24 430

原创 云计算技术主要包括

虚拟应用/平台/储存/应用/桌面。实际是在操作系统层面通过“容器”,实现了原本硬件资源的共享。由集中的服务器存储,变为分散的几台存储,辅之以分布式文件系统,和位置服务器定位相应的存储信息。计算机组成的模块不需要运行在实体物理硬件上了,如。3.并行编程技术:自动分成多个子任务。更可靠,高效,易于扩展。4.云计算平台管理技术。

2024-03-19 10:43:34 258

原创 学习--RTOS速读

因为假如事件按1,2,3按键扫描的顺序执行,事件执行到1号按键事件的时候,需要很久才能执行完,一直到1号按键释放都不能执行完,那么当轮询到3号事件的时候,就会丢掉一次事件,因为1那里卡住了,后面3这里时候还在搞1,直接3就被跳过了。这些小程序它的特点是每个都是独立,无限循环,并且不能返回的。2.多线程---也就是在事件的处理上做出改进,响应还是中断,处理由后台里面用循环顺序执行,变成了依靠多线程来处理,这些线程也有优先级,优先级高的会被先执行,这样就更加灵活和实时了。但事件的处理还是在后台里面顺序执行的。

2023-10-10 11:43:27 243

原创 systemd里面的配置

9)snapshot单元:系统快照单元,负责systemd管理器的保存状态 .snapshot。7)scope单元:外部创建的进程 .scope。1)service单元:服务,主要是启动/重启/停止。8) slice单元: 管理系统进程的分层单元 .slice。3)automount单元:文件系统的自动挂载点。6)path路径单元:文件系统中的一个文件和目录 .path。5)mount挂载单元:文件系统挂载点 .mount。

2023-07-31 12:39:11 310

EXQ_day03_进程间同步与互斥.zip

EXQ_day03_进程间同步与互斥.zip

2021-09-28

空空如也

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

TA关注的人

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