- 博客(1279)
- 收藏
- 关注
原创 【车载开发系列】区分Flash,RAM与E2PROM的概念
Flash就是闪存。闪存分为两种类型:一种是PFlash,另一种是DFlash。不管是Dflash还是Pflash,都要按照flash的命令去操作,按照Sector去擦写。Pflash和DFlash的应用场景是不同的。具体两者的定义如下。
2025-09-20 20:05:29
579
原创 【车载开发系列】了解FlashDriver
它是一种用于访问和管理闪存器件的驱动程序。FlashDriver通过与计算机系统进行交互,提供了对闪存器件的读写、擦除、复制等功能。闪存器件是一种非易失性的存储介质,用于它通常作为操作系统或应用程序的一部分,用于处理闪存设备的存储访问请求。
2025-09-20 16:39:30
658
原创 【车载开发系列】CAN通信矩阵
CAN通信矩阵(CAN Communication Matrix)通常由整车厂完成定义,车辆网络中的各个节点需要遵循该通讯矩阵才能完成信息的交互和共享。CAN总线是一种通信形式,在ISO11898协议中仅规定了数据链路层和物理层,也就是说传什么ID、传什么数据这些一般都是放在应用层定义的。对于乘用车来说,满足UDS和尾气排放协议之后,还剩余了绝大部分的ID段。这些ID段由主机厂自主来进行分配,分配好之后会做成一个.xls格式的表格,这就是CAN通信矩阵。
2025-09-13 19:53:48
1005
原创 【车载开发系列】Boot在线刷写必知必会
本文主要介绍了Boot刷写过程中的常用术语,常规的三个阶段的流程:预编程阶段,主编程阶段,后编程阶段。其中需要验证的内容有:FBL预编译,安全服务,完整性检测,依赖性检测,有效性标志位检测等,这些需要验证的内容往往都是通过31服务的例程来运行确认。如果发生了异常工况导致刷写失败怎么办?这里也简单给出了一个双Boot的方案。具体实现方式为使用PBL先更新SBL,再由SBL更新实现APP,那么当需要更改刷写流程的时候,只需要更新SBL就可以了。
2025-09-13 19:50:15
934
原创 【车载开发系列】一文读懂IIC通信
5.当主机收到应答信号后,主机要改变通信模式(主机将由发送变为接收,从机将由接收变为发送)所以主机重新发送一个开始start信号,然后紧跟着发送一个从机地址,注意此时该地址的第8位为1,表明将主机设置成接收模式开始读取数据。一块硬件电路,硬件I2C对应芯片上的I2C外设,有相应I2C驱动电路,其所使用的I2C管脚也是专用的,硬件(固件)I2C是直接调用内部寄存器进行配置。6.这时候主机等待从机的应答信号,当主机收到应答信号时,就可以接收1个字节的数据,当接收完成后,主机发送非应答信号,表示不在接收数据。
2025-09-04 22:10:55
633
原创 【车载开发系列】UART,IIC与SPI通信方式的区别
该总线是异步串口,因此一般比前两种同步串口的结构要复杂很多,一般由波特率产生器(产生的波特率等于传输波特率的16倍)、UART接收器、UART发送器组成,硬件上由两根线,一根用于发送,一根用于接收。最大传输速率为10Mbps(1250KB/s),在100Kb/S(12.5KB/s)的传输速率下,才可以达到最大的通信距离。-------super speed :理论上最高达4.8Gbps,实际中,也就是high speed 的10倍左右。-------低速模式(low speed):1.5Mbps。
2025-09-04 19:48:56
713
原创 【车载开发系列】初识DBC文件
DBC文件全称是Database CAN,也有的地方把他叫做DataBaseContainer,它是CAN的数据库文件,用于定义CAN总线网络中的消息和信号。例:BO_ 12345 Message1: 8 Vector__XXX。在这里BO_表示这是一条消息的定义;12345代表了消息的ID;Message1代表着消息的名称;冒号后面的8代表了消息的长度;最后的Vector__XXX是发送该消息的节点或设备名称例:SG_ Signal1 : 0|8@1+ (1,0) [0|255] “unit”。
2025-08-31 18:49:13
935
原创 【车载开发系列】CAN与CANFD下篇
CAN通信的最大传输速率通常为1Mbps,而CAN FD通信提供了更高的速率,可达到最高8Mbps。CAN和CANFD在物理层是一致的,但在传输性能、数据段长度、帧类型、波特率灵活性、CRC校验和帧结构上都存在较大差异,CANFD在经典CAN的基础上提升了通信速度和数据容量。从经典CAN到CANFD,很好的解决了ID不足以及改善总线负载率的问题。在一些特定的情况下CAN FD能用在仅使用传统CAN的ECU上,这样就可以逐步引入CAN FD节点,从而为OEM简化程序和降低成本。
2025-08-31 10:40:18
676
原创 【车载开发系列】CAN与CANFD中篇
在物理层,CAN总线要工作起来所有需要的东西,总结起来一共有以下四个:①双绞线、②终端电阻、③收发器、④带有CAN控制器的MCU。在数据链路层,CAN总线通过引入总线仲裁和回读机制,实现通信内容的稳定与可靠。
2025-08-30 16:33:27
1080
原创 【车载开发系列】CAN与CANFD上篇
CAN总线就是控制器局域网总线,是一种用于实时应用的串行通讯协议总线(CAN,Controller Area Network)。它使用双绞线来传输数据,是在汽车电子中应用最广泛的总线之一。CAN协议用于汽车中各种不同元件之间的通信,以此取代昂贵而笨重的配电线束。CAN协议的健壮性使其用途延伸至自动化以及工业领域。CAN协议的特点包括了完整性的串行数据通讯、提供实时支持、其中传输速率高达1Mb/s、同时具有11位的寻址以及检错能力。
2025-08-30 13:59:10
1220
原创 【车载开发系列】OTA刷写介绍
OTA升级(Over-The-Air)是指在设备或系统中通过移动通信网络(2G/3G/4G或Wifi等)进行设备零部件上的固件或应用的远程升级技术。Flash Driver就是是闪存驱动。它提供统一的Flash存储访问接口,为不同类型的内置和外置Flash存储设备提供抽象层。通过这些统一的接口,应用层软件可以更方便地进行数据存储和读取,而无需关心底层存储设备的具体实现。在OTA升级过程中,往往需要在发送APP可执行文件之前,向底层先发送一段叫"Flash Driver"的二进制文件。
2025-08-27 08:37:43
566
原创 【车载开发系列】CS+ for CC开发环境IDE
根据我们实际开发的需要,选择单片机微控制器(Microcontroller),然后找到具体的微控制器型号,确认好工程的类型,再输入ProjectName,然后就可以创建工程了。具体在进入瑞萨的官网之后,选择【设计资源】,【开发工具】,然后在类型中选择【IDE and Coding Tool】之后,便可以找到我们需要下载的CS+ IDE软件。先找到RH850瑞萨的官网,官方网站上去找CS+ for CC,找到后我们就可以下载这个开发IDE了。最后软件安装完成之后,双击打开IDE,确认安装软件的版本号。
2025-08-26 10:27:03
441
原创 【车载开发系列】终端电阻(Termination Resistor)
终端电阻在确保总线信号完整性和稳定性方面扮演着至关重要的角色。正确选择和配置终端电阻不仅可以改善信号质量,还能延长系统的使用寿命,降低故障率。用同轴电缆构成局域网时,使用终端电阻的作用是( )。A.防止信号流失B.吸收信号防止信号反射造成干扰C.使同轴电缆的内芯与外屏蔽线相连构成回路D.没有任何作用,可有可无答案选择:B。在长线信号传输时,一般为了避免信号的反射和回波,需要在接收端接入终端匹配电阻。终端电阻是为了消除在通信电缆中的信号反射。在通信过程中,有两种信号会导致信号反射。
2025-08-26 07:00:00
1075
原创 【车载开发系列】ParaSoft集成测试环境配置(五)
到这里为止,集成测试环境的构筑可以说已经完成了。所有C文件参与编译执行软硬件环境剥离编译开关的活用自动桩函数的基础上,积极加入手动桩函数需要特别注意测试夹(TestSuiteSetup)的初始化与还原测试夹(TestSuiteTearDown),因为一个集成环境需要运行复数个测试用例。
2025-08-25 13:56:28
522
1
原创 【车载开发系列】汽车零部件DV与PV试验的差异
ET阶段的核心是DV试验(设计验证),PT阶段的核心是PV试验(生产验证),二者分属产品开发的不同环节,共同确保产品从设计到量产的可靠性。在整车开发过程中,主机厂对汽车零部件从模块到整车进行一系列的性能测试。DV是验证零件设计是否满足要求,PV是验证零件供应商的生产是否满足设计要求,以及产线质量的稳定性。DV测试为PV测试奠定了基础,PV测试是对DV测试的进一步验证和完善。重点:DV测试侧重于设计是否符合要求,PV测试则侧重于实际性能。DV测试主要在设计阶段进行,而PV测试则在车辆接近完成时进行。
2025-08-25 13:50:11
821
原创 【车载开发系列】BUSOFF全面概念
Bus Off就是总线关闭,总线为什么会出现Bus Off?其实这和CAN总线的错误处理机制有关。ECU在向CAN总线发送消息时,出现发送失败。此时,ECU每发送失败一次,发送错误计数器就会累加,如果发送错误计数器的值累计达到最大阈值时,ECU会进入Bus Off模式。Busoff的出现主要是为避免CAN总线上某个设备因为自身原因(例如硬件故障)导致无法正确收发报文而不断的破坏总线的数据帧,从而影响其他正常节点的通信。
2025-04-06 17:29:54
1099
原创 【车载开发系列】GPIO模式分类
IO的电平状态是不确定的,完全由外部输入决定,如果在该引脚悬空的情况下,读取该端口的电平是不确定的。IO口在无输入的情况下,可以读取引脚电平,内部连接上拉电阻,悬空时默认为高电平,并保持高电平。GPIO是引脚,所有的GPIO引脚都有输入输出的功能,但是并不是所有的引脚都是GPIO。IO口在无输入的情况下,通过内部下拉电阻将GPIO端口保持在低电平状态,保持低电平。推挽和开漏的区别:推挽既可以输出高电平,也可以输出低电平,开漏只能输出低电平。与复用推挽输出类似,但输出模式为开漏输出,需要外部上拉电阻。
2025-01-05 19:53:13
852
原创 【车载开发系列】限位开关的概念
限位开关又称行程开关,用于反应设备机械位置的变化,并在设备达到预定位置时实现电路的切换,进而实现行程控制、限位保护、报警、联锁启停设备等功能。原点开关与限位开关的工作原理是相同的,它们都可以用来定位,但原点开关则是用来归零的。它是系统中常见的开关,用于检测机械部件是否达到预期位置,被广泛应用于各种机械和自动化系统中,用于安全防护、位置检测、计数等。就是将开关安装在运动部件的指定位置,当机械开关的机械触头碰到挡块时,改变了控制电路,机械就停止运动或者改变运行。限位开关可以分为接触式开关和非接触式开关。
2025-01-05 19:35:27
768
原创 【车载开发系列】测试左移与测试右移
将测试延伸到研发阶段之后的其他阶段就是测试右移。测试右移是产品上线了之后也可以进行一些测试活动。在生产环境直接做测试是不推荐的,但是我们可以在生产环境做监控,监控线上性能和可用率,一旦线上发生任何问题,尽快反应,提前反应,给用户良好的体验。尽量做到技术人员要比业务方先发现问题。总结起来,对测试同学来说,版本上线后需要持续关注线上监控和预警,及时发现问题并跟进解决,将影响范围降到最低。
2024-11-02 13:20:03
811
原创 【车载开发系列】ParaSoft单元测试环境配置(四)
在【测试用例浏览器】当中,点击△符号,数据统计—>设置列间距—>选中【合计】以及我们想要显示的行,以后咱们就可以看到各个测试套件当中测试用例的数量了。如果环境变量正确设置的话,打开cmd画面,输入gcc指令之后就可以得到下面的信息。测试配置—>Run Unit Tests当中,选择执行—>【单个的测试用例超时】之后,可以设定超时的时间。打开静态自定义规则,可以启动规则—>启用严重度,这样就可以根据选择严重度来启动或停用响应的规则。在范围设置当中,选择添加资源,哪些资源文件想跳过,这里就可以设置了。
2024-09-29 17:09:45
1319
1
原创 【车载开发系列】MISRA-C概念介绍
MISRA-C是一组针对C语言编程的编码规范,旨在提高软件质量、可靠性和可维护性。MISRA代表Motor Industry Software Reliability Association(汽车工业软件可靠性协会),该协会最初为汽车行业开发了这些规范。虽然最初是为汽车行业设计的,但MISRA-C规范已经成为其他行业的编码标准,如航空航天、医疗设备和铁路系统。
2024-09-21 19:53:19
1864
原创 【车载开发系列】APQP基本概念
APQP、PPAP同属IATF 16949 五大核心质量工具,虽然我们把APQP和PPAP看作是两个独立的工具,但是在使用上它们是不可分离的。假定一个产品缺陷在开发阶段得以解决(预防)的成本如果是“1”,那么在生产过程得以解决(纠正)的成本将是“10”,而如果缺陷流出到顾客,那么其挽回成本将在“100”这个级别甚至更高(比如汽车召回)。团队的努力,(横向职能小组是重要方法,横向职能小组是APQP实施的组织,小组包括了生产,制造,采购,销售,顾客代表等等)很多工作成功的关键要素都是人,APQP亦不例外。
2024-09-21 12:04:36
1912
原创 【车载开发系列】ParaSoft单元测试环境配置(三)
目的是为了找到参与编译的所有目标文件,因为目标文件.c文件都分布在不同的目录中,为了更快更全的找到被测试的对象,可以采用这种方法。在创建自定义桩函数文件的地方,输入桩函数文件名以及桩函数文件的位置。输入完成之后点击完成按钮。在这个向导当中,还可以自动生成测试用例的输入与输出,这样可以大大缩减编写测试用例的时间。在下面咱们指定的目录中(项目资源管理器目录),确认咱们的桩函数是否已经正常的生成。新的测试用例添加,选择被测的函数,以及输入测试用例的名称。检索并在找到的被替换桩的函数之上,点击【创建用户桩函数】
2024-09-15 17:05:01
1627
5
原创 【车载开发系列】ParaSoft单元测试环境配置(二)
选择【文件】—>【新建】—>【其他】选择向导:【运行时自定义初始化和终止】在这个步骤当中,最重要的是源文件的位置,一定要遵循这样的格式:项目名/factory如果不这样做,这个init.cpp文件不会参与后面的编译。
2024-09-10 11:02:22
1127
原创 【车载开发系列】ParaSoft单元测试环境配置(一)
bdf是数据文件的一种类型,表示一种数据库文件。在ParaSoft当中,可以使用bdf文件来快速创建一个测试项目。
2024-09-08 18:40:33
1826
原创 【车载开发系列】ParaSoft安装步骤介绍
Parasoft的C++Test是该公司出品的一款可以针对C/C++源代码进行静态分析、单元测试、集成测试的测试工具。在白盒测试领域被广泛使用。本篇文章主要介绍了如何安装C++Test的安装。Parasoft C++Test包括了Windows和Linux两种环境下的安装版本,以及独立版和插件版两种类型。如果选择安装的是插件版软件,那么需要先确保将开发工具(如:CCS、Wind River Workbench)先安装好。本篇文章主要介绍的是Windows环境下独立版的C++Test的安装。
2024-09-08 17:15:07
1195
原创 【车载开发系列】ParaSoft入门介绍
用于C/C++软件开发的统一、完全集成的测试解决方案。通过将Parasoft C/C++test集成到嵌入式安全和安全关键型应用的软件开发中,及早发现缺陷并节省资金。确保符合各种功能安全和编码标准。它是ParaSoft众多产品中的一员,除了ParaSoft C/C++Test,还有ParaSoft JTest,dotTest,ParaSoft Insure++等产品,而这里我们主要介绍的是ParaSoft C/C++Test软件的安装与使用。
2024-09-08 16:00:30
1937
原创 【车载开发系列】常见单片机烧录与调试设备
STM32的程序烧录方式主要包括使用官方或第三方的硬件调试器(如ST-LINK、J-Link等)通过SWD或JTAG接口进行烧录,利用内置或自定义的Bootloader通过UART、USB等接口进行ISP编程,以及直接通过USB DFU模式进行固件升级。在实操过程中具体选择哪种方式取决于具体的应用需求、开发环境和硬件资源。
2024-08-18 20:13:42
1223
原创 【车载开发系列】单片机烧写的文件
bin是binary的缩写,翻译为“二进制”。binary file 二进制文件是一个非text file文本文件的计算机文件。binary file是一种计算机文件格式,它以二进制编码表示文件的内容。这些文件通常包含计算机程序或数据,例如软件/固件、操作系统、文档、音频和视频等。它是我们最常见的二进制文件,它是纯数据文件,也即是“所见即所得”,所以如果我们想看看需要下载到单片机flash的数据的大小,最简单的方法就是查看我们编译连接后生成的bin文件大小。
2024-08-18 17:28:45
1288
原创 【车载开发系列】使用J-Flash下载Hex文件
使用J-Flash烧录HEX文件是一个相对直接的过程,主要步骤包括打开软件、创建工程、选择芯片类型、打开HEX文件、连接芯片、擦除目标扇区(如果需要)、烧写文件到目标扇区,最后验证烧录是否成功。烧写文件到目标扇区:选择要烧写的扇区,然后点击“烧写”或“Program & Verify”选项,将HEX文件内容写入目标芯片。在软件界面中,选择“创建新的工程”或“打开现有项目”,根据需要选择。在创建新工程时,需要选择目标设备的芯片类型。首先,在电脑桌面上找到“J-Flash”名称的图标文件,双击打开软件。
2024-08-15 13:17:50
995
原创 【车载开发系列】GPIO的概念
为了配置和控制GPIO引脚的功能,通常需要通过写入特定的控制寄存器来设置引脚的模式、状态和电平。可以通过软件控制其输出和输入。与VDD类似,VCC也用于表示正极电源引脚,但在某些特定情况下,VCC可能指代特定的电压值(如常见的5V或3.3V),或表示芯片的电源引脚集合。GPIO的应用范围非常广泛,可以用于各种嵌入式系统、物联网设备、机器人、单片机等项目中,以实现与外部设备的连接、控制和通信功能。将GPIO引脚配置为输入模式,可以连接按钮或开关,并通过读取引脚的电平状态来检测按钮是否被按下或开关是否打开。
2024-08-15 08:30:45
810
原创 【车载开发系列】LSB与MSB的区别
而假如要传输一个32比特的数的话,由于这个数在little endian方存储时占了4个字节,而网络传输是以字节为单位进行的,little endian方的CPU读出第一个字节后发送,实际上这个字节是原数的LSB,到了接收方反倒成了MSB从而发生混乱。而我们的程序通过这个指针访问后得到的数就是0xB4,字节内部的比特序对于程序来说是不可见的,其实这点对于单机上的字节序来说也是一样的。实际上,由于CPU存储数据操作的最小单位是一个字节,其内部的比特序是什么样对我们的程序来说是一个黑盒子。MSB是最高有效位。
2024-08-14 23:44:10
1039
原创 【车载开发系列】ASPICE标准实践---使用Drome系统保证一致性
Drome是符合ASPICE标准的一个平台,可以帮助组织改进其质量管理流程并实现合规性。Drome采用先进的技术和需求管理理念,帮助组织实施双向可追溯性、一致性并满足必要的质量标准。
2024-08-14 23:40:14
1405
原创 IEEE802.3中的CRC32算法
发送端:发送端根据信息字段与生成多项式生成一个CRC码,CRC码作为数据发送给接收端,同时也会把计算出的校验字段的数据一同发送(注:目的是如果接受端检测到发送的数据是正确的,接收端能够从CRC码中提取出信息字段的数据)。接收端:接收到CRC码数据后,检测接收到的数据是否正确,方法:将CRC码数据与生成多项式进行模2除,如果余数为0,则说明接收到的数据是正确的。然后,从CRC码中提取出信息字段的数据。处理完所有字节后,将最终得到的CRC寄存器中的值进行异或操作,即可得到最终的CRC32校验和。
2024-07-30 20:54:28
2749
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人