自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(68)
  • 资源 (15)
  • 收藏
  • 关注

原创 嵌入式软件单元测试工程模版化

单元测试工程模版

2024-09-01 16:31:54 1146

原创 实现基于UDS诊断协议的CAN本地OTA升级

实现基于UDS诊断协议的CAN本地OTA升级

2024-05-22 19:06:29 1682

原创 实现基于UDS LIN诊断协议的本地OTA升级

实现基于UDS LIN诊断协议的本地OTA升级

2024-04-26 14:08:21 1999 4

原创 学习笔记:利用CANOE Panel和CAPL脚本模拟主节点发送LIN通信指令

利用CANOE Panel和CAPL脚本模拟主节点发送LIN通信指令

2023-11-07 17:42:18 3812 2

原创 学习笔记:CANOE模拟LIN主节点和实际从节点进行通信测试

CANOE模拟LIN主节点和实际从节点ECU进行通信测试。

2023-11-07 14:36:53 4386

原创 LIN诊断实现MCU本地OTA升级

LIN诊断协议实现本地OTA升级功能。

2023-06-30 14:01:52 3587 4

原创 MCU踩坑记录:SWD复用为GPIO使用,Jflash连不上的问题

SWD复用为GPIO,Jflash连接不上的问题解决思路。

2022-08-26 15:36:24 2768 1

原创 PID学习笔记:模拟加热系统的PID控制

学习PID控制算法、并模拟温度控制系统,用PID算法控制其稳定性。

2022-08-02 11:22:27 6812 2

原创 分享:自动输入串口命令并截取log的python脚本

项目需要:系统需要反复上下电,并在系统启动完毕后通过输入"cat /proc/kmsg" 截取kernel启动的log。如果人工输入则无法实现自动化且非常的麻烦。于是想到用python脚本写一个自动化测试的脚本实现:在系统启动后通过读取每行的串口内容,如果打印出了“console:/ $”表示系统的串口可以输入命令了,然后往串口输入获取kernel启动log的命令并通过串口读取log内容并保存为文件。.........

2022-06-13 14:53:46 1387 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 1399

原创 Makefile学习笔记系列4:Makefile模板化

在上一个系列3的文章:https://blog.csdn.net/u010312436/article/details/52461906 中已经实现具有子目录层次结构的makefile写法,即主目录Makefile调用到每个子目录中的Makefile编译相应子目录的代码。但是每增加一个子目录又得为这个子目录添加一个为该子目录编译的Makefile文件,似乎有点麻烦。于是想到是不是可以写一个Makefile的模板文件,主目录和子目录只需要include这个模板,并且修改写变量就可以。百度搜索了下,参考了下

2020-08-21 17:58:41 830

原创 交叉编译遇到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 26438 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 3377

原创 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 13789 10

原创 安卓入门学习笔记: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 539

原创 记录:libav库的交叉编译

为了在板子上跑h264解码程序需要用到libavcodec, libavformat, libavutil三个函数库,这三个库的源码都可以在libav下找到,因此我下载了libav源码来交叉编译而不是ffmpeg源码,查了半天发现没有比较好的指导性的文章,libav的官网也没有这个文档。所以记录下交叉编译的过程,供大家参考。1,首先下载libav的源码:$ git clone https:...

2019-12-10 10:38:56 2202

原创 《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 516

原创 《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 1721

原创 《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 1517

原创 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 5033 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 4536 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 208

原创 正则三剑客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 502

原创 sourceinsight代码路径变更项目工程不用重建的方法

在使用sourceinsight的时候会遇到这样的情况,项目非常的大比如linux kernel, 重建一个sourceinsight工程需要手动的去添加很多文件,很麻烦。比如在服务器的某个目录下创建了sourceinsight项目工程,但是有天服务器的地址变了,代码路径也发生变化。这时候再打开sourceinsight工程就会报找不到代码文件。但是我又不想重新创建sourceinsight工程怎...

2019-06-14 17:17:54 5684

原创 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 1521

原创 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 8651 5

原创 学习笔记:UDP实现进程心跳检测

思路:UDP服务器端:服务器维护一个client链表,当有client连接创建新节点保存客户主机名和地址,并保存心跳时间heart_beat_time。当客户端发起一次心跳,服务器收到心跳包更新client节点的心跳时间。服务定时去检测client链表里的每个client的心跳时间,如果心跳时间和当前时间的时间差超过一定的时间间隔,就认为该client已经掉线。UDP客户端:定时发送心...

2018-08-24 16:05:07 7991 11

原创 学习笔记:linux timerfd配合epoll使用的例子

#include &lt;stdio.h&gt;#include &lt;sys/epoll.h&gt;#include &lt;pthread.h&gt;#include &lt;time.h&gt;#include &lt;sys/timerfd.h&gt;static void epollAddEvent(int epollFd, int addFd, int state){...

2018-08-23 11:41:53 2738 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 12325 9

原创 学习笔记:fork实现守护进程

目标:fork的父进程作为守护进程监测子进程,如果子进程挂了,则可以实现子进程的重启。#include &lt;stdlib.h&gt;#include &lt;stdio.h&gt;#include &lt;sys/types.h&gt;#include &lt;unistd.h&gt;#include &lt;time.h&gt;#include &lt;pthread.h&g...

2018-08-17 15:52:55 968

原创 多个进程都链接同一个so动态库,代码段共享,数据段不共享

纸上得来终觉浅,这句话一点不假,动态库的知识在看《程序员的自我修养》这本书已经了解了。但是到实际项目遇到问题却没往这方面去考虑。浪费了半天时间。问题是这样的:我有个模块编译成一个so库供其他程序使用。比如A,B都需要链接lib.so。lib.so里面有个全局指针p,当A程序调用lib.so的函数启动lib的功能后这个p指针就被赋值了。然后B程序启动,但奇怪的是在B程序里面调用lib.so库...

2018-07-28 18:57:56 17470 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 1485

原创 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 24301 1

原创 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 5089

原创 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 13060 6

原创 Tensorflow学习笔记:模型训练数据的保存和恢复的简单实例

#! /usr/bin/env python2# -*- coding: utf-8 -*-import tensorflow as tfimport numpy as npimport argparse'''保存模型训练后参数的简单实例'''print('保存和恢复模型训练后参数的简单实例:')#创建一个图my_graph = tf.Graph()with my_g

2017-11-22 15:36:06 2301

原创 python学习笔记:利用contextlib和@contextmanager实现with语句上下文实例

#contextlib'''任何对象,只要正确实现了上下文管理,就可以用于with语句。实现上下文管理是通过__enter__和__exit__这两个方法实现的,也可以通过@contextmanager和closing函数实现'''print('用contextlib实现在函数调用前后打印log的功能:')print('(1)contextlib: with...as...语句')

2017-11-06 17:21:19 3782

原创 深度学习笔记:交叉熵(cross-entropy)损失函数解决二次型带来的学习速率下降问题

我们都希望我们的神经网络能够根据误差来加快学习的速度。但实际是什么样的呢?让我们先来看一个例子:这个网络只有一个神经元,一个输入一个输出:我们训练这个网络做一个简单的任务,输入1,输出0.当然这种简单的任务我们可以不用任何学习算法就可以手动算出权重值。但我们这次试用梯度下降法尝试获得权重值和偏置值,损失函数使用二次型函数。接下来让我们看看这个神经元是怎么学习的。首先,我选择

2017-11-06 12:26:02 12869

原创 python学习笔记:利用__getattr__属性实现枚举Enum

#自定义 enumdef enum(**enums): return type('Enum', (), enums)m = enum(JAN=1, FEB=2, MAR=3, APR=4, MAY=5, JUN=6, JUL=7, AUG=8, SEP=9, OCT=10, NOV=11, DEC=12)print('FEB = %d' % m.FEB)d = {'JAN':1, 'F

2017-11-01 12:24:51 624

原创 温故而知新:gtest单元测试工具和lcov覆盖率统计工具的结合使用

一、简介 之所以叫温故而知新,是因为将这两个工具结合起来作为单元测试工具的想法在上一个项目中应用了,好像还没有人将这两种工具结合使用,或者没有写成博客供大家参考,现在重新温习下将想法写下来。 gtest单元测试工具接触过的人都很熟悉了,它是一款google提供的强大的测试框架,测试案例的编写也比较简单,gtest案例的编写可以参考系列博文:http://www.cn...

2016-12-30 15:05:37 17158 13

学习waf编译框架例子

waf 是一个帮助构建和编译系统的框架。 利用waf比直接写make file 简单点,这是我学习时使用的例子。 压缩包里面的sendMessage例子,直接waf configure build -v就可以编译使用。共同学习进步。

2018-08-20

学习web编程:网页音乐播放器实现

学习网页编程做了一个音乐播放器,应用技术html+css+javascript

2016-08-29

YUV格式图片查看工具

很好的YUV格式图片查看工具,还可以将bmp等其他格式图片转换为YUV格式,也可以将YUV转换为BMP,很方便,还可以改变RGB和YUV转换的公式,还有很其他功能。

2015-10-27

acm入门资料

里面的资料包括:算法竞赛入门经典完整版.pdf,acm国际大学生程序设计大赛试题与分析.pdf,还有很多必学算法的讲解,贪心算法、递归、回溯、穷举、动态规划等等。 对于想参加acm算法竞赛的学生来说是很好的学习资料,里面还有很多好东西 我就不一一列出来了 下载了你就知道了

2015-01-20

Linux平台下的web编程 pdf

linux平台下的web编程用书,适合想从事在linux系统下web开发的人阅读

2015-01-13

计算机网络第五版

对于学习计算机网络及找网络开发相关工作的同学,这是一本比较好的用书。

2015-01-13

经典SQL语句大全

学习SQLserver数据库以及应付面试的SQL语句大全

2015-01-13

基本的shell脚本学习资料

这是学习shell脚本的一下基本的命令也是很常用的命令

2015-01-13

C++程序员面试宝典

对于找c++开发工程师工作的同学来说,这是一本很不错的书籍。

2015-01-13

成为优秀的c++程序员各阶段必读书籍整理PDF格式

个人整理的c++程序员各阶段应该读的书籍 包括effective c++, more effective c++, thinking in c++, exceptional c++, more exceptional c++, c++语言的设计和演化,深度探索c++对象模型

2015-01-12

华为网络工程师基础教程

对于即将走上工作岗位的网络开发工程师很有帮助,主要是网络的基础知识

2015-01-08

自己做了几天的LINUX下QQ通信程序

在linux下实现QQ通信程序,流程是;首先开启服务器等待客户端连接(TCP连接),当有客户端连接以后,创建线程来接收客户端的登陆信息并检验登陆信息是否正确,如果正确则进入聊天线程。客户端可以选择和其他的客户端进行聊天(UDP通信),希望对刚开始学习套接字编程的人有帮助

2015-01-08

总结的关于二叉树的所有操作(经典程序)

总结面试中出现的所有关于二叉树的操作,包括二叉树的深度优先遍历、广度优先遍历,二叉树的各种建立方式(递归和非递归都有),以及先序、中序、后序遍历的递归和非递归算法的总结。

2014-07-23

用linux内核链表修改韦东山的MP3程序

用内核链表而不是普通的链表实现MP3播放程序(基于友善之臂arm9平台开发)共同学习 欢迎下载

2013-09-15

MFC提取汉字的首字母的方法

在MF中实现提取汉字首字母的功能,功能实现灵活

2013-04-27

空空如也

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

TA关注的人

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