自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 x86平台编译和安装新的内核

make-kpkg的安装包是kernel-package, sudo apt-get install kernel-package 使用make-kpkg编译内核,第一个步骤“配置内核”还是必不可少的,在这里,我比较建议在发行版默认的config的基础上再进行配置,这样配置出的内核和发行版本身...

2020-05-14 20:36:23 25 0

原创 meson+ninja build系统,使用meson & ninja 编译C工程

1.什么是meson 2meson和eclipse集成

2020-05-14 20:19:01 95 0

原创 使用glNormal3f法向量绘制立方体

#if 0 #include <GLFW/glut.h> GLfloat light_diffuse[] = { 1.0, 0.0, 0.0, 1.0 }; /* Red diffuse light. */ GLfloat light_position[] = { 0.0, 0.0,...

2020-04-30 20:24:32 63 0

原创 Setup VS2017 for GLUT,使用VS2017 和GLUT 运行opengl程序

//https://elixir.bootlin.com/linux/v5.6/source //https://www.absingh.com/opengl/ //https://www.opengl.org/resources/libraries/glut/glut_downloads.php...

2020-04-21 19:59:33 42 0

原创 glRasterPos2i 和 glBitmap绘制位图

openGL中绘制位图时,首先要调用glRasterPos2i设置光栅绘图的起点位置,glBitmap中的xorig和yorig指向光栅的起点 而glBitmap中的xMove和yMove表明下次绘图时光栅移动的距离。 #if 1 #include <GLFW/glut.h>...

2020-04-19 21:45:23 118 0

原创 openGL中坐标的生成:glLoadIdentity和gluOrtho2D练习

void display() { glEnable(GL_DEPTH_TEST); glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glMatrixMode(GL_MODELVIEW); glLoadIdentity(); //g...

2020-04-18 09:05:49 54 0

原创 Mutex和semaphore的心得

Mutex相当于卫生间的门锁,同时只有一个人可以lock,lock后别人lock不了。 Semaphore相当于路口的交通信号灯,某一方向红灯时,这个方向的通行(对应某一任务)必须暂停,儿其它方向的通行的效率会变得更高! ...

2020-03-07 11:58:28 16 0

原创 霍夫曼(Huffman)编码学习总结

霍夫曼编码基于字符的出现频率实现长度最小的变长编码(VLC),jpeg图片中使用Huffman 编码实现图片大小压缩。 编码过程基本步骤: 1)扫描待编码字串,计算每个包含字符的出现概率,按从小到大排列构成链式结构。 2)自底向上构造Huffman Tree 3)按照字符在树中的路径写...

2020-01-19 20:46:41 207 0

原创 BMP文件格式学习总结

一个BMP文件可以包含4部分 1,文件头是14字节长的数据结构,定义如下: typedef struct _BFHEADER { unsigned short magic; unsigned int size; unsigned int reserved; unsigned int ...

2019-12-09 21:40:13 21 0

原创 openCV中step[]和step1()的计算公式

step.p是一个数组,每个元素计算公式 element=channel*depth; total=channel*depth; for(i=dims-1;i>=0;i--) { step.p[i]=total; total=total*size[i]; } 而ste...

2019-12-02 20:40:57 124 0

原创 颜色空间转换:libjpg中从RGB到YCbCr的转换过程

转换公式: Y = Kr * R + (1 - Kr - Kb) * G + Kb * B Cb = 0.5 * (B - Y) / (1 - Kb) Cr = 0.5 * (R - Y) / (1 - Kr) 其中: Kr=0.299 , Kb=0.114 Y = 0.299 * R ...

2019-12-02 19:57:09 28 0

原创 CV_ELEM_SIZE1 和 CV_ELEM_SIZE两个宏的理解

CV_ELEM_SIZE1的定义如下: /** Size of each channel item, 0x28442211 = 0010 1000 0100 0100 0010 0010 0001 0001 ~ array of sizeof(arr_type_elem) */ #define...

2019-11-23 22:57:39 99 0

原创 openCV中使用Mat.at修改像素的值CV_8UC3和CV_8UC1的区别

#include <opencv2/core.hpp> #include <opencv2/imgcodecs.hpp> #include <opencv2/highgui.hpp> #include <iostream> using namesp...

2019-11-11 20:41:55 737 0

原创 Python opencv4.1 RGB2YUV

import cv2 as cv import numpy as np matA=cv.imread("apple.jpg") cv.imshow("apple",matA); matB=cv.cvtColor(matA,cv.COLOR_BGR2GR...

2019-11-10 21:24:12 187 0

原创 win10 python37安装openCV

验证如下: import cv2 as cv >>> print(cv.__version__) 4.1.1 >>>

2019-11-09 22:41:52 86 0

转载 POSIX 标准原文

https://pubs.opengroup.org/onlinepubs/9699919799/nframe.html

2019-10-29 09:23:20 255 0

原创 QNX Resource Manager Sample code,QNX驱动程序框架模板

一个简单的驱动程序模板,在/dev目录下注册myDevDrv 。 应用程序使用open函数进行测试。 #include <stdio.h> #include <stdlib.h> #include <stddef.h> #include <sys/i...

2019-10-27 15:14:20 124 0

原创 QNX Share Memory Sample code

Process A #include <stdio.h> #include <string.h> #include <fcntl.h> #include <errno.h> #include <stdlib.h> #include &...

2019-10-26 13:58:25 110 0

原创 QNX消息传递的例程

QNX 例程,使用MsgReceive和MsgReplay自收自发消息。使用定时器周期发送消息。 #include <stdio.h> #include <stdlib.h> #include <time.h> #include <signal.h...

2019-10-22 21:57:13 72 0

原创 perl中显示环境变量

#print("__FILE__"); @names =keys %ENV; foreach $Item (@names) { print("$Item=$ENV{$Item}\n"); } $ENV{'CCTV'}="*...

2019-05-13 20:20:53 742 0

原创 PL脚本中'和"的使用

$dir_win='C:\work\PSRC\SRC\*'; # '' keep \ is \ $dir_win2="C:\\work\\PSRC\\SRC\\*"; # "" \\ translate to...

2019-05-11 20:30:05 307 0

原创 用perl表示的结构体数组

有如下的从ELF文件中提取的符号信息,该如何存到perl的结构的数组中呢 00000100 T muxISR 0003f334 T AddFloat 000264a4 T addInt 0000a0f4 D testFloat1 0000a0f8 D testFloat2 0000a0ec...

2019-04-21 15:27:54 344 0

原创 Intel® (ATOM )Media SDK使用总结

1.Setup Host Machine 参考下面的文章构造主机编译环境 https://github.com/intel/iotg-yocto-bsp-public/tree/e3900/master https://software.intel.com/en-us/media-sdk/docu...

2018-11-15 09:29:32 479 0

原创 open source ethercat

https://github.com/OpenEtherCATsociety/SOEM

2018-11-07 14:46:56 202 0

原创 x86平台读取CMOS中RTC时间例程

#include "vxWorks.h" #include "time.h" #include "stdio.h" #include "memLib.h" #include "sysLib.h&...

2018-11-05 09:14:04 630 0

原创 EtherCAT,PowerLink和Ethernet/IP三种协议的比较

1.Ethernet/IP基于socket,在socket曾上定义应用数据模型,所以发送的数据包都是IP包。 2.PowerLink在MAC层上定义了新的type类型()。PowerLink复用了MAC层的功能同时引入新的硬件定时器(Timer)来确保实时性。在应用层面PowerLink则复用了...

2018-11-04 22:10:26 7097 0

原创 PCIe总线设备的枚举

#include &lt;vxWorks.h&gt; #include &lt;stdio.h&gt; #include &lt;string.h&gt; #include &lt;sys/ioctl.h&gt; #include &...

2018-11-01 15:16:01 557 0

原创 ROMFS的建立

参考:VxWorks® 7 File Systems Programmer’s Guide

2018-10-23 09:23:31 551 0

原创 congaPA5(Apollo Lake,Celeron N3350) 开发板运行VxWorks7的步骤

一、硬件介绍 conga PA5是德国康佳特公司的一款x64 Apollo Lake平台评估板,主芯片有Atom E3950/E3940,Pentium N4200和Celeron N3350等3个版本,整个开发板尺寸是Pico ITX规格。开发板是面向图形和移动应用的。连接:https://w...

2018-10-21 16:03:48 292 0

原创 64位和32位的区别

64位支持更大的内存空间,理论上64位可以支持4G*4G的虚拟地址范围,但这个地址范围实在是太大了,所以很多硬件暂时只支持48位地址 Canonical form addresses: the AMD specification requires that the most significa...

2018-10-18 15:54:37 170 0

原创 使用ultraIso制作ubuntu启动U盘

ultraIso下载地址 https://cn.ultraiso.net/xiazai.html

2018-10-18 10:00:21 240 0

原创 设备树中子节点的名字和地址表示

比如如下的myip_led_0节点下面的子节点 / { amba_pl: amba_pl@0 { #address-cells = &lt;2&gt;; #size-cells = &lt;2&gt;; compatible = "simpl...

2018-09-26 13:53:40 1015 0

原创 Linux Cross eference

https://elixir.bootlin.com/linux/latest/source

2018-09-26 13:40:45 116 0

原创 使用USB gadget驱动测试USB芯片驱动功能

在内核中使能Mass Storage Gadget ,如下图,配置路径是Linux/arm64 4.14.0 Kernel Configuration → Device Drivers → USB support → USB Gadget Support -&gt;Mass Storag...

2018-09-21 14:52:28 525 0

原创 ARM Mali GPU driver编译和使用

https://developer.arm.com/products/software/mali-drivers 下载mali 400 utgard driver 命令行输入KDIR=/home/ubuntu/yocto/linux-xlnx USING_UMP=0 BUILD=debug ma...

2018-09-20 13:56:44 3076 2

原创 VBox5.2.18运行Ubuntu16.04.4的步骤

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数...

2018-09-20 10:31:15 153 0

原创 backtrace和backtrace_symbols函数的使用

在看libdrm库函数的时候想看看哪些函数调用了drmIoctl函数 对drmIoctl做了简单修改,调用了print_trace函数 /** * Call ioctl, restarting if it is interupted */ int drmIoctl(int fd, unsi...

2018-09-12 20:49:33 1134 0

原创 编译mesa时提示:No package ‘expat21’ found,No package ‘xrandr’ found解决办法

问题提示如下: 解决方法1:安装libexpat1-dev 解决方法2:安装libxrandr-dev

2018-09-11 16:43:46 1143 1

原创 drmIoctl函数定义

/** * Call ioctl, restarting if it is interupted */ int drmIoctl(int fd, unsigned long request, void *arg) { int ret; do { ret = i...

2018-09-11 10:11:14 717 0

原创 嵌入式软件开发调试的3个阶段,技术和方法

层次1:BringUP 在单板BringUp阶段使用JTAG调式。大多数芯片厂家IDE都支持tcl脚本语言,tcl语言可以控制jtag读取基本的Register,memory,download等,使用jtag可以完成对pll,ddr等的初始化化配置,进而下载程序到ddr中调试等。 层次2:内核...

2018-09-08 21:48:29 1506 0

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