自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

不断debug,优化中……

关注 小昭debug,每日进步一点点,debug.....

  • 博客(178)
  • 资源 (3)
  • 收藏
  • 关注

原创 debug对于开发工程师很重要

在日常开发中,总会遇到一些出人意料的bug,程序跑飞,上电就挂,程序没有按预期执行诸如此类的问题,没有好的调试方法,真的很难定位问题,更别说解决了。在这里分享我用过的一些调试方法,抛砖引玉。

2024-09-10 22:45:34 1741

原创 DoIP诊断入门

DoIP(Diagnosis over Internet Protocol)是一种用于车辆诊断的网络通信协议。它基于现代互联网技术,允许通过以太网或IP网络进行车辆诊断和通信。DoIP的背景是现代车辆中使用的电子控制单元(ECU)数量不断增加,以及这些ECU之间需要进行更快速、更可靠的数据交换。传统的诊断方法通常使用专用的物理连接和协议,限制了诊断的速度和灵活性。而DoIP利用了以太网和IP网络的优势,使诊断设备能够通过网络连接到车辆的ECU,实现远程诊断、编程和数据交换。

2023-08-13 16:44:29 1511

原创 固定大小也能随心扩展:6大位域+子结构嵌套黑科技

通过“固定大小 + 位域/子结构嵌套”这套方法论,我们既能保证系统对硬件的高效兼容,又能在不断演进的产品需求中从容应对。的前提下进行功能扩展或版本兼容,确保与硬件接口、外设寄存器、DMA 传输以及协议解析等模块无缝对接。:位域可按位分配标志或小范围数值,子结构/联合体可在同一内存区实现多种访问方式,满足原始读取与结构化访问需求。:位域可按位分配标志或小范围数值,子结构/联合体可在同一内存区实现多种访问方式,满足原始读取与结构化访问需求。日志系统中固定大小的记录缓存、Flash 写入或环形缓冲区存储。

2025-05-18 13:27:00 709

原创 STM32性能提升的秘密武器:将函数放到RAM中执行,速度飙升!

RAM的访问速度要比闪存快得多,尤其是在频繁读取或者执行大量数据时,RAM能够提供更高的带宽和更低的延迟。:将函数放入RAM中执行,减少了闪存读取的延迟,尤其是在数据处理频繁的情况下,RAM的访问速度能够显著提升系统的响应时间。:对于需要高实时响应的应用,比如中断处理、实时信号处理等,放入RAM中的函数能够提供更快速的执行路径。:通过将代码动态加载到RAM中执行,可以实现某些代码的更新或者保护,防止闪存中的程序被篡改。:执行区域的定义,加载地址即为执行地址,指明将程序的代码从闪存加载到该区域并执行。

2025-05-18 13:13:08 639

原创 从入门到崩溃:C指针最懂的5个概念,一篇讲透!

带你找到变量在内存里的“家”。此外,指针能用来节省内存、提高效率:比如传递大型数组到函数时,如果不使用指针,编译器会拷贝整个数组;而用指针,只传递一个地址,速度快,内存也省。所以,想把数组当做指针来用完全没问题,但如果把指针赋值给数组名,就会报错。类型:在表达式中,数组名会退化(decay)成“指向第 0 个元素”的指针,类型是 char *。这时,传给函数的其实是变量的地址,函数通过解引用指针来修改原来的值。类型:真正的“取地址”运算,类型是“指向整个数组”的指针,写作 char (*)[20]。

2025-05-14 00:01:34 375

原创 揭秘 C 语言一级/二级指针经典陷阱 & 6 个嵌入式实战案例

指针是 C 语言的灵魂,也是嵌入式开发的利器。掌握了一级/二级指针的传参本质,你就拥有了数据与内存的钥匙。练习一下上面 6 个案例,写写小 demo,把指针“陷阱”练成“套路”,下次再遇到崩溃也能轻松 Debug。:裸机没有系统堆栈调试,崩溃日志十分模糊,记得在分配与 memcpy 前后加逻辑打印或信号灯指示。:FreeRTOS 中,一个任务读取传感器数据,另一个任务处理并通过消息队列传递缓冲区指针。如果要在函数内部动态构造写缓冲并回传给上层,就要写一个二级指针接口包裹它,或者让上层。

2025-05-13 23:09:39 477

原创 功能安全的关键——MCU锁步核技术全解析(含真实应用方案)

锁步核(Lockstep Core)是指两个(或多个)CPU核心以完全相同的时钟和输入同步运行,在每个时钟周期内执行相同的指令,并实时比较它们的输出结果。这种锁步模式在设计上是固定的,因此缺乏灵活性,因此应用程序实际上使用了两个内核,但只能达到单内核的性能。特别是像电动助力转向(EPS)、制动控制系统、气囊控制器这类对“出错零容忍”的系统,已经广泛采用一种重要的安全架构——锁步核(Lockstep Core)。分时锁步(Delayed Lockstep):副核延迟几个周期再运行同样的指令(降低硬件成本)。

2025-05-08 21:44:45 1345

原创 汽车为什么需要以太网?带宽?实时?

自动驾驶需要融合摄像头(2MP@60fps)、激光雷达(每秒百万点云)、毫米波雷达数据,总带宽需求超800Mbps。:以太网统一IP协议栈,支持AVB(音视频桥接)、SOME/IP(服务通信),实现“一网通”。:以太网支持域控制器(如华为CCA架构),将100个ECU缩减至5个,研发成本降低25%。采用2对双绞线,需独立发送/接收通道,导致线束复杂度高(如100BASE-TX需8根线)。:比亚迪海豹采用以太网主干,线束重量减少22公斤,相当于多载3个成年人(按能耗换算)。

2025-05-08 21:43:15 1032

原创 1分钟你明白Cortex-M MCU 上电做了哪些动作

大家好,小昭今天给大家分享ARM内核小知识,咱们以Cortex-M4举例,MCU上电会从0x0地址取出栈顶指针,会在0x4(地址是四个字节,所以向后偏移四个字节)取出MCU要执行第一个函数的地址,一般是Reset_Handler,就是复位函数,进入异常,权限最高,特权级。细心的同学就会发现,这个和MDK上的不太一样,下面初始化系统时钟后,跳转到__main(),此__main()非彼main(),__main()是一个C库函数,被封装,本质工作和上面一样,初始化了SRAM,最后跳转用户main函数。

2025-05-06 20:44:29 216

原创 一文看懂UDS DTC状态位

在UDS(统一诊断服务)中,DTC(诊断故障码)的故障状态码由8个二进制位(bit)组成,每个位表示特定的故障状态或条件。• ConfirmedDTC(bit3)表示故障多次触发并通过老化条件(如持续存在一定时间),需存储到非易失存储器。• PendingDTC(bit2)表示单次检测到故障,但未满足存储条件(如短暂故障)。• 故障需在多个操作周期内持续或者单个周期存在才会被确认(bit3置1)。• 不同ECU可能有不同的操作周期定义(例如网络管理唤醒周期)。Operation Cycle(操作周期)

2025-04-28 21:32:44 637

原创 诊断开发必会 UDS 19服务

用查询DTC的快照数据,快照数据可以是里程、时间和速度等,快照数据一般是两组及以上,什么意思呢,比如在时间点1发生故障,记录快照数据1,当发生第二次故障时候记录快照数据2,当发生第三次故障时候,假如只有存储两组快照数据,那么第二组快照数据会被覆盖,保留最近一次快照数据。简单介绍下,19服务的作用,主要读取ECU上的故障状态信息,例如出现系统故障或者Bus-off故障,当故障发生的时候可以保留当前里程、电压、时间、速度等数据,用于定位分析问题。190201:查询发生当前故障有哪些DTC。

2025-04-24 23:01:18 570

原创 写给在读和实习的同学一些建议,能少走N年弯路

职场中常说的"学生思维"主要指未能及时调整从校园到职场环境变化的认知模式。掌握"职场语法":将"我不会"改为"我立即学习",将"这不是我的工作"转化为"这个需求我需要协调XX部门支持"永远别问"为什么我的代码不行",而要问"为什么在条件X下,第N行语句的行为不符合Y"建立"价值坐标系":每周自问"我的工作创造了哪些可量化的价值?实施"30%提前量":接到任务时,多准备30%的延伸方案。→ 采用"版本迭代"工作法(1.0版→2.0版)培养"第二视角":观察资深同事如何处理模糊任务。

2025-04-24 23:00:08 305

原创 知道在ASPICE流程中,研发工程师会参与哪些环节中?

ASPICE对研发工程师的技能要求较高,需熟悉V模型、需求追溯工具(如DOORS)、测试框架(如Vector DaVinci)等。:接收来自系统需求(SYS.2/SYS.3)的输入,将系统需求分解为可执行的软件需求,并确保需求的结构化、一致性及可追溯性。• 与利益相关者沟通,明确功能需求(如车辆灯光控制逻辑)和非功能需求(如响应时间)。• 定义软件功能需求(如灯光状态指示逻辑)和非功能需求(如内存占用限制)。◦ 定义软件功能需求(如近光灯开关逻辑)和非功能需求(如响应时间)。

2025-04-16 23:06:31 742

原创 什么是车规级MCU?STM32也能上车规级场景?

车规级MCU的认证是硬件、软件、生产全链条的严格管控过程,需同时满足AEC-Q100(可靠性)、ISO 26262(功能安全)、IATF 16949(质量管理)三大核心标准。:基于Cortex-M33内核,主频250MHz,支持ISO 26262 ASIL B功能安全标准,内置STM32Trust TEE安全模块。:Cortex-M7内核,AEC-Q100 Grade1认证,支持ASIL B功能安全,适配车身控制、BMS等场景。

2025-04-16 22:49:41 1573

原创 少有人知道HSM安全启动

TrustZone、HSM(硬件安全模块)和HSE(硬件安全引擎)是三种不同的硬件安全技术,各自具有独特的功能和应用场景。在MCU集成HSM(硬件安全模块)的系统中,安全启动(Secure Boot)机制会通过硬件级加密和密钥保护实现更高等级的安全防护。HSM的加密操作(如签名验证)在独立的安全环境中执行,与主CPU隔离,防止侧信道攻击。HSM参与APP签名验证,比对固件哈希值与签名中的加密哈希值,防止恶意代码注入。:存储在HSM的安全存储区,用于验证BootLoader和APP的签名。

2025-02-22 22:51:56 1394

原创 Excel转DBC 源码分享

Excel转DBC 源码分享。

2025-02-21 23:15:15 254

原创 NVM是什么,以及NVM的作用?

MemIf:MemIf模块作为中间层,提供对多种NVM设备(如EEPROM、Flash、Fee等)的统一接口,使得应用程序可以灵活、便捷地访问这些存储设备。在 AUTOSAR 架构中,多个模块协同工作,以管理非易失性存储器(NVM)的数据存取。使用:MemIf 接口由 NvM 调用,以访问具体的存储硬件,如 EEPROM 或 Flash。通过提供统一的接口,NVM 隐藏了底层存储硬件的差异,使上层应用程序无需关心具体的存储介质。功能:作为硬件抽象层,为 NvM 提供统一的存储接口,隐藏底层存储硬件的差异。

2025-02-21 23:05:06 1173

原创 MCU Bootloader具备什么条件才能跳转到APP程序

在MCU系统中,BootLoader(Boot)跳转到应用程序(APP)的条件通常由控制,核心逻辑是确保APP的完整性和合法性。APP的起始地址(如)必须包含合法的**栈指针(SP)复位向量(Reset Handler)**地址,确保程序入口有效。BootLoader计算APP区域的CRC或哈希值(如SHA-256),与预存的校验值比对,确保固件未损坏或被篡改。(安全增强场景):使用非对称加密(如ECDSA)验证APP的签名,确保固件来源可信。0x10 0x02。

2025-02-21 23:02:14 1275

原创 Excel转DBC文件 源码分享

Excel转DBC 源码分享。

2025-01-24 10:58:32 159

原创 开源许可证(Open Source Licenses)

开源许可证(OpenSourceLicenses)是一种允许用户查看、修改、共享和分发代码的法律协议。它们规定了代码在不同场景下的使用权限和责任。开源许可证的种类很多,不同的许可证在使用条件上有所不同。

2025-01-19 22:21:29 1907

原创 一文看懂看门狗

微控制器(MCU)内置的看门狗(Watchdog)是用来保证系统在发生软件故障或异常时能够自动复位或重新启动的安全机制。它通过定期“喂狗”(即定期给看门狗喂信号)来保持系统的正常运行。如果看门狗在预定的时间内没有收到“喂狗”的信号,就会认为系统出现了故障,进而触发复位操作,从而确保系统不会陷入死循环或挂起状态。

2025-01-19 22:10:57 1504

原创 汽车领域 编程规范你了解多少

CERT 主要由美国的 CERT/CC(Computer Emergency Response Team/Coordination Center)发布的一系列安全编程规范,主要关注安全漏洞的预防和修复。CERT C 编程规范专注于避免编程中的常见漏洞和不安全行为(例如不安全的字符串操作、不正确的内存分配等)。HIS 规范类似于 MISRA,注重规范化编码,减少不安全和难以维护的代码,通常也会涉及到内存管理、资源调度等方面的标准。例如,避免使用不确定行为的特性(如未初始化的变量、指针运算等)。

2025-01-06 00:07:44 757

原创 你知道Autosar代码的命名规范吗

其他编码规范除了命名规范,AUTOSAR 编码标准还关注其他方面,如代码结构、代码风格、模块化设计、可维护性、内存管理等。为了保证系统的可靠性和可移植性,AUTOSAR 还强调以下几个要点:避免使用动态内存分配:由于嵌入式系统的内存有限,AUTOSAR 推荐使用静态内存分配。模块化和可配置性:系统应当模块化,并且各个模块之间的依赖应尽量减少。接口的标准化:接口的定义应尽量标准化,确保模块间的兼容性和可扩展性。

2025-01-06 00:06:22 1015

原创 SOME/IP 入门1

SOME/IP 协议通常用于汽车行业的 车载网络通信,其工作方式类似于基于服务的客户端-服务器通信模型。其核心思想是通过服务发现、服务请求和服务响应来完成 ECU 之间的通信。SOME/IP 协议的主要报文类型Service Discovery (服务发现):服务发现是 SOME/IP 的一项核心特性,允许不同的 ECUs 在网络中彼此发现对方提供的服务。

2024-12-24 08:10:28 853

原创 少有人用的C语言写法

(uint32_t)&((parent *)0)->member:通过 (parent *)0 创建一个指向 parent 类型的空指针(值为 0)。((uint32_t)node - (uint32_t)&((parent *)0)->member):这是将 node 的地址减去成员 member 相对于结构体首地址的偏移量,从而得出结构体的起始地址。输出的值是成员的内存地址。node:是一个指向结构体成员的指针,通常是结构体中的某个成员的地址。2、通过结构体成员的地址,反推回去得到结构体本身的地址。

2024-12-24 08:09:01 531

原创 ASPICE VS 敏捷开发

例如,敏捷开发的迭代过程可以结合ASPICE的测试、验证、文档等要求,使得开发过程既具备敏捷性,又满足高质量和安全性要求。安全关键系统与非安全关键系统分开管理:在实际应用中,可以根据项目的性质和安全要求,针对安全关键系统采用ASPICE流程,而对于非安全关键功能,可以采用敏捷开发方法,这样能够实现灵活与规范的平衡。随着行业技术的不断发展,特别是在自动驾驶和安全关键系统中,未来可能会有更多的企业在需要符合安全性要求时结合ASPICE和敏捷开发,以便实现过程的规范化和开发的灵活性并行。

2024-12-21 13:26:59 949

原创 一文了解AES 加密算法

AES(高级加密标准)是一种对称加密算法,其加密过程是基于 分组加密(block cipher)的,每次加密的单位是固定大小的 128 位数据块。然而,AES加密的模式(如 ECB、CBC、CFB、OFB、CTR、GCM)定义了如何对 多块数据(或 流数据)进行加密,它们在加密过程中有所不同。安全性差:如果明文中有相同的块(即相同的128位数据),密文中会出现相同的块。以 CFB-128 为例,明文分成多个 128 位块,每个块的加密依赖于前一个密文块,生成一个新的密钥流,然后与明文块进行异或。

2024-12-17 00:53:47 2440

原创 常用加密算法常识,保护你的程序

非对称加密(Asymmetric Encryption),又称公钥加密,是一种加密技术,它使用一对密钥进行加密和解密。这对密钥包括和。

2024-09-10 22:51:12 803

原创 Autosar--Can收发器通俗讲解

Autosar网络管理的休眠唤醒功能,Can收发器起到比较大的作用,充当唤醒源以及最终执行网络休眠。Autosar--Can收发器通俗讲解唤醒/休眠请求进入normolComM_EcuM_WakeUpIndication 有唤醒源事件CanSM_RequestComMode 有通信请求CanSM_NetworkStatemachine() 更新CANSM状态CanIf_SetTrcvMode() 进入normal。

2024-09-09 03:09:34 490

原创 一文带你画PCB板,有手就行

整流二极管主要用于防止电流倒流和保护电路。开关二极管适用于高速开关和脉冲信号处理。稳压二极管用于电压稳压和提供参考电压。

2024-08-25 00:23:16 2741

原创 Autosar_MCAL_Port

PORT Driver就是对微控制器(MCU)的整个PORT模块进行初始化配置。很多端口和管脚被分配有多种不同的功能,即可以进行引脚功能复用,比如通用I/O、adc、pwm、spi等功能。因此,对PORT必须有一个整体的配置和初始化,对各管脚的具体配置和使用取决于微控制器和ECU的引脚功能分配。PORT初始化数据应当尽可能高效地写到每个端口。DIO驱动中所用到的端口的配置和初始化都是在PORT驱动模块中完成的。因此,在使用DIO功能之前,应先进行PORT的初始化。1、PortContainer说明。

2024-08-22 21:45:03 117

原创 Autosar_MCAL_Adc

ADC主要是作为模拟量转换为数字量使用,在汽车的控制器中具有广泛的用途。AutoSAR中ADC模块用于初始化并控制微控制器的内部模数转换单元,提供启动和停止转换的服务用来启用和禁用ADC转换的触发源。此外,ADC模块还提供了启用和禁用通知机制服务来决定是否将ADC转换完的结果通知给上层应用,同时ADC模块提供了用于查询转换状态和读取转换结果的功能。目标:设置PTC14引脚为ADC信号采集功能。2、Port模块,将引脚复用成ADC。1、在Mcu模块,使能ADC时钟。依赖Mcu、Port。

2024-08-22 21:44:28 224 1

原创 MCAL--CAN (S32K144)

Can邮箱,顾名思义,收到制定的报文,才会放到邮箱,并触发中断,来处理报文数据,所以可以通过邮箱接收的方式,接收制定报文ID才进入中断,避免频繁进入中断,增加CPU的负载。当接收报文ID,CAN硬件过滤器receiverID & MASK == CODE&MASK 进行对比。BASIC:可以存放多个ID的报文,依赖硬件滤波器CanFilterMasks。当CAN邮箱配置成BASIC时,需要配置硬件滤波器。FULL:只能存放一个ID的报文。,就位于相位缓冲段2开始的地方,CAN控制器和CAN邮箱。

2024-08-22 15:13:04 531

原创 MCAL--MCU (S32K144)

AutoSAR中MCU Driver主要提供了用于基本的控制器初始化、下电、复位功能的服务,同时也为其它MCAL层需要的功能提供对应的服务函数。通常来说在AutoSAR的架构中MCU主要支持以下几个功能:1.初始化控制器的外设时钟、系统时钟、PLL等,对所有控制器内各个外设模块用到的时钟提供配置服务。2.初始化定义的RAM Section。3.为MCU的运行提供省电功能,支持MCU运行相关模式转化配置,支持整个系统复位,以及获取系统复位的原因。4.支持通用的模块的配置,比如DMA、GTM等。

2024-08-21 16:12:47 338

原创 Autosar ComM模块(communication manager)

中央处理单元,处理通信请求并管理数据流。核心职责包括信号处理、通信模式管理和网络管理。它是一个资源管理器,封装了对底层通信服务的控制。ComM 模块控制与通信相关的基础软件模块,而不是软件组件或可运行实体。ComM 模块从通信请求方收集总线通信访问请求,并协调总线通信访问请求。ComM作用:1、简化用户对总线通信栈的使用。这包括简化的网络管理处理。2、协调一个 ECU 上多个独立软件组件的总线通信栈的可用性(允许发送和接收信号)。用户不应了解硬件(例如在哪个通道进行通信)。

2024-05-05 21:41:05 1755 1

原创 Autosar EcuM上电流程 下

根据event Validation之后的结果选择进入不同的阶段,一种是验证有效,进入RUN 11阶段,另外一种是验证无效,进入Go Sleep阶段;若在该阶段存在RUN Request,那么就会立刻跳回到RUN 11阶段;RUN阶段可以划分为以下两个阶段,一个是RUN II,表示正常工作状态,另一个是RUN III,表示为进入到ShutDown所作的前提准备,顶层设计如下图所示:在RUN 1阶段则表明已完成了所有BSW模块(包括OS及RTE)的初始化,开始运行SW-C程序。

2024-04-06 22:57:49 519

原创 Autosar EcuM 上电流程 上

介绍EcuM模块,管理ECU运行状态,上电工作流程,规定上电时 Startup需要做什么操作,正常运行Run需要做什么操作,休眠Sleep时需要做什么操作,关机下电ShutDown做什么操作,唤醒Wakeup需要做什么操作,这五大流程管理。EcuM的初始化,在main函数里。

2024-04-06 22:57:10 614

原创 Autosar BswM 模式管理

BswM就是一个基于Rules的服务模块,主要工作就是上面讲到的根据制定的Rules,执行相应的Action。下图之前我们放过一次,这里多讲讲:可以看到这里有三个Auto Configuration,那都是DaVinci自动配置的部分,然后下面的Miscellaneous就是我们用户自己定义的部分(当然其实一般来说都不必自己定义对Rules的评估可以有两种形式的:立即 和 延迟立即:当然就是被call了之后立马开始了。

2024-04-06 22:56:20 228

原创 MCAL SPI配置

用的是Qspi0SpiDriver要配置 4个选项SpichannelSpiJobMcu 模块配置dma配置。

2024-04-05 16:00:53 232

原创 Autosar工具链配置 CanNM

网管报文btye设置:1、重复消息请求位设置 2、ECU地址。接收到主动唤醒源,网管报文快发周期,次数;wait bus-sleep 定时设置以及网管报文超时设置。repeat message time 超时时间。为保证ECU起来首发的报文是网管报文,网管报文范围0x600~0x6FF。ComM 要放在CanNm前执行。CAN网络管理filter。

2024-04-05 15:58:18 376 1

execl表 通信矩阵转DBC

execl转DBC

2025-01-21

Autosar MCAL 代码demo

Autosar MCAL 代码demo

2025-01-14

autosar工程代码

autosar工程代码

2025-01-08

understand工具

understand工具

2025-01-08

doip抓包数据,带诊断数据

doip抓包数据

2024-09-22

零基础速成simulink代码生成-DBC文件CAN报文+stateflow 5 模型代码

零基础速成simulink代码生成——DBC文件CAN报文+stateflow 5 模型代码 ; 此专栏面向嵌入式工程没有matlab开发经验的人,可以快速学习和实践这门技术。MDB技术,越来越成熟和普遍,从手写代码转到基于模型开发已经是大势,不仅减少开发周期,还增加代码的复用性。汽车领域、医疗和算法建模广泛使用。

2023-06-23

零基础速成simulink代码生成-结合CANOE的DBC文件CAN报文代码生成 移植到硬件4 模型

零基础速成simulink代码生成——结合CANOE的DBC文件CAN报文代码生成 移植到硬件4 模型;此专栏面向嵌入式工程没有matlab开发经验的人,可以快速学习和实践这门技术。MDB技术,越来越成熟和普遍,从手写代码转到基于模型开发已经是大势,不仅减少开发周期,还增加代码的复用性。汽车领域、医疗和算法建模广泛使用。

2023-06-23

零基础速成simulink代码生成-简单滤波器实现2 简单滤波器模型

零基础速成simulink代码生成——简单滤波器实现2 此专栏面向嵌入式工程没有matlab开发经验的人,可以快速学习和实践这门技术。MDB技术,越来越成熟和普遍,从手写代码转到基于模型开发已经是大势,不仅减少开发周期,还增加代码的复用性。汽车领域、医疗和算法建模广泛使用。

2023-06-23

零基础速成simulink代码生成-matlab基础介绍1

零基础速成simulink代码生成——matlab基础介绍1 涵盖多个demo模型 此专栏面向嵌入式工程没有matlab开发经验的人,可以快速学习和实践这门技术。MDB技术,越来越成熟和普遍,从手写代码转到基于模型开发已经是大势,不仅减少开发周期,还增加代码的复用性。汽车领域、医疗和算法建模广泛使用。

2023-06-23

零基础速成simulink代码生成-stateflow基础3 例子

零基础速成simulink代码生成——stateflow基础3 此专栏面向嵌入式工程没有matlab开发经验的人,可以快速学习和实践这门技术。MDB技术,越来越成熟和普遍,从手写代码转到基于模型开发已经是大势,不仅减少开发周期,还增加代码的复用性。汽车领域、医疗和算法建模广泛使用。

2023-06-23

CANOE入门到精通-CANOE系列教程记录2

CANOE入门到精通——CANOE系列教程记录2

2023-04-30

Cortex-M内核系列和STM32-讲座,Cortex-M内核系列和STM32,现场保护和恢复现场原理

Cortex-M内核系列和STM32-讲座,Cortex-M内核系列和STM32,现场保护和恢复现场原理

2023-04-26

SPI_DEMO.rar

STM32主从双机SPI通信测试.(stm32f103与stm32f103、stm32f103与stm32f429)

2021-08-09

嵌入式常见经典笔试题.doc

嵌入式常见经典笔试题.doc

2021-08-02

室内定位UWB.zip

uwb点对多距离测试

2021-08-02

空空如也

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

TA关注的人

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