自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(44)
  • 资源 (4)
  • 收藏
  • 关注

原创 c程序gcc编译警告汇总

warning: control reaches end of non-void function它的意思是:控制到达非void函数的结尾。就是说你的一些本应带有返回值的函数到达结尾后可能并没有返回任何值。这时候,最好检查一下是否每个控制流都会有返回值。declaration of ‘dst’ shadows a global declaration它的意思是:变量dst 跟全局变量重名,...

2019-08-26 14:31:20 1207

原创 用opencv2的C api 给图片画矩形框

使用opencv-3.4.6, Ubuntu系统。步骤:安装opencv,过程可以参考: https://docs.opencv.org/master/d7/d9f/tutorial_linux_install.html编程opencv-3.4.6的官方例子都是用c++代码编写的,但是由于项目需要在c代码中调用opencv库,所以这里使用opencv 的c接口。 所有的C api 都可...

2019-08-13 16:12:11 1177

原创 shell 重定向

输入重定向默认的输入文件是标注输入stdin 0,可以使用下面的方法重定向输入:command < filename这样就会从filename文件中读取数据送给command命令使用.例如 cat /etc/passwd输出重定向默认的输出文件是标准输出stdout 1,可以使用下面的方法重定向输出:command > filename这样就能把command的结果...

2018-12-03 09:12:27 238

原创 I/O操作

这里只讨论不带缓冲的I/O, 就是说每个read 和write都调用内核中的一个系统调用.函数如下:#include <fcntl.h>int open(const char *path, int oflag, ... /* mode_t mode */ );int openat(int fd, const char *path, int oflag,

2018-11-09 16:15:42 334

原创 LAVA源码阅读笔记梳理

LAVA框架LAVA是一个开源的硬件自动化测试工具, 它的框架如下:LAVA分为master 和worker两个部分.网页前端用Django框架开发而成, 用户可以通过网页查看设备类型,增加设备,提交任务等等, 网页端提交的数据会记录到后台的PostgreSQL服务器上去.schduler任务调度器会周期性地扫描数据库中的数据,检查排队的测试任务,空闲可用的设备,并在资源可用时启动任务....

2018-10-22 21:09:35 4419 2

原创 学习lava源码时遇到的python知识

superargparse模块参考: https://docs.python.org/2/library/argparse.html用来方便地处理程序参数, 例子:# Creating a parserparser = argparse.ArgumentParser(description='Process some integers.')# Adding argumentspa...

2018-10-16 17:20:06 665 1

原创 C程序解析命令行参数

getopt.h 文件中包含了处理程序命令行参数的函数, 可以减轻处理argv 的负担.一般, main函数的调用方式是 int main(int argc, char *argv[]) 或者 int main(int argc, char **argv).agrc 指示函数参数个数, 包括程序名; agrv[] 则存储各个参数, 其中argv[0]是函数名.参考:http://ww...

2018-09-20 15:12:06 563

原创 出现段错误的情况汇总

整理C语言程序出现段错误segment fault的几种常见原因

2018-09-20 15:11:40 7819

原创 LAVA基础知识整理

LAVA的全称是 Linaro Automation and Validation Architecture, 是Linaro维护的一个持续集成系统,用来部署运行测试程序的物理主机或虚拟主机部署.这些测试程序可以是boot 测试, bootloader 测试或者系统级测试; 测试结果会被全程跟踪,并且测试数据能被导出用于未来分析.According to https://validation....

2018-09-18 11:13:31 2883

原创 C语言从字符串中提取数字

利用正则表达式:参考:http://blog.csdn.net/yangbingzhou/article/details/51352648#include <regex.h> char tmpbuf[128] = {0}; char buffer[128] = {0}; char sizebuf[30] = {0}; int ret = 0, res = 0;...

2018-09-18 10:16:11 8260 1

原创 repo使用错误集

gpg: Can't check signature: public key not found出错原因是曾使用repo sync从其它库sync过代码,删掉~/.repoconfig即可

2018-09-18 10:11:28 1143

原创 git 配置及使用

git全局配置:文件: ~/.gitconfig (可以自己定义, 下面是我使用的配置)[user] name = sarah email = sarah@gamil.com[color] ui = true[alias] st = status co = checkout ci = commit br = branch unstage = reset HEAD ...

2018-09-18 10:10:41 150

原创 shell编程小细节

判断语句中包含逻辑运算时, 每个条件表达式都要用[ ] 括起来.比如 下面这个是正确的:if [ -n "$old" ] && [ -n "$new" ]; then echo "Tar directory not found!\n" exit 1fi而下面这种写法是错误的:if [ -n "$old" && -n "$new

2018-09-18 10:10:06 139

原创 搭建gerrit服务器

参考: https://www.cnblogs.com/zhoug2020/p/6483276.html1. 安装jdk我的电脑已经安装好了,如下:sarah@Ubuntu1404:~$ java -versionjava version "1.7.0_151"OpenJDK Runtime Environment (IcedTea 2.6.11) (7u151-2.6.11-0u...

2018-09-18 10:09:35 1754

原创 ssh 连接错误

问题:sarah@Ubuntu1404:~/mygit/mygerrit$ git clone ssh://gerrit1@172.29.40.154:29418/useful-project && scp -p -P 29418 gerrit1@172.29.40.154:hooks/commit-msg useful-project/.git/hooks/Cloning...

2018-09-18 10:08:56 1000

原创 C字符串处理函数

字符串复制:char *strdup(char *str); 将字符串str 复制到一个副本中,返回副本的地址;char *profile;strdup(profile); 以特定格式拼接字符串:如下例, 将ffmpath和ffmname 拼接成ffmpath/ffmname的格式, 存入到output中.snprintf(output, sizeof(output),...

2018-09-18 10:07:07 183

原创 postgreSQL从安装到使用入门

安装:环境: ubuntu 14.04参考官网教程: https://www.postgresql.org/download/linux/ubuntu/ sudo vi /etc/apt/sources.list.d/pgdg.list ,增加内容:  deb http://apt.postgresql.org/pub/repos/apt/ YOUR_UBUNTU_VERSIO...

2018-09-18 10:06:45 6514

原创 Jenkins使用经验总结

使用Extended E-mail Notification插件发送邮件时,系统设置中的Default Recipients 列表前面要加上"to:", 并且在具体的项目中要明确指定收件人,多个收件人之间用逗号隔开,否则,会出现empty list of recipients的问题....

2018-09-18 10:01:49 386

原创 通过REST API搜获jira issue踩过的坑

用命令行的方式使用jira的REST API需要特定权限, 可以跟管理员申请权限. 命令备忘: curl -u username -X GET -H "Content-Type: application/json" https://jira.xx.com/rest/api/2/search?jql=project=projectname&status=open要想在命令行终...

2018-09-17 16:13:07 7128 1

原创 linux下发送邮件

基本知识整理:## 标题 ##一封邮件的发送流程: 发件人:MUA – 发送 –> MTA -> 若干个MTA… -> MTA -> MDA <– 收取 – MUA:收件人 MUA:Mail User Agent,邮件用户代理。用来收信和发信的,如:Outlook,Foxmail等。 MTA:Mail Transfer Agent,邮件传输代理。传递邮件。如...

2018-09-14 13:00:10 4574

原创 gerrit REST API

查看REST API支持的所有命令:$ ssh -p 29418 user@gerrit.host gerrit –helpgerrit [COMMAND] [ARG ...] [--] [--help (-h)] -- : end of options --help (-h) : display this help textAvailable command...

2018-09-14 09:57:16 8262

原创 use checkpatch.pl to check coding style

检查coding style, 可以使用工具checkpatch.pl注意: 对于14.04版本的Ubuntu可以直接使用SDK/linux-3.10/scripts/checkpatch.pl, 但是对于16.04版本的Ubuntu,需要更新至对应perl版本的checkpatch.pl,可以从https://git.kernel.org/cgit/linux/kernel/git/st...

2018-09-13 18:02:19 2421

原创 Jenkins基础知识整理

jenkins基础知识整理(1)简介jenkins是一个用java编写的开源的持续集成(Continuous integration,简称CI)工具。它提供的1000多种插件几乎可以支持所有的自动化工作,通常用于构建工程,自动化测试,静态代码分析以及自动部署等。jenkins自动化地执行重复性的任务,可以快速地发现bug,为开发人员节省了大量时间,使其集中精力于那些机器无法完成的工作。...

2018-09-13 17:45:37 1392

原创 splint简要手册

1.splint简介splint是一个C语言程序静态检查工具,可检测出程序的安全漏洞和常规编程错误,如未使用的变量,类型不一致,无法执行的代码,无限循环等错误。静态语法分析在整个项目编码阶段的位置一般是程序编译通过之后,代码审查之前。2.splint安装以Ubuntu系统为例,直接运行以下命令即可: sudo apt-get install splint 3.splint...

2018-09-13 15:24:44 7333 3

原创 docker常用命令

docker build -t friendlyhello . # Create image using this directory's Dockerfiledocker run -p 4000:80 friendlyhello # Run "friendlyname" mapping port 4000 to 80docker run -d -p 4000:80 friendlyhel...

2018-07-20 15:30:10 94

原创 docker学习笔记

docker学习笔记参考docker官方文档一步一步学习docker: https://docs.docker.com遇到的问题https://docs.docker.com/get-started/part2/ 这一部分介绍的用Dockerfile来构建自己的image并运行image. 执行下述指令构建image: sudo docker build -t friend...

2018-07-20 14:20:43 667

原创 SQUASHFS error

嵌入式linux系统运行过程中报告SQUASHFS error错误, 并且在系统重启之后就能恢复正常.[ 5742.104968] SQUASHFS error: xz decompression failed, data probably corrupt[ 5742.118815] SQUASHFS error: squashfs_read_data failed to read blo...

2018-07-18 09:56:23 26832 1

原创 freetype描边和半透明实现

可以参考官网的另外一个c++实现的版本 :  https://www.freetype.org/freetype2/docs/tutorial/example2.cpp 我把它转化为C代码如下: #include <stdio.h>#include <string.h>#include <math.h>#include <stdlib...

2018-07-09 19:56:06 4388 2

原创 git 忽略某些文件 (点gitignore)

.gitignore文件.gitignore文件 用来忽略某些文件, 这个文件里指定的内容将不会上传到版本库中进行管理.可以在该文件中指定文件路径和目录,可以使用"*", "&"等通配符.关于路径,注意: generated/这样的简写方式会将所有包含这一路径的所有目录都忽视掉,比如src/demo/generated;/generated/这种 在路径前加个斜杠的方式就会只忽略

2018-01-22 11:19:05 196

原创 ubus资料收集

链接:原理介绍: openwrt中使用ubus实现进程通信 点击打开链接示例: [openwrt] ubus实现进程间通信举例  点击打开链接

2018-01-16 11:06:18 300

原创 条件编译--从menuconfig编译选项到源文件

这里所描述的条件编译是这样一种需求: 在make menuconfig里选择编译条件项, 编译的时候根据配置结果,选择不同的编译方法, 最后代码执行的时候就会根据配置选项执行不同的动作.例如,我想在make menuconfig配置菜单栏中增加一个配置选项,用于指示是否使用"疯狂模式".如果是,就天马行空, 如果不是,就一本正经. 下面就按照上述顺序介绍实现过程.1. 修改Kconfig,

2017-12-27 09:25:06 705

原创 coding style 检查 错误/警告集

检查某个源文件的coding style检查工具: checkpatch.pl检查方法: checkpatch.pl --no-tree --no-signoff -f filename.cERROR1. do not initialise statics to NULL类似的还有 do not initialise statics to 0原因: 将一个静态变量赋值为0

2017-11-23 18:59:24 3081

原创 文件操作相关

ssize_t sendfile(int out_fd, int in_fd, off_t *offset, size_t count);sendfile()是作用于数据拷贝在两个文件描述符之间的操作函数.这个拷贝操作是内核中操作的,所以称为"零拷贝".sendfile函数比起read和write函数高效得多,因为read和write是要把数据拷贝到用户应用层操作.参考: http://b

2017-11-21 15:19:14 124

原创 小函数工具库

1. 判断机器大小端.#include #include static int isBigEndian(void) { union { int number; char s; } test; memset(&test, 0, sizeof(test)); test.number = 0x01000002; if (test.s == 0x01){ printf("

2017-11-13 21:17:57 160

原创 linux操作错误集

1. 挂载nfs时报错:svc: failed to register lockdv1RPC service (errno 146)lockd_up: makesock failed, error=-146办法: 挂载时加上 -o nolock 参数, 就可以正确挂载. 否则就要装一个 portmap 的守护进程.

2017-11-13 20:17:47 288

原创 c编程错误集

1. 使用read函数没有判断实际读到的字节数例如int len = read(fd, data, size);这里, len的长度不一定就是你实际读到的字节数. 如果你是读串口数据, 当串口传输比较慢时, 就可能出现数据还没准备好的情况.所以最好将实际读取到的数据长度len与你预期的长度做个对比. 如果还没读完, 则循环读取剩余的数据,直到全部读完.2. 直接读取某个地址

2017-11-13 20:09:44 402

原创 用sigaction( )处理信号

sigaction函数的功能是检查或(/并)修改与指定信号相关联的处理动作.建议使用sigaction, 而不是signal函数, 后者较老,不可靠.#include int sigaction( int signo, const struct sigaction *restrict act, struct sigaction *restrict oact);返回值:若成功则返回0,若

2017-11-10 20:42:20 1089

原创 C语言错误处理相关函数

strerror(errno);errno表示错误代码,strerror( )打印errno错误对应信息。例子:  printf("mmap dma memory fail : %d, %s\n", errno, strerror(errno));

2017-11-10 16:27:48 1596

原创 linux串口通信编程

在linux下, 串口也被当做一个文件来使用, 所以串口传输数据实际上也就是对文件进行read/write操作.UART串口基本知识:一般, 串口至少有三根线: 地线GND, 接收线RX和发送线TX. 有的开发板还可能把控制线CTS/RTS也引出来.串口查看方式: 在PC端, 如果用USB口连接, 一般显示为/dev/ttyUSBx, 其中x为0, 1, 2...在

2017-11-10 15:56:51 1275

原创 cmake小知识

cmake -P .camke读取.camke文件,执行cmake命令.cmake 语法:参考: https://cmake.org/cmake/help/v3.3/command/string.htmlstring(REGEX REPLACE regular_expression> replace_expression> output variabl

2017-10-10 14:06:51 3855

splint中文手册

splint是进行程序静态检查的开源工具。这个文档首先对splint进行了简单介绍,然后详细介绍了splint指令的各个选项。

2016-12-02

DSP2812使用手册

2812是学习DSP的一个很好的开发板,这个手册介绍了DSP2812的详细使用方法,相信可以对初步学习者有所帮助的

2015-01-13

用ISE14.4 进行zedboard的基础开发

zynq-7000 zedboard快速使用

2014-03-29

自动控制领域牛人介绍

自动控制领域的牛人介绍,可以帮助扩大知识面,了解自控的研究领域,了解牛人的奋斗历程

2013-06-19

空空如也

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

TA关注的人

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