- 博客(17)
- 问答 (1)
- 收藏
- 关注
原创 Linux内核版本发布时间整理
有了这个Linux内核版本发布时间表(0.00到3.19,当然没有包含全部的版本),大家就可以看看自己用的版本是何时发布的了!或许有同学会大吃一惊,哇(⊙0⊙)我用的版本10年前就有了啊!发展史我也没写全,有时间和必要的话再写吧!版本号时间发展史0.001991.2-4两个进程分别显示AAABBB
2015-05-30 23:39:49 9262 2
转载 理解套接字和端口
1 套接字编程基础套接字,英文为socket,是一种双向的通信端口。位于网络中的主机通过连接的套接字提供的接口进行数据传输。本节将主要介绍使用套接字进行编程的一些基本概念。1.1 套接字与端口套接字是一种使用标准UNIX文件描述符(file descriptor)与其他程序通信的方式。套接字可以看作是处于不同主机之间的两个程序的通信连接端点。一方面程序将要传输的信息写入
2015-05-30 19:34:58 5828
转载 ip地址与整数之间的转换
方法1:IP地址转换为整数:IP地址每段可以堪称是8位无符号整数即0~255,把每段拆分成一个二进制形式,组合起来,然后把这个二进制数变啊层一个无符号32位整数。整数转换为IP地址:把这个整数转换成一个无符号32位二进制数。从左到右,每八位进行一下分割,得到4段8位的二进制数,把这些二进制数转换成整数然后加上“.”就可以了。IP地址转换成二进制的代码:#include
2015-05-30 17:55:56 2720
原创 理解电脑上的串口对应的端口号(com口)
每次看到台式电脑上的com1、com2都会迷惑不解,只知道它们是串口的端口号。其实,串口至少分为RS232串口、RS422串口、RS485串口(还有没有其它我就不知道了),其中RS232串口即为com口。而COM口( cluster communication port )即串行通讯端口,也就是我们所说的串口的端口。那么电脑上的com1、com2有什么区别呢?1、com1和co
2015-05-30 17:15:40 31943 1
原创 关于二维数组和指针
在C语言中有如下结论:一、在表达式中数组名都是其首元素的地址 但有两种情况除外:(1)当数组名作为sizeof操作符的操作数时,sizeof返回的是整个数组长度,而不是指向数组的指针长度(2)当数组名作为&操作符的操作数时,所产生的是一个指向数组的指针,而不是一个指向指针常量的指针 二、在任何变量的前面加&,就是取这个变量的地址。三、举例:若有二
2015-05-29 00:23:53 1546
原创 详解将驱动程序编译进linux内核
1、进入目录linux-kernel-samsung-dev\drivers\char2、新建目标目录01.led,将驱动相关文件复制到此目录 注:需确保复制的驱动文件是能正常运行的驱动3、在目录01.led里编写Kconfig文件menu "xxx"config XXX_LED tristate "xxx_ggg210_led"
2015-05-26 00:02:51 3048
原创 关于根文件系统的整理
根文件系统首先是一种文件系统,该文件系统不仅具有普通文件系统的存储数据文件的功能,但是相对于普通的文件系统,它的特殊之处在于,它是内核启动时所挂载(mount)的第一个文件系统,内核代码的映像文件保存在根文件系统中,系统引导启动程序会在根文件系统挂载之后从中把一些初始化脚本(如rcS,initt
2015-05-25 23:34:07 955
原创 详解linux平台芯片烧写流程
详解将持续更新!这里的烧写是针对板子里的nandflash中已经有uboot的情况。目的在于熟悉烧写流程及原理!连接好开发板,重新启动,进入u-boot交互界面,执行如下操作:一、配置网络 # pri# setenv ipaddr 192.168.64.11 (注:ipaddr 为开发板IP)# setenv serverip 192.168.64.12 (注:serverip 为Windows主机IP)# setenv gatewayip
2015-05-22 00:32:13 3908
原创 linux最简单的驱动编写及测试流程
本文采用nfs挂载网络文件系统的方式,手动创建设备节点,动态加载驱动模块,对理解驱动编写流程有很大好处!一、初级驱动执行流程:1、写好Makefile文件,里面包含将应用程序编译成app文件,将驱动程序编译成mydrv.ko文件的脚本2、在ubuntu里执行sudo make3、确保mydrv.ko和app被拷贝到nfs挂载的根文件系统的/modules目录
2015-05-21 00:20:50 3119
原创 linux /proc/devices文件与/dev目录区别
关于标题内容的几点解释:1、proc目录是一个虚拟文件系统,可以为linux用户空间和内核空间提供交互它只存在于内存中,而不占实际的flash或硬盘空间2、/proc/devices/里的设备是加载驱动程序时生成的3、/dev/下的设备是通过创建设备节点生成的,用户通过此设备节点来访问内核里的驱动
2015-05-20 23:53:21 4889 1
原创 LCD驱动移植配置总结
总结下移植LCD驱动时的参数配置情况:根据LCD数据手册和处理器数据手册LCD控制器部分,得到如下参数:一、基本参数(4个)1、宽度即水平像素点个数(eg:800)2、高度即垂直像素点个数(eg:480)3、描述单个像素点需要的位数(eg:32)4、刷新频率(eg:60)二、时序参数(6个)1、行同步信号前回扫时间2、行同步信号后回扫时间3、行同步信号脉
2015-05-19 21:53:13 2236
转载 内联函数和宏定义的区别
用内联取代宏:1.内联函数在运行时可调试,而宏定义不可以;2.编译器会对内联函数的参数类型做安全检查或自动类型转换(同普通函数),而宏定义则不会; 3.内联函数可以访问类的成员变量,宏定义则不能; 4.在类中声明同时定义的成员函数,自动转化为内联函数。文章(一)内联函数与宏定义 在C中,常用预处理语句#define来代替一个函数定义。例如: #d
2015-05-18 21:41:58 608
原创 关于 可重入 函数的详解
一、什么是可重入函数?答:可重入函数就是多个线程访问同一个函数时,彼此之间互不影响,均能得到期望的结果二、如何使函数可重入?答:保证函数所有的输入都来自于函数的形参,所有的输出都为从函数返回值或输出参数得到, 函数内部不得使用全局变量或者静态局部变量三、不可重入函数举例 int g_flag = 0;int fun(int x){
2015-05-13 23:34:11 1085
转载 阅读内核源码 VIM+Ctags
人说,磨刀不误砍材工。可是学习linux内核已经一年啦,一直都在逃避使用VIM&ctags&cscope之类的阅读 源码。一方面,搞不明白他们之间是怎么一回事,就觉得糊里糊涂的。在网上也看了一些文章,可还是晕晕乎乎。另一方面,有LXR的方便,于是就给自己一次次 的逃避找到了借口。最近,网络总是出问题,才深深体会到仅仅依靠网络还是不行的。于是乎,终于下定决心要好好挖掘一下VIM的潜力。以前就看到过这
2015-05-07 22:59:49 1791
原创 四线电阻触摸屏校准
关于触摸屏校准算法的分析介绍一种比较简单的四线电阻触摸屏校准算法:一、准备工作1、设LCD分辨率为LCDX,LCDY(比如:800X480)2、LCD坐标为逻辑坐标用L表示,触摸屏坐标为物理坐标(AD值)用P表示3、触摸按下点逻辑坐标(Lx,Ly)为最终所求坐标4、原理为利用触摸按下点的物理坐标求出按下点的逻辑坐标,即将触摸屏坐标转换为LCD坐标 二、实现过程:
2015-05-03 18:50:55 8433
空空如也
linux下写驱动控制gpio时的两种方法区别
2015-05-25
TA创建的收藏夹 TA关注的收藏夹
TA关注的人