自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(28)
  • 资源 (19)
  • 收藏
  • 关注

原创 Linux系统编程----僵尸进程

什么是僵尸进程?僵尸进程, 指子进程退出后, 父进程还没有回收子进程的资源,这个子进程就处在于僵尸状态。来看看如何产生?#include #include int main(void){ pid_t pid ; //zombie 子进程先退出,父进程没有回收子进程资源 //这就是僵尸进程 //僵尸进程不能被直接杀死,只能通过杀死父进程来终止僵尸进程 pid = fork(

2016-09-30 09:31:59 1250

原创 Linux系统编程----孤儿进程

什么是孤儿进程?   孤儿进程,  指在父进程退出后,而子进程还在运行,这个子进程就成了孤儿进程,这时由init进程(pid=1)接管来看看例子:#include #include int main(void){ pid_t pid ; //父进程先结束,子进程还在运行 //如果父进程结束,则子进程的父亲为init //孤儿进程由进程他的祖先收留 pid = fork()

2016-09-30 09:30:25 994

原创 Linux系统编程---守护进程

守护进程是什么?就是在后台运行的进程。那么如何创建守护进程呢? 1. 创建孤儿进程 2. setsid() 创建进程会话 3. 重定向标准输入, 标准输出 4. chdir, 改当当前进程的工作目录接下来看一个例子:#include #include #include int main(void){ //进程成为守护进程的步骤 //代号:Ss //守护进程也称为精灵进程

2016-09-30 09:29:06 1203

原创 Linux系统编程-----进程fork()

在开始之前,我们先来了解一些基本的概念:1. 程序, 没有在运行的可执行文件 进程, 运行中的程序2. 进程调度的方法: 按时间片轮转 先来先服务 短时间优先 按优先级别3. 进程的状态: 就绪 ->> 运行 ->> 等待 运行 ->> 就绪 //时间片完了 等待 ->> 就绪 //等待的条件完成了查看当前系统进程的状态 ps auxf

2016-09-30 09:21:06 1140

原创 Linux系统编程---实现目录或者文件拷贝

关于拷贝文件,前面写过一个例子:点击打开链接 ,可以看看,实现cp命令。这次我们实现一个目录和文件的拷贝,综合点。#include #include #include #include #include #include void copy_file(const char *src , const char *dest);void copy_directory(const cha

2016-09-30 09:07:58 3929

原创 Linux设备驱动编程---miscdevice杂类设备的使用方法

miscdev简称杂类设备杂类设备就是对字符设备驱动做一个封装,方便简单使用杂类设备封装字符设备需要包含的头文件:#include (1)杂类设备的数据结构:struct miscdevice { int minor; //次设备号 const char *name; //设备名称 const struct file_operations *fops; //文件操作结构体 st

2016-09-29 11:01:21 1679

原创 linu下C语言之BMP图片操作编程(下)

前面提高了一个将BMP左转的程序,右转其实也是类似的操作,就不写了,这节,我们来实现,将一张BMP图进行灰度处理,代码贴上:#include #include #include #define RGB(r,g,b) ((r+g+b)/3)typedef unsigned char U8 ; typedef unsigned short U16 ; typedef

2016-09-28 16:20:15 1410

原创 linu下C语言之BMP图片操作编程(中)

http://blog.csdn.net/morixinguan/article/details/50719472关于BMP图的介绍之前已经说过了,最近要用到,又要重新开始学习。现在实现一个让bmp左转的效果:#include #include #include #define RGB(r,g,b) ((r<<16)|(g<<8)|b)typedef unsigned c

2016-09-28 11:26:44 1324

原创 NV12和NV21转rgb

void NV21_T_RGB(unsigned int width , unsigned int height , unsigned char *yuyv , unsigned char *rgb){const int nv_start = width * height ; u32 i, j, index = 0, rgb_index = 0; u8 y, u, v; ...

2016-09-26 16:55:44 11637 10

转载 与MP3相关的技术总结

MP3文件格式解析Peter Lee 2008-06-05 目录一、概述... 二、整个MP3文件结构... 三、MP3帧格式... 1. 帧头格式... 2. MAIN_DATA.. 四、ID3标准... 1. ID3V1. 2. ID3V2. 五、MP3文件实例剖析... 六、资料...  一、            概述MP3 文件是由帧(frame)构成的,帧是 MP3 文件最小的组成单位

2016-09-25 19:12:57 2160

原创 与音频相关的技术知识点总结(Linux方向的开发)

几个术语和概念:1.       关于PCM的 PCM是Pulse code modulation的缩写,它是对波形最直接的编码方式。它在音频中的地位可能和BMP在图片中的地位有点类似吧。                 Sampling rate:从模拟信号到数字信号,即从连续信号到离散信号的转换都是通过离散采样完成的,Sampling rate就是每秒种采样的个数。根据香农采样定理,要保证信号

2016-09-25 19:09:57 2996 1

原创 文件操作:一次性产生多个文件

在开始介绍批量产生文件之前,我们先来了解一下sprintf这个函数:函数原型为 int sprintf(char *str, const char *format, ...)(1)根据格式从字符串中提取数据。如从字符串中取出整数、浮点数和字符串等。(2)取指定长度的字符串(3)取到指定字符为止的字符串(4)取仅包含指定字符集的字符串(5)取到指定字符集为止的字符串

2016-09-23 22:41:56 1316

原创 开发中的一些细小问题总结---字,字节,位,字符等

字(Word):在ARM体系结构(32位机)中,字的长度是32位,而在8位/16位处理器体系结构中,字的长度是16位。  半字(Half-Word):在ARM体系结构(32位机)中,半字的长度是16位,而在8位/16位处理器体系结构中,半字的长度与字的长度一致。  字节(Byte):在ARM体系结构(32位机)和8位/16位处理器体系结构中,字节的长度均是8位。  位(bit) :一个字节等于8b

2016-09-21 23:49:57 706

原创 关于V4L2中操作比较重要的几个命令以及一般操作流程总结

最近在做关于摄像头测试程序相关的一些开发,主要是想要实现在摄像头采集视频的过程中,通过按键来实现拍照,然后将拍照得到的数据保存到一个文件中,通过了解V4L2的一些相关操作,原来,拍照后的数据是保存在一个buf里,而这股数据流便是熟悉的YUYV,要看到相应的图片,还需要特定的转换才能将YUYV的数据转换成bmp图片。那么,在摄像头中,是怎么获取到图片的呢?通过V4L2的官方手册,我们得知是该控制命令

2016-09-21 23:00:41 2014

原创 基于V4L2摄像头采集图片程序设计

#ifndef __COMMON_H#define __COMMON_H//该头文件定义的是摄像头在屏幕上显示的宽度和高度#include#include#include#include#include typedef unsigned char U8;typedef unsigned int U32;typedef unsigned short U16;#define

2016-09-20 23:47:14 2084 5

原创 linux内核中默认logo的具体位置

/driver/logo/...以下这个目录下对应的是logo的设置

2016-09-16 10:10:55 1055 1

转载 【Linux驱动】字符设备驱动

一、linux系统将设备分为3类:字符设备、块设备、网络设备。使用驱动程序:1、字符设备:是指只能一个字节一个字节读写的设备,不能随机读取设备内存中的某一数据,读取数据需要按照先后数据。字符设备是面向流的设备,常见的字符设备有鼠标、键盘、串口、控制台和LED设备等。2、块设备:是指可以从设备的任意位置读取一定长度数据的设备。块设备包括硬盘、磁盘、U盘和SD卡等。  每一个字符设备或块设备都在/de

2016-09-13 21:32:09 665

原创 欢迎关注本人的微信公众号

公众号不定期更新技术资源,欢迎大家共同学习:

2016-09-13 21:00:31 1179

原创 如何解决RK3168或者RK系列MASKROM的问题

不知道使用RK芯片的小伙伴有没有遇到我这样的问题,在用Android-Tool下载相应 IMG的时候,正常情况下,按电源键和音量+键应该出现loader下载模式,但是却出现MASKROM的字样,以前不知道如何去解决,现在知道了。出现MASKROM的原因如下:1、SD卡坏了2、将内部SD卡取出,然后将其格式化后再刷相应的IMG

2016-09-13 15:13:01 9686

原创 关于NOR_FLASH的大小在单片机程序中的应用

在单片机开发中,NOR_FLASH常用的有4M和8M的大小:4M的FLASH在程序中可以这样表示:Ptr 8M的FLASH在程序中可以这样表示:Ptr 有了这个关系,在判断NOR_FLASH好坏的方法上我们可以采用计算checksum的方式来校验。在程序中,我们一般把地址的指针定义为unsigned short *ptr 类型。然后通过指针不断的往后移动可以简引用获取到FLASH中的每一个byte

2016-09-13 09:18:45 2543

原创 Linux内核编译时会遇到的问题--缺少mkimage

由于各大平台所带的内核不同,所以编译方式也不同,但方法都是大同小异。但是,编译内核有时候会提示缺少mkimage这个命令,如何解决?供应商提供内核的同时也会提供其它的一些,比如Uboot,rootfs等等。这个mkimage来自于对应的uboot源码包里,对uboot源码包进行解压后,编译uboot,后面会生成uboot.bin然后在tool目录下:ls mkimage我们可以看到有mkimgae

2016-09-07 16:59:19 1730

原创 input事件--->按键事件的基本实现

本程序基于TINY4412开发板,程序已经验证过,完全正确:那么,如何来写这样的一个驱动程序呢?1、分配一个input_dev结构体2、设置3、注册4、硬件相关的代码,比如中断,定时器,休眠等等的操作#include #include #include #include #include #include #include #include #include #include

2016-09-07 14:50:17 2402

原创 与信号相关的linux系统编程API

1. kill(pid_t pid, int sig); //给指定的进程发送sig信号   raise(int sig); //给当前进程发送sig信号2. 处理指定的信号    typedef void (*sighandler_t)(int);   sighandler_t   signal(int  signum,  sighandler_t       handler);   //使用新

2016-09-06 17:10:07 797

原创 静态库与动态库相关知识笔记

1. ldd 可查看程序需要哪些动态库   nm  可查看程序,库里有哪些函数   file 可查看文件的类型    objdump -D 反汇编.o/.a/.so/elf可执行文件 2. 制作静态库 (test1.c  test2.c) gcc test1.c -c -o test1.o gcc test2.c -c -o test2.o ar -cr libmy.a test1.o test

2016-09-06 17:01:56 2485

原创 动手实现linux中的cp命令(可自行拓展)

我们在学习系统编程的时候,一定会有这样的经历,让你动手实现一个简单的cp命令,也就是拷贝相应的文件到对应的目录,或者说是复制吧,当然,实现非常的简单,我们来看看源码吧:#include #include #include #include int main(int argc ,char *argv[]){ if(argc != 3) { fprintf(stderr , "in

2016-09-06 16:46:34 1951 4

原创 关于USB驱动的软件测试方法

在工作中难免会使用一些外部设备挂载到平台进行测试,比如U盘,那么判断一个U盘是否能正常读写的方法如下: 1、在U盘中放入一个二进制文件(xxx.bin) 2、通过U盘在软件上读取该二进制文件,并计算其checksum值 3、通过checksum值的正确与否即可判断U盘读写是否好坏核心算法大致如下:for(i = 0 ; i     {          one = buffer[i] & 0xff

2016-09-06 15:00:34 1315

转载 为何写flash的时候要地址左移一位?

代码一:#define Writeflash(addr,dat) *((volatile INT16U *)(addr<<1))=(INT16U)dat#define Readflash(addr) (*((volatile INT16U *)(addr<<1)))/*addr为读写操作的半字地址,data则为要写入的半字数据。因为ARM处理器是以字节为单位进行数据处理的,而SST39VF

2016-09-02 14:44:25 1788

原创 Checksum软件的简单设计

相信大家平时在测试一些bin文件的时候,经常都会要求计算checksum值,其实就是校验和,非常的简单,比如下图这个软件:我传入一个.bin文件,读出来的Checksum值就是0x0AD8B8。那么,我如何用C语言终端来实现这个简单的软件做测试工作呢?请看源码:#include #include #include #include int main(int argc, char *argv

2016-09-01 20:33:47 3830

尚观教育嵌入式4个月培训课堂笔记

主要是当年在尚观学习嵌入式所记的和总结的课堂笔记

2021-03-01

LV3096用户手册(1).pdf

该手册为扫码模块的用户手册,里面有扫码模块的详细说明。

2019-08-23

STM32F103ZET6_AT24C02.rar

提供对AT24C02的一个最基本的测试demo,只涉及读写两个接口。

2019-08-17

freertos_for_Uart_lcd.rar

该例程基于大彩串口屏,用于学习freertos和大彩串口屏。

2019-08-06

7.OLED0.96_SPI.rar

该项目基于stm32cubeMx进行配置,硬件平台使用的是秉火stm32f103zet6平台。

2019-07-13

QT多个按键同时按下的实现方法

多个按键同时按下的实现方法,目前实现了左、右、上、下、Enter按键以及左+上+Enter的实现,读者可以自行拓展该程序。

2018-11-12

Tiny4412应用测试软件源码

该测试软件在Android源码下编译,可以在external下创建一个目录,加入以上代码和Android.mk,然后编译,使用C语言编写,一共有9个测试项目,可以在开机的时候加入init.rc下执行显示,包括RGB测试、按键测试、LED测试、ADC测试、Gsensor测试、编译日期和版本信息、ddr内存测试、SD卡测试、EMMC测试,也可以自己定制。

2018-11-11

敦泰--FT5X06 Android驱动框架分析-杨源鑫.pdf

自己写的关于敦泰电容屏的原理,以及Linux驱动分析的一个文档,分享给学习TP的工程师,如有错误的见解,欢迎各位多多指教。

2018-01-14

嵌入式C开发经验总结

全部整理软件出自于我的CSDN博客: http://blog.csdn.net/morixinguan

2017-02-18

tiny4412按键驱动开发

基于友善之臂的ARM-cotexA9驱动编写,包含按键驱动的驱动代码和测试程序

2016-02-03

tiny4412蜂鸣器驱动源码

基于友善之臂的ARM-cotexA9驱动编写,包含蜂鸣器驱动的驱动代码和测试程序

2016-02-03

tiny4412led驱动编写源码

基于友善之臂的ARM-cotexA9驱动编写,包含led驱动的驱动代码和测试程序

2016-02-03

V4L2最详尽文档

这是V4L2非常好的资料,详尽剖析,深入剖析的文档。

2016-01-31

HI257数据手册

本手册是hi257摄像头的数据手册,网上找不到的,只有我有

2016-01-28

Ov2686摄像头数据手册

该手册为Ov2686的摄像头数据手册,世间少有!!珍品

2016-01-14

安卓编程指南

安卓入门的相关书籍和资料,写得很好很实用

2016-01-09

模拟电子技术基本知识200例

模拟电子技术课程的相关知识点的总结和应用

2016-01-09

空空如也

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

TA关注的人

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