随笔分类 -  Linux

1
Linux驱动相关内容
摘要:(1)在编写简单字符设备驱动的时候,首先要申请一个设备结构struct cdev: 申请完成后首先要使用函数cdev_init进行初始化这个cdev结构体: 阅读全文
posted @ 2017-03-23 07:12 LinuxRookie 阅读(431) 评论(0) 推荐(0)
摘要:级别: 日志级别用宏表示,日志级别宏展开为一个字符串,在编译是由预处理器将它和消息本文拼接成一个字符串,因此printk函数中日志级别宏和格式字符串间不能有逗号。printk的日志级别定义在 /include/linux/kernel.h 中: 日志级别的范围"0~7",没有指定日志级别的print 阅读全文
posted @ 2017-03-21 21:36 LinuxRookie 阅读(2526) 评论(0) 推荐(1)
摘要:应用层、传输层、网络层、链路层 链路层:常用协议 ARP(将物理地址转化为IP地址) RARP(将IP地址转换为物理地址) 网络层(IP层):重要协议ICMP IP IGMP 传输层:重要的协议TCP、UDP 应用层:用户自定义协议 tftp telnet TCP的特点: (1)基于字节流 (2)面 阅读全文
posted @ 2017-03-02 06:43 LinuxRookie 阅读(1072) 评论(1) 推荐(0)
摘要:(1)众所周知的端口:0~1023,这些端口由IANA分配和控制它们紧密绑定用于一些服务。常用这些端口的通讯 明确表明了某些协议。例如:21端口为ftp服务端口。 (2)注册端口:1024~49151.这些端口不受IANA控制,但是由IANA登记并提欧诺个使用情况清单。它们松散地 绑定一些服务。 ( 阅读全文
posted @ 2017-03-02 06:43 LinuxRookie 阅读(353) 评论(0) 推荐(0)
摘要:OSI(Open System Interconnection)开放系统互联模型(1)应用层: 应用层与应用程序界面沟通,以达到展示给用户的目的。(2)表示层: 表示层对网络传输的数据进行交换,使得多个主机之间的传送的信息能够相互理解,包括数据的 压缩、加密、格式转换等。(3)会话层: 管理主机之间 阅读全文
posted @ 2017-03-02 06:41 LinuxRookie 阅读(321) 评论(0) 推荐(0)
摘要:本文基于icool210开发板,内核版本:linux2.6.35; 驱动代码: (1)头文件:led.h (2)代码文件:led.c (3)Makefile文件 (4)测试应用程序:app.c 操作方法: (1)编译 .ko 文件 在驱动代码路径直接执行 make (2)编译 应用程序 arm-li 阅读全文
posted @ 2017-02-22 22:21 LinuxRookie 阅读(2783) 评论(0) 推荐(0)
摘要:在配置BusyBox中配置登录密码: 配置位置BusyBox Setting --> General Configuration --> Support for --long-options [*]表示使用登录 [] 表示不使用登录 阅读全文
posted @ 2017-02-19 16:34 LinuxRookie 阅读(2117) 评论(0) 推荐(0)
摘要:(1)#cd ../rootfs/ #ln -s ./bin/busybox init 创建软链接 (2)进入Linux内核 #make menuconfig General setup-->Initial RAM filesystem and RAM disk (initramfs/initrd) 阅读全文
posted @ 2017-02-19 15:53 LinuxRookie 阅读(1116) 评论(0) 推荐(0)
摘要:(1)内核配置 取消选项 General setup-->Initial RAM filesystem and RAM disk (initramfs/initrd) support 进入File system-->Network File systems-->Root file system on 阅读全文
posted @ 2017-02-19 15:53 LinuxRookie 阅读(411) 评论(0) 推荐(0)
摘要:ARM平台使用的内核 (1)清除原有的配置与中间文件 make distclean(2)配置内核 make menuconfig ARCH=arm(3)编译内核 make uImage ARCH=arm CROSS_COMPILE=arm-linux- 阅读全文
posted @ 2017-02-19 07:45 LinuxRookie 阅读(1591) 评论(0) 推荐(0)
摘要:(1)配置内核 如何配置内核 1. make config 基于文本的交互式配置 2. make menuconfig 基于文本模式的菜单型配置 使用make menuconfig 配置内核 在配置中<>,[] <>可以用三种选择空白,*或者M,[]可以用两种选择,空白和*。 空白是不选择,*表示选 阅读全文
posted @ 2017-02-19 07:44 LinuxRookie 阅读(1519) 评论(0) 推荐(0)
摘要:(1)arch arch是architecture的缩写。内核所支持的每一种CPU体系,该目录下都有对应的子目录。 每个CPU的子目录,又进一步分解为boot、mm、kernel等子目录,分别包含控制系统引导 内存管理,系统调用等。(2)documentation 内核文档(3)drivers 设备 阅读全文
posted @ 2017-02-16 22:17 LinuxRookie 阅读(297) 评论(0) 推荐(0)
摘要:(1)System Call Interface(SCI) 系统调用接口(2)Process Management(PM) 进程管理模块(3)Memory Management(MM) 内存管理模块(4)Arch 硬件相关部分(5)Device Driver(DD) 设备驱动(6)Virtual F 阅读全文
posted @ 2017-02-16 21:56 LinuxRookie 阅读(207) 评论(0) 推荐(0)
摘要:<1> help --帮助命令环境变量相关: <2> printenv --查看环境变量也可以使用缩写:print 查看某一个环境变量的值,例子:printenv bootargs <3> setenv --添加、修改、删除环境变量 setenv name value //添加或者修改环境变量 se 阅读全文
posted @ 2017-02-16 21:37 LinuxRookie 阅读(1138) 评论(0) 推荐(0)
摘要:xxx.tar.gz : tar xvzf xxx.tar.gz xxx.tar.bz2 : tar -vxjf xxx.tar.bz2 阅读全文
posted @ 2017-02-15 21:23 LinuxRookie 阅读(161) 评论(0) 推荐(0)
摘要:自旋锁 自旋锁最多只能被一个内核任务持有。要是锁未被持有,请求它的内核任务便会立即得到它并继续执行。如果一个内核任务试图请求一个已经被别的内核任务持有的自旋锁,那么CPU就会一直尽心循环 旋转 等待锁重新可用。 Spinlock_t my_lock = SPIN_LOCK_UNLOCKED; 或者在 阅读全文
posted @ 2017-01-18 23:57 LinuxRookie 阅读(874) 评论(0) 推荐(0)
摘要:访问共享资源的代码区块叫“临界区”,临界区需要以某种互斥机制加以保护:自旋锁、信号量等。互斥访问:一个执行单元在访问共享资源的时候,其他的执行单元被禁止访问。 信号量:在Liunx中的信号量是一种睡眠锁。假如进程A先持有信号量F,然后进程B试图获取已经被进程A持有的信号量F时(假如信号量F资源值为1 阅读全文
posted @ 2017-01-18 23:13 LinuxRookie 阅读(823) 评论(0) 推荐(0)
摘要:在使用设备树时我们将**.dts文件利用dtc编译器编译为**.dtb文件。 在已知**.dtb文件的情况下我们有两种方法可以得到dts源码: 方法一:使用fdtdump工具进行反汇编 使用命令:root#fdtdump **.dtb > temp.dts 反汇编生成的内容保存在temp.dts 方 阅读全文
posted @ 2017-01-18 21:58 LinuxRookie 阅读(5255) 评论(0) 推荐(0)
摘要:Linux3.1之前的版本,对于一般的ARM平台的设备,板级信息一般存放在/arch/arm/mach-**目录下。 设备树对应的文件存放在/arch/arm/boot/dts/***.dts目录下 设备树引入的目的: 避免各个厂商代码的重复,加速linux内核的bsp的开发。编译一个镜像可以支持多 阅读全文
posted @ 2017-01-18 00:41 LinuxRookie 阅读(1965) 评论(0) 推荐(0)
摘要:DTC编译器:设备树源码DTS文件编译为二进制文件DTB。 DTC编译器的作用:就是对设备树的源码的文件进行语法检查,根据linux的内核要求检查各个节点以及属性,将设备树源码编译生成二进制文件,以保证内核能启动。 DTC编译器源文件所在位置:/scripts/dtc/*** 编译DTS:在linu 阅读全文
posted @ 2017-01-18 00:37 LinuxRookie 阅读(2851) 评论(0) 推荐(0)

1