ADAS/AD控制器模块开发04 - 软件架构设计及需求定义

本文详细介绍了ADAS/AD控制器模块的软件架构设计,包括Host软件架构中的关键模块,如视觉输出处理、事件数据记录器(EDR)、功能模型等。视觉输出处理涉及温度处理、遮挡探测等功能,EDR则在特定事件发生时记录数据。此外,文章还讨论了通用软件要求,如内存管理和MCU的特定需求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Architecture decomposition from SYS to SW:

系统架构向软件架构的过渡框图

 

一、Host 软件架构

Host作为主芯片,包含很多general的系统Building Blocks,对应的SW-layer,也存在不少相似的模块组成,例如:Power Mode Manager(电源模块管理者)、Voltage Range Monitor (电压监控者)、Vision Output Processing (视觉输出处理)、EDR(事件数据记录器)、Feature Models(功能Simulink模型)、Feature Switch(功能开关处理)、High Side/Low Side Driver(高边/低边驱动)、Heater Control & FET Protection Strategy(加热控制及场效应管的保护策略)、VCAN Interface Handler(车辆CAN接口处理者)、SPI Communication(SPI通信)、Diagnostic(诊断)、Configuration & Calibration & Tuning Files(配置/标定模块)、Keep-Alive Memory Manager(KAM管理者)、Memory Management(内存管理)、MCU常见软件机制的实现(如数据写保护、NVM、晶体与晶振等)。以下针对几个较为重要的模块进行详细展开。Host软件架构图如下:

图1 Host芯片的软件架构

 

  • Vision Output Processing

视觉输出处理模块,包括了温度处理模块、遮挡探测模块、Feature与Host-SW之间参数的Mapping模块(Feature接口)、Host与EyeQ3之间关于Feature参数的Mapping(Feature的SPI接口)、TSR Feature等;

a. 温度处理模块:板上温度传感器的对应温度直方图信息要存储在NVM中(NVM的DataFlash部分,不能存在CodeFlash中);且数据可以通过UDS诊断服务(PID-ECU Internal Temp)读取;温度采样周期一般120秒;一般温度状态有三个等级,Normal正常、HighTemp高、OverTemp过高。

<
这个命令行是一个Linux shell脚本的一部分,用于查找并列出指定目录下名为"adas-rt/hobot-adas-workflow"的工作流程相关的进程,过滤掉`grep`本身以及`watchdog`进程。以下是命令的解释: - `ps`:查看当前系统的进程状态。 - `|`:管道操作符,将`ps`的结果传递给下一个命令。 - `grep /mnt/adas/adas-rt/hobot-adas-workflow`:筛选出包含指定路径的进程名。 - `grep -v grep`:排除执行此命令本身的grep进程。 - `grep -v watchdog`:排除名字为"watchdog"的进程。 - `grep -v`后面的两个参数再次使用了排除操作,这里可能会导致信息丢失,因为如果目标进程名正好是`grep`或者`watchdog`,则会被误杀。 然而,循环kill 1000次的过程不在这个命令里,你需要在获取到PID之后,再用循环结构(如bash的for循环或Python的while循环)配合`kill`命令来实现。例如,在bash中可以这样做: ```bash # 获取PID pid_list=$(ps aux |grep "/mnt/adas/adas-rt/hobot-adas-workflow" | grep -v grep | grep -v watchdog | awk '{print $2}') # 初始化计数器 count=0 # 循环kill 1000次 while [ "$count" -lt 1000 ]; do # 检查pid_list是否为空 if [ -n "$pid_list" ]; then pid_to_kill=$(echo $pid_list | head -n 1) # 取第一个PID kill "$pid_to_kill" pid_list=$(ps aux |grep "/mnt/adas/adas-rt/hobot-adas-workflow" | grep -v grep | grep -v watchdog | awk '{print $2}' | tail -n +2) # 移除已杀死的进程 count=$((count+1)) else echo "No more processes to kill." break fi done ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值