- 博客(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
嵌入式系统开发之道笔记
2015-05-17
alsa-utils-1.0.25_alsa-lib-1.0.25
2015-05-11
pthread API的一些用法
2015-02-15
MJPEG压缩与解压缩
2013-12-13
MassStorageClass协议文档
2013-09-28
QT连续显示多幅图片看起来像动画
2012-12-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人