- 博客(43)
- 资源 (8)
- 收藏
- 关注
原创 how to install splint
Environment: ubuntu 3.13.0-24-genericrun in virtual machineHow to get the Opensource?From web :http://www.splint.org/download.htmlwhen I choose splint-3.1.1.Linux.tgz to downloade,Then tar
2015-02-27 21:24:48 1002
原创 nanoPC-T1 4412u-boot启动
硬件平台:nanoPC-T1-4412开发板u-boot :友善提供的tiny4412-ubootlinux:3.4.99nanoPC-T1-4412开发板,友善提供的资料并不是很多,只能慢慢摸索着开发了。Q:mini2440上用的PL2303usb转串口用在该开发板上没有输出?A:调了好久,最后发现是硬件问题,4412的UART口输出的是1.8V电压,查看
2015-01-20 17:26:16 2108 1
原创 内核usb键盘代码简析
内核:linux-3.4.99学习了韦东山第二期视频关于USB鼠标模拟键盘那一章,现在自己简单分析下内核自带的usb键盘源码。(drivers\hid\usbhid\Usbkbd.c)当插入键盘的USB口时,会调用probe函数,分析如下:static int usb_kbd_probe(struct usb_interface *iface, const struct u
2014-12-05 14:14:13 1585
原创 ASOC声卡驱动框架
硬件平台mini2440开发板(S3C2440+UDA1341)linux版本:linux-3.4.99ASoC--ALSA System on Chip ,是建立在标准ALSA驱动层上,为了更好地支持嵌入式处理器和移动设备中的音频Codec的一套软件体系。在ASoc出现之前,内核对于SoC中的音频已经有部分的支持,不过会有一些局限性:通常,就像软件领域里的抽象和重用一样,嵌入式设
2014-12-02 20:54:53 1413
原创 ALSA声卡驱动创建过程
参考linux内核:3.4.99一.概述ALSA是Advanced Linux Sound Architecture 的缩写,目前已经成为了linux的主流音频体系结构。在内核设备驱动层,ALSA提供了alsa-driver,同时在应用层,ALSA为我们提供了alsa-lib,应用程序只要调用alsa-lib提供的API,即可以完成对底层音频硬件的控制。二.声卡的建立(参考
2014-12-02 15:39:58 1141
转载 linux内核对S3C2410睡眠模式的支持
一、S3C2410支持4种供电模式(1)NORMAL MODE耗电最大、可以通过关闭具体控制器的时钟来节电(2)SLOW MODE在此模式下可以没有内部PLL,耗电情况依赖于外部时钟的频率(3)IDLE MODEFCLK被关断,主要由于CPU core节电。可以任何通过外部中断唤醒(4)Power_OFF MODE除了处理器唤醒逻辑单
2014-12-01 15:27:56 840
转载 电源管理之regulator机制流程
现在android/linux为模块设备供电有两种,一种GPIO供电,另一个就是电源管理芯片。电源管理芯片可以为多设备供电,且这些设备电压电流有所同。为这些设备提供的稳压器代码模型即为regulator。下面通过下面三个过程分析regulartor供电机制:1.分析regulator结构体2.regulator 注册过程3.设备使用regulat
2014-12-01 15:09:35 977
原创 三星i9300手机电池拆解分析
三星i9300的电池有个特点,里面带NFC天线,正好自己的手机用了一年,电池也鼓包不能用了,拆开看看这块电池的庐山真面目。先上几幅粗略图: 此时大概也能看到影藏在电池里的天线了,继续拆解: 那块裸板上可以看到电池的电路板,红色的是连接NFC天线的两端点,板子撬开后,天线就断了
2014-11-29 15:41:10 7294
原创 mini2440电源管理 suspend实现遇到的一些问题
内核:linux-3.4.99bootloade:u-boot-2012-04-01开发板:mini2440参考:韦东山第三期视频,电源管理边看视频边写代码边做实验,由于没有用韦老师视频中提供的现成的bootloade,image 等等,没想到一个suspend实现,把我折腾了很久,过程很曲折,但好在在各种调试中,我也学到了很多。1.在开发板启动后 命令行键入“
2014-11-29 14:53:53 1656
原创 拉卡拉收款宝拆解图示分析
拿到一款拉卡拉的收款宝M35,外观如下图所示: 接着开始拆解,拧开螺丝,可以看到内部结构:大致可以看到有块方形锂电池,一个蜂鸣器,一个磁头等等....... 看下左边那块小板的构造: 上图 方框1所示是块纽扣电池,估计是个开机自毁操作,反正拆开后,收款宝
2014-11-26 11:37:55 14013
原创 wifi模块调试之安装wpa_supplicant
一.安装libnl 1.在http://www.infradead.org/~tgr/libnl/上下载最新源码
2014-10-04 17:51:21 4215
转载 JPEG图像的解压缩操作
解压缩操作过程1. 为JPEG对象分配空间并初始化2. 指定解压缩数据源3. 获取文件信息4. 为解压缩设定参数,包括图像大小,颜色空间5. 开始解压缩6. 取出数据7. 解压缩完毕8. 释放资源为JPEG对象分配空间并初始化解压缩过程中使用的JPEG对象是一个jpeg_decompress_struc
2014-09-09 17:18:07 2483
原创 扫描dir目录函数之scandir()
scandir: 读取特定的目录数据头文件: dirent.h 函数定义: int scandir(const char *dir, struct dirent ***namelist, int (*select)(const struct dirent *), int (*compar)(const struct dirent**, const struct dirent**)); 说明: sc
2014-08-31 12:42:43 4154
原创 qrencode二维码生成库函数使用心得(一)(付测试源码)
开发环境:Linux平台:虚拟机下ubuntu 14.04交叉编译工具:gcc-4.4.3arm开发板:mini2440arm 内核版本:linux-3.4.99最近公司的项目需要在展讯功能机平台下实现字符串生成二维码功能,在网上搜了下,有个linux平台下的开源QR码C函数库qrencode。于是在此源码上进行了一番尝试移植。下载qrencode-
2014-08-24 08:56:21 12035 10
原创 linux应用--freetype在linux-PC下的一些零碎知识
FreeType库是一个完全免费(开源)的、高质量的且可移植的字体引擎,它提供统一的接口来访问多种字体格式文件,包括TrueType, OpenType, Type1, CID, CFF, Windows FON/FNT, X11 PCF等。
2014-08-07 18:22:59 1158 1
转载 字符理论--hzk16的介绍以及简单的使用方法 (转)
HZK16字库是符合GB2312标准的16×16点阵字库,HZK16的GB2312-80支持的汉字有6763个,符号682个。其中一级汉字有 3755个,按声序排列,二级汉字有3008个,按偏旁部首排列。我们在一些应用场合根本用不到这么多汉字字模,所以在应用时就可以只提取部分字体作为己用。HZK16字库里的16×16汉字一共需要256个点来显示,也就是说需要32个字节才能达到显示一个普
2014-08-07 10:46:39 7495
原创 linux驱动摸索 --arm平台上添加操作磁盘相关命令
基本开发环境Linux平台:虚拟机下ubuntu 14.04交叉编译工具:gcc-4.4.3arm开发板:mini2440(CPU:S3C2440 ,SDRAM:64M,Nor Flash:2M,Nand Flash:256M,网卡:DM9000EP)
2014-07-24 00:26:08 3218 1
原创 linux驱动摸索 --tslib移植
tslib背景:在采用触摸屏的移动终端中,触摸屏性能的调试是个重要问题之一,因为电磁噪声的缘故,触摸屏容易存在点击不准确、有抖动等问题。Tslib是一个开源的程序,能够为触摸屏驱动获得的采样提供诸如滤波、去抖、校准等功能,通常作为触摸屏驱动的适配层,为上层的应用提供了一个统一的接口。
2014-07-17 14:52:46 807
原创 linux驱动摸索-- LCD显示(mini2440_T35)
内核版本:linux-2.6.32.2开发板:mini2440TFT屏:统宝3.5寸
2014-07-15 10:51:32 1551
转载 jlink命令行调试
在基于ARM的嵌入式系统开发中,常常用到交叉编译的GCC工具链有两种:arm-linux-*和 arm-elf-*,两者区别主要在于使用不同的C库文件。arm-linux-*使用GNU的Glibc,而arm-elf-*一般使用 uClibc/uC-libc或者使用REDHAT专门为嵌入式系统的开发的C库newlib.Glibc。uClibc/uC-libc以及 newlib都是C语言库
2014-07-07 15:49:16 6610
转载 解决:busybox编译 fatal error: curses.h: 没有那个文件或目录
ubuntu11.04下编译busybox执行make menuconfig时出现如下错误@ubuntu:/home/dev/busybox-1.19.3# make menuconfig HOSTCC scripts/kconfig/lxdialog/checklist.oIn file included from scripts/kconfig/lxdialog/check
2014-07-07 15:48:51 1110
转载 poll机制分析(转韦东山)
所有的系统调用,基于都可以在它的名字前加上“sys_”前缀,这就是它在内核中对应的函数。比如系统调用open、read、write、poll,与之对应的内核函数为:sys_open、sys_read、sys_write、sys_poll。 一、内核框架:对于系统调用poll或select,它们对应的内核函数都是sys_poll。分析sys_poll,即可理解poll机制。1. sy
2014-07-07 14:54:59 721
原创 linux驱动之key中断方式读键值
内核版本:linux-2.6.32.2开发板:mini2440参考韦东山的视频,编写代码,对于其源码稍有改动,以适合linux-2.6.32.2版本。代码如下:
2014-07-06 23:31:08 1175
原创 linux内核移植
1.基本环境U-boot版本:u-boot 2010-6Linux平台:虚拟机下fedora 13交叉编译工具:gcc-4.4.3arm开发板:mini2440(CPU:S3C2440 ,SDRAM:64M,Nor Flash:2M,Nand Flash:256M,网卡:DM9000EP)
2014-07-02 00:11:48 815
转载 交换两个数的值Swap的一些方法及其源代码实现
宏形式#define swap(a,b) a^=b^=a^=b#define swap(a,b) (a-=(b=-b+(a+=b)))或#define swap(a,b) a=a+b;b=a-b;a=a-b //这里最后没有分号更好宏定义比较容易有副作用,最好给每个变量括号。函数形式typedef int ElementType;//第一种方法voi
2012-05-04 14:27:02 1104
转载 C语言 数组 下标与指针 效率解析
以字符串拷贝函数为例,解析数组中下标与指针的效率情况。指针的效率至少和下标相同。(原因参考C下标的实现原理,注意编译器差异,因为部分编译器针对下标设置了特殊汇编指令,不做考虑)#define SIZE 50int x[SIZE];int y[SIZE];int i;int *p1,*p2;1:使用下标方案void strcpy()
2012-04-24 11:14:19 2026
转载 绝对值相关
abs()是如何来求绝对值的并且看看它的效率如何,所以反汇编出来看了下:sar $0x1f,%edxxor %edx,%eaxsub %edx,%eax对应c语言://求int a的绝对值b = a >> 31;a = a ^ b;a = a - b;起初还没想透为什么这样就能得到绝对值,再细想,对右移理解有误(微机原理忘光了,汗颜)。要理解上述程序需要了解
2012-04-22 22:20:01 613
原创 u-boot-2010-06在mini2440上的移植(四)
<br />四.添加对Nand Flash的支持<br />4.1 支持u-boot从Nand flash启动<br />目前u-boot中还没有对2440上Nand Flash的支持,也就是说要想u-boot从Nand Flash上启动得自己去实现了。<br />首先,在inc
2011-03-17 09:02:00 1683 1
VxWorks for ARM 实验教程
2011-03-03
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人