- 博客(68)
- 资源 (15)
- 收藏
- 关注
原创 学习笔记:利用CANOE Panel和CAPL脚本模拟主节点发送LIN通信指令
利用CANOE Panel和CAPL脚本模拟主节点发送LIN通信指令
2023-11-07 17:42:18 3812 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 <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 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 <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 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编译框架例子
2018-08-20
YUV格式图片查看工具
2015-10-27
acm入门资料
2015-01-20
成为优秀的c++程序员各阶段必读书籍整理PDF格式
2015-01-12
自己做了几天的LINUX下QQ通信程序
2015-01-08
总结的关于二叉树的所有操作(经典程序)
2014-07-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人