樊茂林的博客

天生我材必有用

platform总线按键驱动分析(精华版)

驱动做了三个多星期了,从helloworld到LED再到PlatformLED,现在终于到了按键驱动,对于驱动的理解深刻了不少,从完全看不懂到现在能够独立分析,进步很大,今天完成了按键驱动,做一个总结性的分享,给后面的自己看!加油!按键驱动:与之前不同,这次将按

2017-08-28 13:53:30

阅读数 2044

评论数 3

UDA1341声卡驱动与madplay移植播放mp3(第三方源代码移植步骤)

首先配置声卡UDA134驱动,看原理图 我们只需要将相应的IIS管脚设置为我们开发板的原理图设计的管脚就可以了。我们只要在/arch/arm/mach-s3c2440/mach-smdk2440.c文件中注册UDA1341 平台设备的控制端口就可以了,端口如上图所示,打开mach-...

2017-04-23 20:39:27

阅读数 697

评论数 0

windows10 如何给应用程序设置快捷键及一些常用好玩快捷键

自己经常使用截图、画图、计算器等系统自带的实用小工具,但是每次用鼠标点来点去觉得很郁闷,就上网百度加自己研究发现它们有些根本没有快捷键需要主人自己进行设置,而且这次还发现了一些之前不怎么使用的有用的win10工具,文章所有的内容我都亲身实践过,收获满满,特此总结一下,那些复制粘贴类的基础快捷键我就...

2017-04-11 18:18:42

阅读数 15685

评论数 0

linux下使用ntpdate同步网络时间

为什么需要网络同步时间:Linux服务器运行久时,系统时间就会存在一定的误差,一般情况下可以使用date命令进行时间设置,但在做数据库集群分片等操作时对多台机器的时间差是有要求的,此时就需要使用ntpdate进行时间同步安装ntpdate[fanmaolin@Centeros ~]$ sudo y...

2017-09-04 17:01:38

阅读数 5437

评论数 0

结构体对齐详解

阅读说明1、在文中要注意#pragma pack()函数的使用2、本文中博主用于演示的是linux32位系统3、如果有不同意见可以在下面评论区一起讨论(windows下的我不是很清楚,听说例二windows下的那个分析有问题,1B+8B=13B,阅读分析时请注意)4、我觉得这篇文章解释的非常清楚,...

2017-09-04 16:43:39

阅读数 292

评论数 0

关于configure和Makefile

转自:http://blog.csdn.net/lltaoyy/article/details/7615833Linux下Makefile的automake生成全攻略  作为linux下的程序开发人员,大家一定都遇到过Makefile,用make命令来编译自己写的程序确实是很方便。一般情况下,大家...

2017-09-02 13:08:55

阅读数 218

评论数 0

UDA1341声卡传输基本原理

转自:http://www.cnblogs.com/TaigaCon/archive/2012/12/07/2807922.htmluda1341连接soc的引脚分为两类:数据引脚、控制引脚。  数据引脚用于音频码流的传输,  控制引脚用于该声卡芯片控制,比如说音量控制等如下图为uda1341的声...

2017-09-02 11:34:25

阅读数 179

评论数 0

Linux 内核配置机制(make menuconfig、Kconfig、makefile)讲解

引言前面我们介绍模块编程的时候介绍了驱动进入内核有两种方式:模块和直接编译进内核,并介绍了模块的一种编译方式——在一个独立的文件夹通过makefile配合内核源码路径完成 那么如何将驱动直接编译进内核呢? 在我们实际内核的移植配置过程中经常听说的内核裁剪又是怎么麽回事呢? 我...

2017-09-01 16:52:03

阅读数 183

评论数 0

C编程注意32位机器和64位机器的差别及unsigned和signed

1.64bit CPU拥有更大的寻址能力,最大支持到16GB内存,而32bit只支持4G内存 2.64位CPU一次可提取64位数据,比32位提高了一倍,理论上性能会提升1倍。但这是建立在64bit操作系统,64bit软件的基础上的。C/C++ 32位机器和64位机器 差异问题总结 跨平台 移植...

2017-09-01 11:21:30

阅读数 1179

评论数 0

Linux驱动中的platform总线分析

最近在复习platform总线相关的知识,碰到一篇感觉不错的文章。转载自:http://blog.csdn.net/pillarbuaa/article/details/7680372概述从Linux2.6内核起,引入一套新的驱动管理和注册机制:platform_device 和 platform...

2017-08-27 20:48:14

阅读数 3695

评论数 0

版本控制系统GIT和SVN的区别

两个都使用过,但是就保存代码来说,我偏向于SVN,而且用的比较熟练。但是GIT也有它的优势所在。1)Git是分布式的,SVN不是:这 是git和其它非分布式的版本控制系统,例如SVN,CVS等,最核心的区别。好处是跟其他同事不会有太多的冲突,自己写的代码放在自己电脑上,一段时间后再提交、合并,也可...

2017-08-19 15:34:13

阅读数 674

评论数 0

串口通信数据位长度对传输数据的影响

针对串口通信,关于设置数据位长度对通信的影响,如图: 在串口数据通信中,会看到串口参数设置。其中“数据位”设置,共有四档选项,分别是8、7、6、5。那么改变这个参数会对数据的传输有什么影响呢?我来做个试验,通过示波器观察通信过程,能够分析结果如下:例如数据位设置为5。那么就相当于规定了每个传输字...

2017-08-17 20:03:43

阅读数 1704

评论数 0

用buildroot制作交叉编译器

以前做文件系统的时候制作过交叉编译器,现在重新做一遍总结一下。认识交叉编译器交叉编译器简介 在一种计算机环境中运行的编译程序,能编译出在另外一种环境下运行的代码。比如我们在pc下编译的代码,想要在arm开发板上运行,就需要用交叉编译器编译pc端的代码,然后才能在arm板上运行。制作交叉编译器过程把...

2017-08-17 18:27:30

阅读数 383

评论数 0

二叉树的操作:创建、遍历、求树的深度、叶子结点数

二叉树认识二叉树在计算机科学中,二叉树是每个节点最多有两个子树的树结构。通常子树被称作“左子树”(left subtree)和“右子树”(right subtree)。在该图中,用’#’表示空节点,我们真正要创建的树为有ABCD字符。先序遍历的方式创建二叉树int creatBitree(stru...

2017-08-16 12:39:14

阅读数 481

评论数 0

排序算法学习:快速的桶排序

排序原理 假设现在要对5 3 5 2 8这几个数进行排序。我们申请一个大小为9的数组(待排序数中最大数+1),假设为9个木桶,把9个木桶置为0,如图: 然后在对应桶的编号(这就是为什么要设置为待排序数组中最大数+1了)中标记1,如图在a[5]中标记为1,表示待排数组中有5,并且5在a[5]这个...

2017-08-14 17:18:24

阅读数 200

评论数 0

排序算法学习:冒泡、选择、快速

排序的相关概念排序:将一组杂乱无章的数据按一定的规律顺次排列起来。数据表( data list): 它是待排序数据对象的有限集合。排序码(key):通常数据对象有多个属性域,即多个数据成员组成,其中有一个属性域可用来区分对象,作为排序依据。该域即为排序码。每个数据表用哪个属性域作为排序码,要视具体...

2017-08-13 20:22:36

阅读数 188

评论数 0

单向链表的逆序,不使用额外节点存储实现

链表的逆序是常见考题,今天来简单学习使用如何实现单向链表的逆序。逆序过程初始链表状态 初始状态,prev是NULL,head指向当前的头节点A,next指向A节点的下一个节点B。首先从A节点开始逆序,将A节点的next指针指向prev,因为prev的当前值是NULL,所以A节点就从链表中脱离出来...

2017-08-12 10:00:20

阅读数 225

评论数 0

单向链表的节点插入与删除

理解了链表的创建后,其他链表操作也变得比较简单,对上次的代码做了些修改,今天来记录一下自己对链表节点的插入与删除操作的学习。在某个节点后插入节点struct node *insert(struct node *head, int datanum, struct node *new) { s...

2017-08-10 20:33:40

阅读数 283

评论数 0

创建N个单向链表对它进行摧毁和清空操作

摧毁和清空的含义及区别摧毁是先销毁了链表的头,然后接着一个一个的把后面的销毁了,这样这个链表就不能再使用了,即把包括头的所有节点全部释放。清空是先保留了链表的头,然后把头后面的所有的都销毁,最后把头里指向下一个的指针设为空,这样就相当与清空了,但这个链表还在,还可以继续使用;即保留了头,后面的全部...

2017-08-09 15:43:05

阅读数 251

评论数 0

单向链表的创建和遍历

单向链表简介单向链表(单链表)是链表的一种,其特点是链表的链接方向是单向的,对链表的访问要通过顺序读取从头部开始; 链表是使用指针进行构造的列表;又称为结点列表,因为链表是由一个个结点组装起来的;其中每个结点都有指针成员变量指向列表中的下一个结点; 链表是由结点构成,head指针指向第一个成为...

2017-08-08 15:40:56

阅读数 200

评论数 0

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