- 博客(73)
- 资源 (15)
- 收藏
- 关注
原创 CAN报文中的字节序:一文搞懂Intel格式与Motorola格式
摘要:本文解析CAN通信矩阵中Intel与Motorola两种字节序格式的本质区别。通过对比计算机存储的大端/小端概念,阐明二者分别描述不同层级的数据排布规则:大小端关注字节顺序,而Intel/Motorola规范跨字节信号的位填充方式。结合12位信号的典型案例,详细展示两种格式下二进制位的不同分布规律,并给出DBC文件配置和CANoe工具中的实用判别技巧。最后总结两种格式的核心特征与应用场景,帮助开发者避免因字节序误解导致的数据解析错误。
2026-04-10 14:06:34
88
原创 LIN矩阵Excel ⇄ LDF互转工具:打通设计数据与协议描述的关键桥梁
摘要:LIN总线在汽车电子领域广泛应用,LIN矩阵表(Excel格式)与LDF文件是开发流程中的核心数据载体。本文分析了两种格式的特点:Excel便于协作编辑但无法被工具直接解析,LDF是标准配置语言但手工修改易出错。介绍了专业转换工具应具备的双向转换、严格校验、模板定制等功能,以及在新项目启动、工程变更等场景中的应用价值。通过自动化转换工具可有效提升开发效率,确保数据一致性,避免人工转换错误。(149字)
2026-03-23 18:16:14
433
原创 CAN DBC 生成 C 代码工具:量产项目验证的高效解决方案
这是我自己写的,用python脚本实现的CAN DBC生成C代码的工具。实际项目一直在用非常的好用,产品包含测试的DBC文件,生产的.c和.h代码,还有根据这个例子介绍如何调用.c和.h的CAN应用报文解析(打包和解包)接口进行CAN通信。注意:这个软件是我自己写的,使用需要注册,会收取几十块钱注册费用。介意的话不要下载哈。
2026-03-20 17:31:11
264
原创 深入解析 RSA 算法:从 512 位到 2048 位,兼谈 RSAEuro 开源库与量产级移植实践
摘要:本文深入解析了RSA算法的核心原理及其安全演进,从512位到2048位密钥的发展历程。重点介绍了RSAEuro开源库的特点与局限,并分享了一套基于RSAEuro深度移植与重构的量产级RSA实现方案。该方案提供C/C++双语言版本,经过数十万级产品验证,具有跨平台兼容、资源可控、稳定性高等特点,适用于嵌入式设备、物联网终端等安全场景。资源包包含完整源码、文档及测试工具,助力开发者快速实现产品安全能力落地。
2026-03-20 16:58:19
444
原创 学习笔记:利用CANOE Panel和CAPL脚本模拟主节点发送LIN通信指令
利用CANOE Panel和CAPL脚本模拟主节点发送LIN通信指令
2023-11-07 17:42:18
6712
2
原创 分享:自动输入串口命令并截取log的python脚本
项目需要:系统需要反复上下电,并在系统启动完毕后通过输入"cat /proc/kmsg" 截取kernel启动的log。如果人工输入则无法实现自动化且非常的麻烦。于是想到用python脚本写一个自动化测试的脚本实现:在系统启动后通过读取每行的串口内容,如果打印出了“console:/ $”表示系统的串口可以输入命令了,然后往串口输入获取kernel启动log的命令并通过串口读取log内容并保存为文件。.........
2022-06-13 14:53:46
1680
5
原创 《What every programmer should know about memory》-What Programmers Can Do译
原文PDF: http://futuretech.blinkenlights.nl/misc/cpumemory.pdf一二章参考博文:https://www.oschina.net/translate/what-every-programmer-should-know-about-memory-part1?lang=chs&p=6目的在边学习边翻译让自己理解的更加深刻。6.程序员可以做什么通过前面章节的学习我们清晰的认识到程序员有很多机会影响程序的性能,可以是正面的也可...
2021-11-11 11:19:37
1672
原创 Makefile学习笔记系列4:Makefile模板化
在上一个系列3的文章:https://blog.csdn.net/u010312436/article/details/52461906 中已经实现具有子目录层次结构的makefile写法,即主目录Makefile调用到每个子目录中的Makefile编译相应子目录的代码。但是每增加一个子目录又得为这个子目录添加一个为该子目录编译的Makefile文件,似乎有点麻烦。于是想到是不是可以写一个Makefile的模板文件,主目录和子目录只需要include这个模板,并且修改写变量就可以。百度搜索了下,参考了下
2020-08-21 17:58:41
948
原创 交叉编译遇到bin/ld: cannot find crt1.o: No such file or directory问题解决
交叉编译一个库在运行configure生成Makefile时遇到如下错误:$ ./configure --host=arm-linux-gnueabihf CC=/home/joe/worksource/toolchain_sdk_j6entry/sysroots/x86_64-arago-linux/usr/bin/arm-linux-gnueabihf-gcc --prefix=/usr/local/ncurse --without-ada --enable-termcap --with-share
2020-08-20 16:33:58
30528
3
原创 Blender学习笔记:齿轮模型建立
初学Blender建模,想做一个齿轮练习练习。参考视频:https://www.bilibili.com/video/av6123101/视频比较模糊,自己也是摸索了半天,记录下过程免的以后忘记。(1)安装"Add Mesh: Extra Objects"插件,步骤:点菜单栏“编辑”-》偏好设置-》插件-》勾选上"Add Mesh: Extra Objects"(2)切换到顶视图模式“CTRL+数字键盘7”或者直接点击3D视图右上角红绿蓝显示的“蓝色z”小圆圈。(3)Shift+A添加物
2020-07-15 16:21:27
5413
原创 glmark2 GPU 跑分工具移植到arm实机上运行
glmark2 是开源的对OpenGL 2.0 和 ES 2.0的基准测试程序,一般用来对GPU进行基准测试。glmark提供了一系列丰富的测试,涉及图形单元性能(缓冲,建筑,照明,纹理等)的不同方面,允许进行更全面和有意义的测试。 每次测试进行10秒,并且单独计算帧速率。开源地址是:https://github.com/glmark2/glmark2但是glmark2只能在windo...
2020-05-06 16:27:28
15979
12
原创 安卓入门学习笔记:GridView实现app勾选页面
安卓studio开发环境的搭建推荐这个博客:https://blog.csdn.net/JerkSpan/article/details/85811265花了两三天将java基础过了一遍,推荐廖雪峰老师的java基础教程:https://www.liaoxuefeng.com/wiki/1252599548343744然后花了大概一周将安卓基础过了一遍,看得是“安卓开发入门教程:7天...
2020-03-30 10:38:58
639
原创 记录:libav库的交叉编译
为了在板子上跑h264解码程序需要用到libavcodec, libavformat, libavutil三个函数库,这三个库的源码都可以在libav下找到,因此我下载了libav源码来交叉编译而不是ffmpeg源码,查了半天发现没有比较好的指导性的文章,libav的官网也没有这个文档。所以记录下交叉编译的过程,供大家参考。1,首先下载libav的源码:$ git clone https:...
2019-12-10 10:38:56
2618
原创 《What every programmer should know about memory》-NUMA Support译
原文PDF: http://futuretech.blinkenlights.nl/misc/cpumemory.pdf一二章参考博文:https://www.oschina.net/translate/what-every-programmer-should-know-about-memory-part1?lang=chs&p=6目的在边学习边翻译让自己理解的更加深刻。5. ...
2019-11-12 11:35:42
647
原创 《What every programmer should know about memory》-Virtual Memory译
原文PDF: http://futuretech.blinkenlights.nl/misc/cpumemory.pdf一二章参考博文:https://www.oschina.net/translate/what-every-programmer-should-know-about-memory-part1?lang=chs&p=6目的在边学习边翻译让自己理解的更加深刻。4. ...
2019-11-11 17:41:34
1868
原创 《What every programmer should know about memory》-CPU Caches译
原文PDF:http://futuretech.blinkenlights.nl/misc/cpumemory.pdf一二章参考博文:https://www.oschina.net/translate/what-every-programmer-should-know-about-memory-part1?lang=chs&p=6目的在边学习边翻译让自己理解的更加深刻。3. ...
2019-11-09 16:55:19
1829
原创 stress-ng交叉编译在板子上运行
(1)下载源码包:https://kernel.ubuntu.com/~cking/tarballs/stress-ng/(2)我下载的是stress-ng-0.10.07.tar.xz解压 $ tar -xvfstress-ng-0.10.07.tar.xz(3)修改Makefile在makefile添加你的交叉编译工具路径CROSS_COMPILER = $(EAS...
2019-10-16 14:36:41
6003
1
原创 学习记录:各种YUV图像上画线的实现
几种常用YUV格式图像内存分布 (以 4x2 共8个像素为例):(1)YUV444I (interleaved) 每个Y分量都有一个UV分量YUV YUV YUV YUV YUV YUV YUV YUV (2)YUV444P (planar) 每个Y分量都有一个UV分量 ...
2019-09-26 09:59:33
5019
10
原创 终端打印彩色进度条
#include<stdio.h>#include<unistd.h>void draw_progress(int pos){ pos = (pos < 0) ? 0 : pos; pos = (pos > 100) ? 100 : pos; char bar[102]={'\0'}; const char *state = "-\\|/";...
2019-09-24 17:01:38
267
原创 正则三剑客grep, sed, awk复习记录
正则表达式字符列表:\ 转义字符(ex: "\/home\/test\/" 表示"/home/test") . 匹配任意单个字符 (ex: "a.b"可匹配 "aab" "abb" "acb"....) * 匹配在它之前一个字符的任意个数或0个 (ex: "a*b" 可匹配 "ab" "aab" "aab" "aaab"...) ^ 在行开头匹配它后面的正则...
2019-08-30 15:30:30
933
原创 sourceinsight代码路径变更项目工程不用重建的方法
在使用sourceinsight的时候会遇到这样的情况,项目非常的大比如linux kernel, 重建一个sourceinsight工程需要手动的去添加很多文件,很麻烦。比如在服务器的某个目录下创建了sourceinsight项目工程,但是有天服务器的地址变了,代码路径也发生变化。这时候再打开sourceinsight工程就会报找不到代码文件。但是我又不想重新创建sourceinsight工程怎...
2019-06-14 17:17:54
6353
原创 Linux上实现基于TCP和Unix domain Socket的本地IPC通信模型
功能:Linux上实现基于TCP和Unix domain Socket的本地IPC通信模型。类似安卓下的binder通信模式,可以自由定制service服务。概念: server (服务器); service(服务); client(客户);结构:采用CSS(client-server-service)模式,一个server负责管理client和service服务。可以在server上注册...
2019-05-23 15:41:01
1679
原创 Windows7下搭建OpenGL ES3.0开发环境(VS2017)
参考别人的文章:https://blog.csdn.net/brahmsjiang/article/details/78572141,但是这篇文章对编译过程中出现的各种问题没有说明,因此特此记录下。一、安装VS2017(1)下载网址:https://visualstudio.microsoft.com/zh-hans/vs/(2)安装过程参考:https://blogs.msdn.mi...
2018-10-09 17:16:16
9082
5
原创 学习笔记:UDP实现进程心跳检测
思路:UDP服务器端:服务器维护一个client链表,当有client连接创建新节点保存客户主机名和地址,并保存心跳时间heart_beat_time。当客户端发起一次心跳,服务器收到心跳包更新client节点的心跳时间。服务定时去检测client链表里的每个client的心跳时间,如果心跳时间和当前时间的时间差超过一定的时间间隔,就认为该client已经掉线。UDP客户端:定时发送心...
2018-08-24 16:05:07
8580
11
原创 学习笔记:linux timerfd配合epoll使用的例子
#include <stdio.h>#include <sys/epoll.h>#include <pthread.h>#include <time.h>#include <sys/timerfd.h>static void epollAddEvent(int epollFd, int addFd, int state){...
2018-08-23 11:41:53
2905
2
原创 学习笔记:waf帮助构建及编译系统
waf 是一个帮助构建和编译系统的框架。一、下载waf安装包下载安装包: https://waf.io/ 或者: $ curl -o waf-2.0.9.tar.bz2 https://waf.io/waf-2.0.9.tar.bz2二、解压及安装$ tar xjvf waf-2.0.9.tar.bz2$ cd waf-2.0.9$ ./waf-light三、为了方...
2018-08-20 16:41:20
13743
9
原创 学习笔记:fork实现守护进程
目标:fork的父进程作为守护进程监测子进程,如果子进程挂了,则可以实现子进程的重启。#include <stdlib.h>#include <stdio.h>#include <sys/types.h>#include <unistd.h>#include <time.h>#include <pthread.h&g...
2018-08-17 15:52:55
1079
原创 多个进程都链接同一个so动态库,代码段共享,数据段不共享
纸上得来终觉浅,这句话一点不假,动态库的知识在看《程序员的自我修养》这本书已经了解了。但是到实际项目遇到问题却没往这方面去考虑。浪费了半天时间。问题是这样的:我有个模块编译成一个so库供其他程序使用。比如A,B都需要链接lib.so。lib.so里面有个全局指针p,当A程序调用lib.so的函数启动lib的功能后这个p指针就被赋值了。然后B程序启动,但奇怪的是在B程序里面调用lib.so库...
2018-07-28 18:57:56
18577
17
原创 个人工作中常用Linux命令总结
linux命令大全网站:http://man.linuxde.net/tune2fsgdbserver调试:实机端:gdbserver 136.18.227.78:1234 test_main -c 1 -l 4 -p 0服务器端:xxx/arm-linux-gnueabihf-gdb test_main -c 1 -l 4 -p 0target remote 136.18.227....
2018-07-05 10:18:26
1570
原创 Tensorflow学习笔记:Debugging 调试Tensorflow 程序
调试Tensorflow程序TensorFlow 调试器(tfdbg) 是专门为TensorFlow定制的调试器。在训练或推理的过程中能够让你看到流图的内部结构及状态,由于tensorflow的计算图,使用通常的调试器(如pdb)是看不到的。This tutorial demonstrates how to use the tfdbg command-line interface(CL
2017-11-30 10:53:53
24742
原创 tensorflow学习笔记:运行tensorboard遇到的错误
在virtualenv环境下执行tensorboard时遇到错误:错误:(tensorflow) fcx@fcx:~/share/test/deeplearning$ tensorboard --logdir = './save_model_data_onehide/train_logs/'Traceback (most recent call last): File "
2017-11-27 20:33:36
5203
原创 Tensorflow学习笔记:用minst数据集训练卷积神经网络并用训练后的模型测试自己的BMP图片
(1)mnist_test_conv.py代码如下#! /usr/bin/env python2# -*- coding: utf-8 -*-'''构造一个卷积神经网络来训练mnist:输入层: 784个输入节点两个卷积层(每个都具有一个卷积和Pooling操作): 卷积操作:步长为1,边距为0,filter: 5x5 Pooling(池化): 采用maxpooing, 2x2
2017-11-23 17:25:44
13180
3
效率工具CAN开发工具合集 - DBC⇄Excel互转 - DBC一键生成C代码 - 10年经验整理(免安装任何开发环境)
2026-04-10
DBC一键生成CAN代码工具
2026-03-23
LIN矩阵Excel⇄LDF互转工具
2026-03-23
基于Qt实现的热力图或压力云图c++源码
2026-03-20
Makefile自动化编译模板
2026-03-20
EDSA数字签名算法源码
2026-03-20
基于图莫斯USB转LIN工具二次开发的LIN UDS升级上位机
2026-03-20
RSA512/1024/2048加解密实现,由RSAEuro移植
2026-03-19
自己做了几天的LINUX下QQ通信程序
2015-01-08
YUV格式图片查看工具
2015-10-27
学习waf编译框架例子
2018-08-20
成为优秀的c++程序员各阶段必读书籍整理PDF格式
2015-01-12
总结的关于二叉树的所有操作(经典程序)
2014-07-23
acm入门资料
2015-01-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅