基于Linux嵌入式系统驱动程序开发入门
文章平均质量分 94
嵌入式Linux系统以其可应用于多种硬件平台、内核高效稳定、源码开放、网络通信和文件管理机制完善等优良特性,使得越来越多的研究人员采用Linux平台来开发自己的产品。Linux设备驱动程序在Linux内核源代码中占有很大比例,从2.0、2.2到 2.4版本的内核,设备驱动程序日益增加。
嵌入式技术
这个作者很懒,什么都没留下…
展开
-
ARM Linux内核移植
ARM Linux内核移植一、内核结构1.1 Linux系统组成1.2 Linux内核代码目录结构一、内核结构1.1 Linux系统组成Linux内核主要由五个子系统组成:(1)进程调度、(2)内存管理、(3)虚拟文件系统、(4)网络接口、(5)进程间通信。1、进程调度(SCHED)进程调度控制进程对CPU的访问,当需要选择下一个进程运行时,进程调度程序选择最值得运行的进程,而在Linux系统中使用的是基于优先级的进程调度散发选择新的进程。2、内存管理(MM)Linux系统允许多个进程共享原创 2021-02-17 15:15:50 · 931 阅读 · 0 评论 -
Linux系统驱动程序开发实例
Linux系统驱动程序开发实例一、编写内核模块1.1 设备驱动程序分类Linux系统的驱动程序开发主要包括:内核模块开发、块(字符)设备驱动程序开发、网络设备驱动程序开发三大块。其中内核模块与驱动程序的区别主要体现在以下几点:(1)模块运行在内核空间,而应用程序则运行在用户空间;(2)模块只能使用内核导出的函数,而不能使用其他函数库(包括glibc库);(3)模块必须考虑到并发,所以代码必须是可重载的。一、编写内核模块1.1 设备驱动程序分类...原创 2021-02-21 19:50:01 · 1317 阅读 · 0 评论 -
Linux设备驱动开发
Linux设备驱动开发一、设备驱动程序简述1.1 设备驱动程序分类1.2 设备驱动程序相关概念二、设备驱动程序架构1.1 设备驱动程序基本架构一、设备驱动程序简述1.1 设备驱动程序分类在Linux内核源码中,设备驱动程序占有很大比例。虽然驱动程序的增加是Linux源代码的主要增长点,但是驱动程序的结构还是相对稳定的。系统调用是操作系统内核与应用程序之间的接口,设备驱动程序是操作系统内核与外部硬件之间的接口。由于设备驱动程序能为应用程序屏蔽硬件细节,这样对于Linux系统从应用程序角度来看,硬件设原创 2021-02-20 15:01:10 · 601 阅读 · 0 评论 -
GNU开发工具的使用方法
GNU开发工具的使用方法一、vi编辑器使用方法1.1 vi编辑器1.2 vi的基本命令一、vi编辑器使用方法1.1 vi编辑器vi是UNIX系统内非常常见的全屏幕文本编辑器,同样Linux系统当然也有。习惯了Windows下的文件处理后,会感到vi非常不好用。vi的意思是Visual,它是一个立即反应的编辑程序,即可以立即看到操作结果。我们为什么要学习vi呢?(1)所有类Unix系统都会内置vi文本编辑器,而其他的文本编辑器可能不存在;(2)很多软件的编辑接口都会主动调用vi;(3)vi具有具有编原创 2021-02-14 04:23:21 · 1788 阅读 · 0 评论 -
Linux应用程序开发——进程控制
Linux应用程序开发——进程控制Linux系统进程概述Linux系统进程概述进程在Linux操作系统中执行特定的任务,它是处于活动状态的计算机程序,而程序可以理解为存储在磁盘上的可执行计算机指令与数据的静态实体。进程是一个随执行过程不断变化的实体...原创 2021-02-23 20:10:25 · 180 阅读 · 0 评论 -
Linux系统进程间通信
Linux系统进程间通信一、Linux进程间通信概述二、信号Linux系统进程间通信概述一、Linux进程间通信概述Linux系统进程通信手段是基于UNIX平台的进程通信的。UNIX的进程通信机制主要包括两种:(1)针对单个计算机的system V IPC与(2)基于套接口(socket)的进程通信机制,因此,Linux系统包含这两种进程通信机制,除此之外,Liunx系统还有POSIX进程间通信方式。Linux系统的进程间通信主要包括以下几种手段:(1)管道(pipe)与有名管道(name原创 2021-03-03 17:09:26 · 731 阅读 · 0 评论 -
嵌入式操作系统
嵌入式操作系统一、嵌入式操作系统概述1.1 嵌入式操作系统的特点1.2 嵌入式操作系统的分类1.2.1 非实时操作系统1.2.1 实时操作系统二、实时操作系统2.1 实时操作系统与通用操作系统的比较2.2 实时操作系统的评价指标三、基于Linux的嵌入式操作系统3.1 ARMLinux简介3.2 uCLinux简介四、嵌入式操作系统设计方法4.1 嵌入式系统开发特点4.2 嵌入式系统开发流程嵌入式操作系统(Embedded Operating System, EOS)是一种用途广泛的系统软件,它主要负责原创 2021-01-29 15:26:35 · 1655 阅读 · 0 评论 -
BootLoader——嵌入式系统的引导加载程序
BootLoader——嵌入式系统的引导加载程序一、BootLoader的概念1.1 编译工具链引导加载程序(BootLoader)是系统上电后运行的第一段代码,在嵌入式系统中,通常没有像PC体系结构的BIOS固态启动程序,因此嵌入式系统的加载启动任务是由BootLoader来完成的。一、BootLoader的概念建立交叉编译开发工具链有两种方法:手动编译一个工具链和直接下载制作好的工具链。1.1 编译工具链在进行嵌入式开发前,需要建立一套由编译器、连接器和libc库等构成的交叉编译环境原创 2021-02-15 17:49:43 · 3434 阅读 · 0 评论 -
搭建Linux交叉编译开发环境
搭建Linux交叉开发环境一、建立交叉编译开发工具链1.1 编译工具链1.1.1 下载源文件、补丁和建立编译的目录1.1.2 建立内核头文件1.1.3 建立二进制工具(binutils)交叉编译指在一个平台上生成另一个平台可执行的代码,这里的平台包括体系结构(Architecture)和操作系统(Operating System)。同一个体系结构可以运行不同的操作系统,且同一个操作系统也可以在不同体系结构上运行。本文从两个方面讲解如何搭建Linux交叉开发环境。在两种情况下,通常需要交叉编译:第一,在原创 2021-02-02 23:06:46 · 5038 阅读 · 0 评论