- 博客(52)
- 收藏
- 关注
原创 【AutoSar】DeepSeek回答什么是IO抽象
但是具体怎么实现的呢?比如,定义一个抽象的IO接口,有read和write方法,然后具体的GPIO驱动、I2C驱动、SPI驱动都继承并实现这些方法。另外,硬件的变化可能不仅仅是同一种接口的不同实现,比如从GPIO换到ADC,这时候可能需要更高层次的抽象,比如将传感器抽象为提供某种数据类型的设备,而不管其具体是如何获取的。比如,假设有一个函数叫做read_sensor(),它内部可能调用GPIO的读取函数,但如果硬件换成I2C,只需要修改read_sensor()的具体实现,而不需要改变调用它的代码。
2025-02-24 19:22:16
637
原创 【python】subprocess.Popen执行adb shell指令进入linux系统后连续使用指令,出现cmd窗口阻塞问题
subprocess.Popen执行adb shell指令进入linux系统后出现cmd窗口阻塞问题,需要手动关闭cmd才会继续执行其他指令
2025-01-23 13:56:15
741
原创 【Bootloader】BT刷写流程
Flash驱动的作用:操作内存的工具(写入、清除都需要基于这个工具) OTA升级前下载这个代码,升级后清除这个代码(即用即下,不用删除)h:一致性检查,3101FF01:保证重编辑逻辑块一致并兼容,如确保应用数据与应用软件兼容或两个软件模块间的接口匹配。d:功能寻址:28服务:280303 应用/网络报文都禁掉,除诊断。c:功能寻址:28服务:280003 恢复网络/应用报文发送。c:功能寻址:85服务:8502 禁止DTC检测。d:功能寻址:85服务:8501 恢复DTC检测。
2025-01-17 10:00:46
809
原创 【Bootloader】BT简介
Bootloader,简称BT。存储在非易失存储器的一段程序,每次ECU复位/断上电后会先运行BT,检查程序状态(完整性),类似BIOS。Bootloader是所有支持重编程的ECU必须具备的软件功能,在ECU运行过程中,执行的是应用软件和应用数据,仅当应用软件或应用数据无效或者上电之初,或者要求对其进行升级或特殊测试的时侯,才会运行Bootloader软件。
2025-01-16 15:17:48
185
原创 【Bootloader】BT刷写和OTA刷写区别
OTA升级,在A分区内升级后切换至B分区,B分区为升级后的软件,A分区保留之前软件。BT直接刷自己分区,即在A分区刷写后仍在A分区,即A分区软件更新,B分区不变。保留软件备份,软件异常时能够回滚至上一版本。
2025-01-16 15:13:13
394
原创 【存储器】FLASH扇区、块、页
不同厂家的、不同类型存储器的划分方式不同,有的以页为最小单元,有的以扇区为最小单元,但大部分都以扇区为最小单元。用包含关系来描述Flash物理分区的话:芯片包含多个块,块又包含多个扇区,扇区又包含多个页,页包含多个字节。
2025-01-16 14:57:56
228
原创 【存储器】ROM和RAM的区别 / Falsh闪存和EEROM的区别
也叫主存,是与CPU直接交换数据的内部存储器,它可以随时读写,而且速度很快,通常作为操作系统或其他正在运行中的程序的临时数据存储介质。根据存储器内的数据是否能够在使用电脑时随时被改写为标准,可以将其分为两大类产品,即ROM(只读内存)和Flash memory(闪存)。RAM工作时可以随时从任何一个指定的地址写入(存入)或读出(取出)信息。非易失性存储器指断电后存储的数据没有丢失的存储器。它的易失性表现在一旦断电所储存的数据将随之丢失。
2025-01-15 20:01:25
434
原创 【linux】看门狗&喂狗的简述
明白了上面的原理,我们在设计程序时,先根据看门狗计数器的位数和系统的时钟周期算一下计满数需要的时间,就是说在这个时间内“看门狗”计数器是不会装满的,然后在这个时间内告诉它重新开始计数,就是把计数器清零,这个过程叫“喂狗”,这样隔一段时间喂一次狗,只要程序正常运行他就永远计不满,一旦出现死循环之类的故障,没有及时来清零计数器,就会导致装满了溢出,他就重启系统,这就是看门狗的看门原理,傻傻的、笨笨的。
2025-01-13 10:54:30
793
原创 【linux】vi编辑文件及readonly文件修改读写权限方法
重新挂载为已经挂载了的文件系统(以读写权限挂载),需要注意的是,挂载点必须是一个已经存在的目录,这个目录可以不为空。一般用于此目录下的文件为ro权限,需要临时变更为可修改权限。进入修改状态,修改配置文件。1、vi + 文件路径。
2025-01-10 16:24:25
898
原创 【UDS诊断】34服务&36服务&37服务&OTA升级流程
作用:在升级文件每个块进行数据传输前,都会先通过34服务进行下载请求;并将该块数据的存储地址和数据量大小发送给到ECU端。数据传输 客户端使用此服务将数据从客户端传输到服务器(下载)或从服务器传输到客户端(上传)终止客户端和服务器之间的数据传输。
2025-01-08 11:42:01
640
原创 【车载网络】BUSOFF状态简述和制造
Bus Off,即总线掉线,当前该节点脱离总线,不参与通信,可以理解为当前节点的Controller关闭,节点无法在此期间收/发报文。注意,此期间ECU依然在正常运行,所有的任务依然被OS调度。CAN_H和CAN_L短接(在DB9上2低7高)发送成功,TX error count - 1。BUSOFF时总线上会显示错误帧。TEC:发送错误计数器。REC:接收错误计数器。
2025-01-03 16:38:39
630
原创 【python】【pyautogui】python控制鼠标移动的基础操作
【python】【pyautogui】python控制鼠标移动的基础操作。
2024-12-05 19:34:05
224
原创 【python】【报错解决】pyautogui.FailSafeException: PyAutoGUI fail-safe triggered from mouse moving to a corn
【代码】【python】【报错解决】pyautogui.FailSafeException: PyAutoGUI fail-safe triggered from mouse moving to a corn。
2024-12-05 15:24:52
402
原创 【python】【报错解决】同时使用plt.savefig()和show()冲突问题,保存图片是空白
show()可以在窗口输出完整图片,保存的图片却是空白。先sava再show,可解决此问题。
2024-12-04 11:42:53
196
原创 UDS诊断-28服务
CoummunicationControl通讯控制服务,客户端向服务端请求打开或关闭某通信类保温信息发送和关闭。28服务主要用于网络中应用报文/网络管理发送和接收。通讯类型:01用应用报文;控制类型:控制接收和发送。
2024-11-18 11:39:36
346
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人