自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

luckywang1103的专栏

慢一些脚步,多一点思考!

  • 博客(11)
  • 资源 (44)
  • 收藏
  • 关注

原创 DMA(三) - DMA控制器接口函数

DMA控制器接口函数主要作用是配置DMA控制器并启动相应传输 s3c2440中关于公共DMA控制器的函数提供有: s3c2410_dma_config() s3c2410_dma_ctrl() s3c2410_dma_enqueue() s3c2410_dma_devconfig() s3c2410_dma_set_buffdone_fn() s3c2410_dma_request()

2015-09-30 19:06:17 2033

原创 DMA(二) - DMA接口函数

DMA接口函数arch/arm/mm/dma-mapping.c 主要的作用是将虚拟地址映射到物理地址。 一致性DMA映射 dma_alloc_coherent dma_mmap_coherent dma_free_coherent 流式DMA映射 dma_map_single dma_unmap_singledma_alloc_writecombine dma_mmap_writ

2015-09-30 19:04:28 4861 2

原创 DMA(一) - 内核sysdev DMA控制器设备

区别两个概念:DMA和DMA控制器 dma_alloc_coherent/dma_map_single/dma_pool_create 以上这3个函数只是将内核虚拟地址映射得到物理地址对于物理地址的使用则涉及到DMA控制器的操作了,需要将物理地址填写到DMA控制器的对应寄存器,并启动DMA控制器进行传输。 大部分情况下,外设都有自己独立的DMA控制器,如dwc_otg中usb使用的是usb相关

2015-09-30 17:58:32 1112

原创 C语言常见编译错误与执行错误

编写fasync_jni应用程序放在Tiny210开发板上跑会出现如下错误: 然后编写一个最简单的hello world程序放在Tiny210开发板上跑也会出现类似这样的错误:hello: line 1: syntax error: unexpected word (expecting “)”)解决办法:加上-static选项,arm-linux-gcc hello.c –static –o he

2015-09-25 16:04:41 4273

转载 rmmod: chdir(xxx): No such file or directory 解决方法

在busybox下rmmod 时提示 rmmod: chdir(xxx): No such file or directory。初步发现,原来这是由于使用的 busybox不同于发行版 linux 安装,没有生成相应的目录 有两种解决办法: 1. 创建 /lib/modules/$(uname -r) 空目录就行了 . 2. 使用如下源码生成 rmmod 命令,就可以没有任何提示的卸载ko模块

2015-09-25 15:54:55 8213 1

转载 request_firmware

获取固件的正确方法是当需要时从用户空间获取它。一定不要试图从内核空间直接打开包含固件的文件,那是一个易出错的操作, 因为它把策略(以文件名的形式)包含进了内核。正确的方法是使用固件接口: struct firmware; request_firmware(); request_firmware_nowait(); release_firmware();注意:要使用firmware,必须要在

2015-09-25 11:32:01 7969

原创 oom-killer

内存不够时系统会启动oom-killer ~ # ft2_test 192.168.1.29 192.168.1.71 rtl8168: eth0: link up info [create_socket_srv:354]: listening on port : 6789 info [listen_func:304]: connection[4] : 192.168.1.71:43786

2015-09-23 19:59:55 2531

原创 attribute/device_attribute/driver_attrivute ...

在include/linux/device.h中定义了struct attribute { const char *name; mode_t mode;};struct device_attribute { struct attribute attr; ssize_t (*show)(struct device *dev, stru

2015-09-23 18:06:46 1062

原创 超声波模块

HC-SR04简介HC-SR04超声波模块可提供2cm~400cm的距离感测功能,测量精度可以达到3mm。模块包括超声波发射器,接收器与控制电路。基本工作原理1) 采用Trig引脚触发,给至少10us的高电平脉冲信号 2) 模块自动发送8个40kHz的方波,自动检测是否有信号返回 3) 有信号返回,通过Echo引脚输出一个高电平脉冲,高电平脉冲持续的时间就是超声波从发射到反射返回的时间。距离=(

2015-09-20 17:28:47 36644 3

原创 linux字符设备内核源码

文件位于fs/chr_dev.c重要的结构体struct cdev { struct kobject kobj; struct module *owner; const struct file_operations *ops; struct list_head list; dev_t dev; unsigned int count;};struct

2015-09-16 20:31:45 785

翻译 alsa用户空间编程

alsa由以下几个部分组成: 1) driver内核驱动程序,包括硬件相关的和一些公共代码,了解可参考《writing an ALSA Driver》 2) library用户空间的函数库,需要包含头文件asoundlib.h,链接共享库libasound.so 3) lib-plugins提供了两个插件,一个用jack模拟alsa接口,一个用oss来模拟alsa接口。alsa可以作为jack

2015-09-15 20:12:13 5828

androidJNI例子

从这个简单的例子学习android JNI是如何做的

2015-07-19

嵌入式系统开发之道笔记

嵌入式系统开发之道的读书笔记 ... 2、中断分为CPU自行产生的内部中断及由外围设备产生的外部中断。 3、*(volatile unsigned char*)0x300022&=0xfd; C语言用指针取地址里面的东西 asm("xld.w %r0,0x300022"); Asm("bset [%r0],0x1"); 汇编用[]取地址里面的东西 ...

2015-05-17

alsa-utils-1.0.25_alsa-lib-1.0.25

alsa-utils-1.0.25和alsa-lib-1.0.25,具体编译方法参考http://blog.csdn.net/luckywang1103/article/details/45626201

2015-05-11

算法导论_第二版(中文+答案)_第三版(英文)

算法导论内容包括: 中文第二版PDF+答案 英文第三版PDF

2015-05-05

ldd3书本+书本源代码

包括linux设备驱动(第三版)书本和书本上对应的源代码

2015-05-05

pthread API的一些用法

主要是pthread API组成的一个简单的例子,更关键的是能够熟悉pthread_join,他能够一直阻塞整个进程直到他等待的那个线程结束才能继续执行他后面的代码。 编译使用gcc pthread.c -o pthread -pthread

2015-02-15

Protel转PADS工具

可以实现Protel PCB转PADS PCB 实现Protel原理图转PADS原理图

2013-12-19

MJPEG压缩与解压缩

实现在友善之臂平台 usb_camera.c文件:如果V4L2采集的图像是MJPEG,则解压成RGB进行LCD显示; YUV2JPEG.c文件:如果V4L2采集的图像是YUYV,则先变成RGB,再压缩为MJPEG

2013-12-13

nfs安装文件

里面有3个nfs安装所需的文件,安装方法是dpkg -i ***.deb, 安装顺序是portmap、common、kernel

2013-12-10

labview显示串口读取的心电波形

前端是单片机采集的并通过串口发送出来的波形信号,电脑端是采用labview软件制成的简单的动态描绘心电波形的图。

2013-12-09

usb_camera

用于在友善之臂嵌入式板子上跑的usb camera应用程序,从usb camera取出数据然后保存为图片文件并显示在LCD屏幕上

2013-12-05

MyDrivers驱动文件

利用基本的驱动核心理论完成了按键驱动和beep驱动

2013-11-11

mfc创建DLL

里面有创建DLL文件的例子和使用这个DLL文件的例子,用于学习

2013-10-05

MassStorageClass协议文档

MassStorageClass协议文档共4个,其中有USB BulkOnly协议、也有USB UFI协议、也有USB MassStorageClass协议

2013-09-28

CATC抓取的UFI数据

CATC仪器抓取的UFI Command的数据

2013-09-24

USB枚举失败会复位.usb

USB枚举失败会复位用CATC抓的过程中的数据,便于分析USB协议

2013-09-23

c8051f320_USB枚举过程.usb

C8051F320USB设备成功枚举,用CATC抓的过程的数据

2013-09-23

51单片机内部RAM

51单片机内部ram的分配,叙述small和large模式

2013-08-20

QT连续显示多幅图片看起来像动画

在window的qt creator平台上开发的,qt定时器的方法连续播放几幅图片看起来像动画,而且运行时外围的窗体都被透明化了,只有显示破壳而出的小鸡的动画,在你的桌面上随意拖动。

2012-12-14

51单片机控制DS18B20

51单片机控制DS18B2020的例子程序,里面还有proteus仿真的程序,你可以在这个程序的基础上扩展

2012-12-08

test1_lib_app.rar

MFC动态库的创建的代码在test1_lib的目录下,MFC动态库调用的代码在test1_app的目录下

2019-07-13

devmem tool

用于linux系统读取或者写入寄存器或者内存的值,调试驱动的时候会有帮助

2018-12-20

audio应用层播放代码

audio应用层的播放参考代码,调用alsa lib的API。内含编译和使用的Readme

2018-10-22

linux framebuffer application

使用/dev/fbx设备节点,能够读取framebuffer的信息,并且在framebuffer上显示

2018-10-12

绑定进程到指定cpu

绑定进程到特定cpu去执行,只是一个简单的例子,直接可以通过gcc编译好了在pc上运行。

2018-09-18

fft算法c语言实现

c语言实现的fft算法,代码中先做码位置换,再做蝶形运算

2018-05-16

linux控制cpu占用率

在Linux平台下通过程序控制cpu占用率,最好在空闲的机器上测试

2018-01-30

minimad.tar.gz

使用libmad的一个example,可以解码mp3文件为pcm文件,mp3文件和解码出来的pcm文件都在里面了

2018-01-05

easyBSD2.3

在网上下载的easyBSD,用于添加开机启动选项,试过挺好用的

2016-09-13

内存模拟块设备驱动程序

与ldd3第十六章块设备驱动程序相关的代码,基于3.10内核接口的实例

2016-06-27

Kbuild分析

Kbuild系统实现分析,Kconfig和Makefile语法

2016-02-16

实现内核seq操作的例子

实现内核seq的操作的例子,可以自己放到内核中编译试试

2016-02-04

内核proc文件系统的代码

调用了linux内核提供的操作proc文件系统接口的函数,一个小例子。

2016-02-03

mmap内核驱动与应用程序

里面包括 1. 一个用户空间的mmap将文件映射到内存进行操作的例子 2. 一个mmap内核驱动及对应的mmap用户空间的程序。

2016-02-02

debugfs例子程序

linux文件系统中的debugfs程序小例子

2015-12-20

dma控制器操作

使用s3c2440的DMA控制器搬运内存数据和使用cpu搬运数据

2015-09-30

dma映射函数

主要讲3个dma的函数,dma_alloc_coherent,dma_poll_create, dma_map_single使用实例

2015-09-30

dma_operation.c

使用s3c2410的公共DMA控制器来搬运内存数据和使用cpu来搬运内存数据

2015-09-30

TCT40-16超声波传感器

超声波传感器TCT40-16,由发送和接收两个构成,这个是文档介绍

2015-09-13

linux内核异步通知用户空间fasync

linux内核异步通知用户空间fasync,使用内核提供的fasync_helper和kill_fasync两个函数

2015-08-26

空空如也

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

TA关注的人

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