自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(116)
  • 收藏
  • 关注

原创 RT-Thread版本介绍(标准版本,Nano版本,Smart版本)不同版本适用推荐;官网资料阅读说明

先给大家连接一下官方文档中心,官方文档是最靠谱的具体的使用说明,可以多参考一下官方的说明。如果业务使用单MCU架构,那么使用标准版本再合适不过了;提供了丰富的软件包+组件与服务+硬实时内核,可以完全参考 RT-Thread 的推荐API来进行开发,也省了不少工作量;不过此时如果MCU的空间不够,可能要进行一些裁剪;适用于需要使用 RT-Thread 的丰富功能,如各类外设、物联网组件、软件包等的场景。 Nano 是一个极简版的硬实时内核,其内存资源占用小,适合存储空间比较小的嵌入式设备;没有了丰富的组件和

2024-06-19 23:42:32 296

原创 linux系统中,pwd获取当前路径,dirname获取上一层路径;不使用 ../获取上一层路径

在实际项目中,我们通常可以使用 pwd 来获取当前路径,但是如果需要获取上一层路径,有不想使用 …/ 的方式,可以尝试使用 dirname指令。dirname命令去除文件名中的非目录部分,仅显示与目录有关的内容。dirname命令读取指定路径名保留最后一个/及其后面的字符,删除其他部分,并写结果到标准输出;可使用 dirname --help 查看更多帮助由此可见,当使用 pwd 获取当前路径之后,也可以使用其它的分词或过滤方式,来获取我们想要的路径;

2024-06-19 22:22:38 69

原创 在linux系统下,使用mmap技术,实现两个进程访问同一个内存区域的操作,并增加锁保护

首先,编写一个创建共享内存文件并写入数据的进程代码,添加信号量来保护共享内存区域;当两个进程需要同时写入共享内存区域时,使用锁机制来避免竞争条件和数据不一致是非常重要的。在Linux系统中,可以使用POSIX信号量(semaphore)来实现进程间的同步;POSIX命名信号量在Linux系统中通过内核管理,位于内存中的 /dev/shm/ 虚拟文件系统内,对系统的开销非常小,务必在程序结束时正确清理信号量。接着,编写一个读取共享内存文件的进程代码,添加信号量来保护共享内存区域。

2024-06-12 19:52:26 400

原创 sem_open: Invalid argument 报错处理

`sem_open` 返回 `"Invalid argument"` 错误的原因可能有多种。以下是一些常见的原因以及如何排除它们: - POSIX命名信号量的名称必须以斜杠 `/` 开头,并且名称中不能包含其他斜杠。- 名称长度限制:信号量名称的长度通常受限于系统的文件名长度限制(例如,`NAME_MAX`)。 - 某些系统可能对信号量的数量或大小有限制。如果已经达到了系统限制,可能会导致 `sem_open` 失败。 - 检查系统限制,例如 `/proc/sys/kernel/sem` 文件

2024-06-12 16:27:04 355

原创 我的创作纪念日

四年前,在技术的广阔海洋中,我选择了嵌入式技术这块璞玉般的领域,开始了我的博客写作之旅。这个选择源于对于底层硬件与软件结合奇妙交互的好奇,以及对于将抽象的代码转化为具体行动的设备的深深着迷。每篇博客都是我学习过程中的一个脚印,记录着从基础的GPIO编程到复杂的操作系统移植的每一个细节。同时,我也学会了如何将复杂的技术概念用浅显的语言表述给读者,这不仅帮助他人理解这些概念,也加深了我自己的理解。我的博客吸引了来自各地的读者,他们的互动和反馈成为了我前进的动力。博客的日常维护成了我的生活一部分。

2024-06-02 15:39:50 300 1

原创 error: ‘return’ with no value, in function returning non-void [-Werror]

解释:返回没有值,但是函数返回时非空的;处理方法:1:关闭 warning转error的编译选项,"-Wall -Werror";2:根据函数定义,给函数设置对应返回值;

2024-05-29 08:36:42 168

原创 美光EMMC芯片丝印型号查询 8LK17/D9PSK, OXA17/JY997

最近在使用美光EMMC的时候,发现通过芯片丝印查询不到 芯片的规格说明书经过查阅资料,发现美光的EMMC芯片 “由于空间限制,FBGA 封装组件具有与部件号不同的缩写部件标记”,需要通过官网查询丝印的FBGA code然后才能查询到对应的芯片手册。最近在使用美光EMMC的时候,发现通过芯片丝印查询不到 芯片的规格说明书;可通过观察EMMC芯片上面的丝印第二行数字,通过如下网站查询。或者直接在百度查询 对应的零件编号信息,也有非常多的参考。点击对应的零件编号查看,就可以查看到对应说明了;

2024-05-28 22:06:01 480

原创 VSCODE中F12无法跳转,快捷键设置F12和insert混淆了

最近用新电脑(华为)的时候,发现VSCODE经常按F12无法跳转,在快捷键设置当中,也是设置成功的;此时重新去快捷键设置,会发现按 F12变为了Insert;华为笔记本的Fx按键,会区分 热键和功能键,可以按左下角的 Fn键进行功能切换;详情参考华为官网电脑说明。最近用新电脑(华为)的时候,发现VSCODE经常按F12无法跳转,在快捷键设置当中,也是设置成功的;此时重新去快捷键设置,会发现按 F12变为了Insert。

2024-05-28 21:51:36 434

原创 markdown画时序图的时候,如何自动显示每一条时序的序号

今天画时序图的时候,发现时序上面没有显示序号,看起来不够清晰,只有单纯的说明;如果实际使用的markdown工具不支持自动添加序号的话,可以使用 “autonumber” 语法,如下面代码所示;今天画时序图的时候,发现时序上面没有显示序号,看起来不够清晰,只有单纯的说明;刚测试CSDN的时序图,默认是带序号的,看起来和实际使用的markdown工具有关系;发送作业数据或控制信息。

2024-05-27 21:36:57 1156

原创 2024软考上半年嵌入式系统设计师考试回顾

题目也越来越长了,看懂要花不少时间,我直接放在最后一个做的;整体的难度是在增加的,并且因为不能运行调试,所以要想好每一个语句的意思,并写上答案还是不容易的;1:选择题这部分我觉得没什么难度,我刷的是嵌入式系统设计师 《2017至2021年的试题分析和解答》+ 《靠前冲刺100题》,只要把常见的知识点都记住,及格就问题不大;今年主要是讲的电源控制相关,还有两个防止电压反灌的二极管作用,主电源断开之后备用电源供电逻辑,整体难度正常;2:刷题的时候,重点应该放在最近3年的真题上,这样会和实际考试题目比较接近;

2024-05-27 21:27:05 549 6

原创 linux下将WIFI模块作为STA客户端连接路由器WIFI的操作

2:确认 Linux设备支持 iw, wpa_supplicant, udhcpc 等指令, 可以先搜索一下这三个指令的用法,也可以 “iw --help” 来查看帮助信息。WIFI连接之后,还要设置一下 DHCP, 不然自带的 ip(ifconfig查看)可能和WIFI的IP不匹配,还是无法上网;这里修改的是系统配置的账号密码,也可以通过 “add_network” 手动输入;扫描当前网络条件下,可以接收到哪些WIFI信号,就是手机连接的WIFI名称。再次查看一下路由信息,已经可以获取到 网关的信息;

2024-05-23 17:18:20 550

原创 用markdown(typora)画系统框图或系统结构图

markdown本身是不支持画系统框图或系统结构图的;但是可以参考excel的语法格式,用合并单元格+填充背景色,来实现我们预期的效果;源代码是html语法,如果有其它需求也可以自己搜索html语法,进行优化。

2024-05-23 16:04:07 226

原创 linux设备和linux设备之间建立adb shell通信

在Linux系统 中,/etc/udev/rules.d/90-telematics-usb.rules文件是用于配置udev规则的文件。通过编辑这个文件,你可以自定义USB设备在插入系统时的行为,以满足你的需求。在 /etc/udev/rules.d/90-telematics-usb.rules 文件下,把 lsusb查询到VID和PID增加一下;在实际开发过程中,如果遇到两个linux 芯片/设备 是通过USB连接,那么我们则可以在A设备上,通过adb shell登录至B设备,实现快速访问;

2024-04-21 10:40:47 326

原创 PICkit 3 v3.10中的 Device Family 识别不到芯片

在使用 PICkit3烧写hex文件的时候,Device Family只有默认芯片,识别不到当前使用的芯片,导致报错“Device Error - hex file not loaded”,我当前使用的是 PIC16F1826芯片,默认不支持;3:在 Parts List 下,选中自己想使用的芯片,将 Family 的参数修改为 “Device Families”中的 FamilyID;这个是因为 PICkit3默认没有打开全部芯片的识别,不支持的芯片需要自己进行适配,适配方法如下。

2024-04-21 10:39:56 441

原创 EC20-4G模块使用AT指令分析设备网络异常原因

实际使用4G模块的过程中,我们可能遇到模块无法联网的现象,不清楚具体的流程,没办法分析不同的场景问题;下面的流程帮助大家分析4G模块的联网流程,如果网络不通的话,应该怎么一步步排查。比如我使用的是 cid-1,那么确认cid1的 APN和IP值正常。如果CSQ值偏低,请检查 设备当前所处的环境或者天线是否接好。2.查询SIM卡号,确认SIM卡检测正常-AT+ICCID。这里有 +QPING 返回的话,则说明网络状态正常。3.查询当前环境网络信号,确认信号正常。没有应答的话,请检查4G模块是否开机。

2024-04-20 14:09:09 852

原创 MPLAB X IDE v6.2.0如何编译生成hex文件

默认debug编译方式,不会生成 hex文件。成功生成 hex文件。

2024-04-20 13:27:18 521 1

原创 git clone的代码软连接失效了

通过 git clone克隆下来的文件,提示 “bash: arm-oe-linux-gnueabi-gcc: Permission denied”, 但是本地之前版本功能正常,并且ls -lh 查看 arm-oe-linux-gnueabi-gcc 权限一致;通过一步步分析,发现 gcc 依赖的 …/lib/xxx.so 软连接文件失效了;发现是 core.symlinks 配置有问题。再次重新 git clone, 软连接功能正常。git config core.symlinks true

2024-04-15 16:53:40 182

原创 imx8安全启动问题分析--nvm manager failed to start(rsp_code=0x0429)

在使用官方提供的 imx-seco-libs 编译之后,运行 hsm_test程序, 发送0xe0 指令,返回0x0429的错误码,日志输出 “nvm manager failed to start”, hsm_test 程序运行结束;

2024-04-04 14:20:25 352

原创 windows端给python重命名,快速将默认的python修改为 python3

在windows上,我们实际已经安装了python,但默认的是 python, 可能有的程序执行需要用到 python3,下面的方法可以快速将默认的python修改为 python3。3:然后重新输入 python -V 和 python3 -V, 查看版本号。2:然后找到 python.exe,重命名为 python3。此方法需要保证windows上已经安装了python。如果不支持的话,把电脑重启再试试看。1:首先找到系统的环境变量设置。看下python的路径在哪里。

2024-03-23 10:47:33 344

原创 windows一键快速安装python方法

正常我们安装python的时候,需要先去下载python压缩包,然后再一步步安装,今天发现一个windows10下,一键安装python的方法;电脑环境:windows10以上。

2024-03-23 10:47:04 362

原创 .a .so .bin 文件格式分析--文件格式是32位还是64位,数据是大端还是小端,运行在 arm 上还是 x86上

可通过readelf指令,分析文.a .so .bin 文件是在什么系统上编译的,文件格式是32位还是64位,数据是大端还是小端,运行在 arm 上还是 x86上。通过 readelf -a libbrd.a 读取文件的格式内容

2024-03-09 18:19:51 528

原创 git无法克隆项目代码,提示输入密码fatal: unable to read config file ‘D:/test1/.gitconfig‘: No such file or directory

2:“git config --global --list” 检查 .gitconfig 问你件的所在路径,是不是和实际一致;如果不一致就说明环境变量被修改了,找到其它位置去了;3:确认有多个 .gitconfi文件,则检查环境变量里面的路径是否有被设置;我的电脑里面有个HOME设置,删除掉就好了;修改环境变量要重启生效;此时再输入 git config --global --list,发现参数都是我们预期的;1:首先确保之前,运行环境可以正常使用git;

2024-03-09 17:17:49 264

原创 VSCODE解决git合并过程中的冲突问题;error: failed to push some refs to

选择 “在合并编辑器中解析”;根据界面提示,选择左侧或者右侧的内容之后,点击 “完成合并”注意这里需要将VSCODE版本更新为1.8x;1.7x的版本可能不支持 GitLens;推送有冲突的git修改到远端的时候,会有如下提示。此时再push到git就不会有合并冲突了。直接把 远端合并有冲突的分支拉取一下。本地就会显示有冲突提示了。推送有冲突的git修改到远端的时候,会有如下提示

2024-03-09 16:38:56 1247

原创 warning: #1461-D: function declared with “noreturn“ does return

__declspec(noreturn)通知编译器该函数不返回。然后,编译器可以通过删除从未访问过的代码来执行优化。此属性具有 GNU 样式的等效项 __attribute__((noreturn))。 __declspec(noreturn) void overflow(void)如果函数达到显式或隐式返回, __declspec(noreturn) 被忽略,编译器将生成警告:

2024-03-08 21:44:22 422

原创 warning: #188-D: enumerated type mixed with another type

2:结构体初始化为 0 报warning,不能将结构体的第一个变量,使用枚举类型;此时keil再次编译,没有 warning。警告解释:枚举类型混合了其它的数据类型;1:检查代码,是不是存在混用;keil编译报 warning。将结构体变量先后顺序进行调整。

2024-03-08 21:43:03 962

原创 C陷阱和缺陷--第六章 “预处理器”

在严格意义上的编译过程开始之前,C语言预处理器首先对程序代码作了必要的转换处理;虽然宏(#define)非常有用,但如果没有认识到 **宏只是对程序的文本起作用**,那么很容易对宏的作用感到迷惑;6.1 不能忽视宏定义中的空格;6.2 宏并不是函数;6.3 宏并不是语句;6.4 宏并不是类型定义

2024-02-25 21:28:47 391

原创 C陷阱和缺陷--第七章 “可移植性缺陷”

C语言在许多不同的系统平台上都有实现;因此我们应该能够预料到,机器不同则其上的C语言实现也有细微差别;7.1 应对C语言标准变更;7.2 标识符名称的限制;7.3 整数的大小;7.4 字符是有符号整数还是无符号整数;7.5 移位运算符;7.6 内存位置0;7.7 除法运算时发生的截断;7.8 随机数的大小;7.9 大小写转换;7.10 首先释放,然后重新分配;null指针并不指向任何对象。因此,除非是用于赋值或比较运算,出于其它任何目的使用null指针都是非法的;在所有的C程序中,误用 null 指针的效

2024-02-25 21:27:11 831

原创 C陷阱和缺陷--第五章 “库函数”

返回整数的getchar函数;更新顺序文件;缓冲输出与内存分配;使用errno检测错误;库函数 signal有关库函数的使用,我们能给出的最好建议是尽量使用系统头文件。signal 库函数,作为捕获异步事件的一种方式;signal(signal type, handler function);signal: 标识函数将要捕获的信号类型;function: 当指定事件发生时,将要加以调用的事件处理函数;

2024-02-24 15:19:47 405

原创 C陷阱和缺陷--第四章 “连接”

什么事连接器;声明与定义;命名冲突与static修饰符;形参,实参与返回值;检查外部类型;头文件;’一个C程序可能是由多个分别编译的部分组成,这些不同部分通过一个连接器的程序,合并int a;如果 “int a;” 的位置出现在所有的函数体之外,那么它就被称为 外部对象a的定义;注: extern 是声明语句// 变量b的定义int a = 0;// 变量a的声明a=b;

2024-02-24 14:23:54 308

原创 C陷阱和缺陷--第三章 “语义陷阱”

指针与数组;非数组的指针;作为参数的数组声明;避免举隅法,空指针并非空字符串;边界计算与不对称边界;求值顺序;运算符&& || !;整数溢出;为main函数提供返回值1:数组的大小必须在编译期就作为一个常数确定下来,不能动态分配数组;2:对于数组,我们只能够做两件事:确定该数组的大小,以及获得指向该数组下标为0的元素的指针;3:任何一个数组下标运算,都等同于一个对应的指针运算;4:如果 array_test 不是用于sizeof的操作数,那么 array_test 总是被转换成一个指向 array_t

2024-02-23 22:29:34 528

原创 查找库文件中是否包含某个函数,库文件是否包含某个全局变量,库文件是否包含某个文件

用法:需要结合 grep 指令;可以把库文件直接文本打开看下,有字符串的内容,都是可以搜到的。扩展:另外还有 objdump 和 nm 指令也可以查看。

2024-02-23 09:32:00 464

原创 C陷阱和缺陷--第二章 “语法陷阱”

因为 fp 是一个函数指针,那么*fp就是该指针所指向的函数,所以 (*fp)() 就是调用该函数的方式;= EOF) 等价于 if (c = (getc(in)!= 0) 和 if (flag & (number!计算C语言运算符优先级的时候,不仅要考虑 优先级的先后顺序,还要考虑 结合性(自左向右,自右向左);*p++ 会被编译器解释为 *(p++), 而不是 (*p)++typedef void(*fp)(void *) 函数释义。由上至下,优先级依次递减。

2024-02-21 22:40:40 773

原创 C陷阱和缺陷--第一章 “词法陷阱”

词法分析器:编译器中负责将程序分解未一个一个符号的部分例程/*下面两个程序是等价的*/// 例1big = x;// 例2。**不要将比较运算符和赋值运算符混淆**if (x = y) 先将y值赋给x, 然后判断的是x的值, 只要x不为0,则永远为真;if (x == y) 判断的是x和y是否相等;如果一个整形常量的第一个字符是数字0,那么该常量将被视作8进制数;所以不要以为数字对齐,随意在前面补 0;用单引号引起的一个字符,实际上代表一个整数;用双引号引起的字符串,代表的是一个 指向无名数组

2024-02-21 00:05:18 430

原创 gdb下的一种core文件分析方法--设备端产生CORE文件,PC端分析CORE文件

这里的方法是在设备端产生CORE文件之后,在PC端分析CORE文件的堆栈信息。设备端可能默认不会产生core文件,需要设置一下;注意查看 Segmentation fault (core dumped) 是否有core文件; 如果没有core文件的话,则说明设置不成功;注意这里一定要使用程序编译时候使用gcc编译工具链的gdb可执行程序;不能用windows的gdb工具

2024-02-20 09:21:54 699

原创 sh脚本 kill一次杀掉多个进程

通过 pgrep -f 指令来获取进程的pid之后,赋值给变量app;然后使用 kill -9 来结束进程;注意也可以使用 pidof 指令,来获取进程 pid。

2024-01-30 09:10:34 410

原创 windows上,使用脚本来编写 git clone 指令进行一键克隆

后续如果想执行其它的git指令脚本,都可以在这里顺序增加;理论上也可以在当前windows命令窗口中执行 repo init 指令,来批量拉取代码。请先确保windons上已经安装好了 git bash指令,并已经添加到了环境变量中去;在windows上的任何地方都能执行 git 指令。在windows上,双击运行如下脚本,即可自动执行克隆指令。理论上也可以在当前windows命令窗口中执行 repo init 指令,来批量拉取代码;默认启动方式修改为 bash.exe

2024-01-02 09:00:00 810

原创 gdb调试的时候,如何知道程序当前运行的位置

当程序执行到你设置的断点位置时,gdb会中断程序的执行,并且显示当前所在的文件名和行号。你可以使用命令break 文件名:行号来设置断点,或者使用break 函数名来设置在某个函数中的断点。4:使用gdb的display命令,可以在每次程序停下来时显示某个表达式的值。你可以使用display 变量名来监视某个变量的值,或者使用display 函数名来监视某个函数的返回值。1:使用gdb的命令where或backtrace,可以显示当前的函数调用栈信息,包括正在执行的函数以及调用关系。

2023-12-23 14:06:39 1194

原创 undefined reference to symbol ‘sem_close@@GLIBC_2.2.5‘

4:增加了依赖库之后,还要注意库的先后关系;先后关系不一致,也可能导致报错;3:所以编译的时候,需要增加 -lpthread -lrt 编译选项;2:需要依赖 libpthread和librt 库;1:sem_close 为信号量相关操作;

2023-12-23 09:55:02 473

原创 error: too many arguments to function ‘system‘

system功能说明:把 command 指定的命令名称或程序名称传给要被命令处理器执行的主机环境,并在命令完成后返回。如果发生错误,则返回值为 -1;报错原因:system函数里面出现了太多参数。用法2:利用数组来组合存储想要执行的命令。用法1:直接在参数里面填写字符串。

2023-12-16 09:44:01 879

原创 linux查看当前路径的所有文件大小;linux查看当前文件夹属于什么文件系统

1:指令查看当前路径所有文件内存空间大小;这样可以方便查询每个文件大小情况,根据需要进行删除。2:查看linux文件系统分布。查看当前路径属于什么文件系统。df -h df -T

2023-12-09 09:40:56 590

PK2DeviceFile.zip,配置 PK2DeviceFile.dat,适配PICkit3,识别 micorochip芯片

1: 双击 PICkit2 Device File Editor.exe,等待联网自动安装完成; 2: file -> open file, 选中 PK2DeviceFile.dat; 3:在 Parts List 下,选中自己想使用的芯片,将 Family 的参数修改为 “Device Families”中的 FamilyID; 4: 点击 file -> save保存,并替换 PICkit3中的 PK2DeviceFile.dat文件; 5:再打开 PICkit3 软件,就可以识别到你想使用的软件了;

2024-04-20

git-repo,repo init批量拉代码使用的原始脚本

谷歌用Python脚本写的调用git的一个脚本,把git仓库统一管理起来的工具。repo init 用来拉代码使用,可直接 git pull 更新; repo是Google开发的用于管理Android版本库的一个工具,repo是使用Python对git进行了一定的封装,并不是用于取代git,它简化了对多个Git版本库的管理。用repo管理的版本库都需要使用git命令来进行操作。因此,使用repo工具之前,请先确保已经安装git和python。

2023-11-21

ISO15765协议文档,包括多个版本协议和中英文

ISO15765-1: 一般信息和用例定义 ISO15765-2: 传输协议和网络层服务 ISO15765-3: 实现统一的诊断服务(UDS CAN) ISO15765-4: 对碳排放相关系统的要求;这里定义了 0x7E0和0x18DA00F1 的ID

2023-08-01

ISO15031多个版本的协议;包括2006和2011版本

ISO15031-1: 这里边介绍的是一般信息和用例定义; ISO15031-2: 术语、定义、缩写词和首字母缩写词[技术报告] ISO15031-3: 这里边主要介绍了诊断连接器及相关电路:规格和用途; ISO15031-4: 外部测试设备 ISO15031-5: 这里边主要介绍了与排放相关的诊断服务; ISO15031-6: 这里边主要介绍了诊断故障代码定义 ISO15031-7: 数据链路安全

2023-08-01

SuperCom超级串口调试工具

SuperCom 是超级串口调试工具,用于 Window 串口日志的采集、存储、可视化等功能。免费开源!并且支持高速波特率

2023-05-09

汽车整车信息安全技术要求 及相关附件

附件: 1.《汽车整车信息安全技术要求》(征求意见稿).docx 2.《汽车整车信息安全技术要求》(征求意见稿)编制说明.docx 3.《智能网联汽车 自动驾驶数据记录系统》(征求意见稿).docx 4.《智能网联汽车 自动驾驶数据记录系统》(征求意见稿)编制说明.docx 5.《乘用车外部凸出物》(征求意见稿).docx 6.《乘用车外部凸出物》(征求意见稿)编制说明.docx 7.《商用车驾驶室外部凸出物》(征求意见稿).docx 8.《商用车驾驶室外部凸出物》(征求意见稿)编制说明.docx

2023-05-06

J2012-DA故障诊断代码定义和故障类型字节定义

J2012-DA故障诊断代码定义和故障类型字节定义的数字附件电子表格

2023-04-23

ISO15031诊断协议

ISO15031诊断协议,里面包含2006和2011版本

2023-03-25

ISO-15765诊断协议

15765诊断协议,里面包含多个版本

2023-03-25

ISO-14229统一诊断服务

ISO_14229统一诊断服务

2023-03-25

ISO27145(1-4)

车载诊断协议,ISO27145(1-4)-中英文版-2012

2023-03-25

一款用于分析 内存分区情况的MAP 文件分析工具

主要用来分析linux下 gcc-map文件的,功能很强大,可以用来分析RAM,ROM, FLASH等内容使用情况;MCU的话,感觉还不如 keil自带的好用

2022-10-24

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

TA关注的人

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