![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
嵌入式Linux
文章平均质量分 72
zhuwenfeng215
这个作者很懒,什么都没留下…
展开
-
linux内核子系统
1.linux内存管理子系统 1.1内存管理模型 1.2地址映射管理 1.2.1虚拟地址空间的分布 对于32位的系统,寻址范围为4G,0-3G为用户空间,即运行应用程序。3-4G为内核空间,内核空间又被划分为4个部分,这4个部分分别为: 1.直接映射区,内存范围为3G到3G+896M,包括数据区和代码区,映射关系简单 2.vmalloc区 3.永久内核映射 4.固定映射的线性地原创 2015-04-16 16:13:25 · 767 阅读 · 0 评论 -
字符设备驱动模型
1.使用字符驱动程序 1.编译/安装驱动 在linux系统中,驱动程序通常采用内核模块的程序结构来进行编码。因此,编译/安装一个驱动程序,其实质就是编译/安装一个内核模块。 2.字符设备文件 通过字符设备文件,应用程序可以使用相应的字符设备驱动程序来控制字符设备。创建字符设备文件的方法一般有两种: * 使用mknod命令 mknod /dev/文件名 c 主设备号 次设备号(c代表是字原创 2015-04-24 09:55:04 · 576 阅读 · 0 评论 -
linux驱动开发前奏
1.驱动开发概述 驱动分类: 1.常规分类:字符设备,块设备,网络设备 字符设备:是一种按字节来访问的设备,字符驱动则负责驱动字符设备,这样的驱动通常实现open,close,read等系统调用,例如:串口,LED,按键 块设备:在大部分unix系统中,块设备定义为:以块(通常是512字节)为最小传输单位的设备,块设备不能按字节处理数据。 而linux则允原创 2015-04-23 19:12:40 · 445 阅读 · 0 评论 -
linux内核链表
1. 链表对比 1. 内核链表为双向循环链表,结构如下: struct list_head { struct list_head *next,*prev; };2. 内核链表-函数 1. INIT_LIST_HEAD: 创建链表 2. list_add: 在链表头插入节点 3. list_add_tail: 在链表尾插入节点 4. list_del:原创 2015-04-18 21:26:10 · 333 阅读 · 0 评论 -
内核模块的开发
1.内核模块设计 1.1范例代码helloworld.c #include #include static int hello_init(void) { printk(KERN_WARNING"hello,world\n"); return 0; } static void hello_exit(void) { printk(KERN_WARNING"goodby,world\n原创 2015-04-15 10:31:55 · 392 阅读 · 0 评论 -
Uboot新手入门
1. 编译Uboot 将uboot_ok6410.tar拷贝到linux下,执行解压缩,然后进入uboot_ok6410,通过vi Makefile进入Makefile,命令/6410找到开发板对应的配置项,名称为 forlinx_nand_ram256_config原创 2015-04-02 08:15:23 · 459 阅读 · 0 评论 -
嵌入式linux内核制作
1.1 linux体系结构 1.为什么linux会被划分为用户空间和内核空间? 答:ARM处理器提供其中工作模式:用户模式(usr),快速中断(Fiq),外部中断(irq),管理模式(svc),数据访问终止(abt),系统模式(sys),未定义指令异常(und),在不同的工作模式下拥有的权限是不一样的,linux利用这一机制,使用了两级来运行应用程序和linux内核,这样使操作原创 2015-04-08 15:12:40 · 977 阅读 · 0 评论 -
根文件系统的制作
1.建立根文件系统目录与文件 1.1创建目录 mkdir rootfs cd rootfs mkdir bin dev etc lib proc sbin sys usr mnt tmp var mkdir usr/bin usr/lib usr/sbin lib/modules 1.2创建设备文件 cd rootfs/dev mknod -m 666 console c 5原创 2015-04-12 10:28:58 · 322 阅读 · 0 评论 -
字符设备控制技术
字符设备控制技术 设备控制理论 控制理论-作用 大部分驱动程序除了需要提供读写设备的能力外,还需要具备控制设备的能力。比如改变波特率。 设备控制-应用函数 在用户空间,使用ioctl系统调用来控制设备,原型如下: int ioctl(int fd, unsigned long cmd, ...) fd:要控制的设备文件描述符 cmd:发送给设备的控制命令 ...:第三个参数为可选参数,原创 2015-04-26 08:58:53 · 356 阅读 · 0 评论