摘要:
专题20-SPI驱动程序设计 第1课-SPI总线介绍 SPI(Serial Peripheral Interface)串行外设接口,是一种高速的,全双工,同步的通信总线。采用主从模式(Master Slave)架构,支持多个slave,一般仅支持单Master。 SPI接口共有4根信号线,分别是:设 阅读全文
posted @ 2019-09-03 12:24
free-锻炼身体
阅读(324)
评论(0)
推荐(0)
摘要:
专题21-USB驱动程序设计 第1课-USB总线介绍 USB(Universal Serial Bus ),通用串行总线,是一种外部总线标准,用于规范电脑与外部设备的连接和通讯。USB是在1994年底由英特尔、康柏、IBM、Microsoft等多家公司联合提出的,自1996年推出后,已成功替代串口和 阅读全文
posted @ 2019-09-03 12:24
free-锻炼身体
阅读(384)
评论(0)
推荐(0)
摘要:
专题19-I2C驱动程序设计 第1课-I2C总线介绍 (1) 电气特性 I2C(Inter-Integrated Circuit)总线是由PHILIPS公司开发的两线式串行总线,用于连接微控制器及其外围设备。 I2C总线只有两根双向信号线。SDA: Serial Data Line-数据线SCL : 阅读全文
posted @ 2019-09-03 12:23
free-锻炼身体
阅读(184)
评论(0)
推荐(0)
摘要:
专题17-LCD驱动程序设计 第1课-LCD驱动程序架构 https://www.cnblogs.com/lishixian/articles/2999923.html 第2课-LCD驱动程序分析 第3课-LCD驱动程序实现 阅读全文
posted @ 2019-09-03 12:22
free-锻炼身体
阅读(122)
评论(0)
推荐(0)
摘要:
专题18-FLASH驱动程序设计 第1课-块设备驱动系统架构 块设备是指只能以块为单位进行访问的设备,块大小一般是512个字节的整数倍。常见的块设备包括硬件,SD卡,光盘等。 l insmod simple-blk.ko l ls /dev/simp_blkdev0 l mkfs.ext3 /dev 阅读全文
posted @ 2019-09-03 12:22
free-锻炼身体
阅读(250)
评论(0)
推荐(0)
摘要:
专题5-触摸屏驱动程序设计 第1课-输入子系统模型解析 输入子系统由设备驱动层(input device driver),核心层(input core)和事件驱动层(event driver)三部份组成。任何一次输入事件,如鼠标移动,按 键按下,都需要通过InputDeviceDriver->Inp 阅读全文
posted @ 2019-09-03 12:21
free-锻炼身体
阅读(198)
评论(0)
推荐(0)
摘要:
专题15-网卡驱动程序设计 第1课-网卡驱动架构分析 l Linux网络子系统 l 系统调用接口层:为应用程序提供访问网络子系统的统一方法。 l 协议无关层:提供通用的方法来使用传输层协议。 l 协议栈的实现:实现具体的网络协议 l 设备无关层:协议与设备驱动之前通信的通用接口 l 设备驱动程序 在 阅读全文
posted @ 2019-09-03 12:20
free-锻炼身体
阅读(194)
评论(0)
推荐(0)
摘要:
专题14-串口驱动程序设计 第1课-tty驱动架构 在Linux系统中,终端是一类字符型设备,它包括多种类型,通常使用tty来简称各种类型的终端设备。 l 串口终端(/dev/ttyS*) 串口终端是使用计算机串口连接的终端设备。Linux 把每个串行端口都看作是一个字符设备。这些串行 端口所对应的 阅读全文
posted @ 2019-09-03 12:19
free-锻炼身体
阅读(314)
评论(0)
推荐(0)
摘要:
专题2-总线设备驱动模型 第1课-总线设备驱动模型 随着技术的不断进步,系统的拓扑结构也越来越复杂,对热插拔,跨平台移植性的 要求也越来越高,2.4内核已经难以满足这些需求。为适应这种形势的需要,从Linux 2.6内核开始提供了全新的设备模型。 (1) 描述结构 在Linux 内核中, 总线由bu 阅读全文
posted @ 2019-09-03 12:18
free-锻炼身体
阅读(177)
评论(0)
推荐(0)
摘要:
专题11-LED驱动程序设计 第1课-字符设备控制 (1)作用 大部分驱动程序除了需要提供读写设备的能力外,还需要具备控制设备的能力。比如: 改变波特率。 (2)应用程序接口 在用户空间,使用ioctl系统调用来控制设备,原型如下: int ioctl(int fd,unsigned long cm 阅读全文
posted @ 2019-09-03 12:17
free-锻炼身体
阅读(146)
评论(0)
推荐(0)
摘要:
专题12-按键驱动程序设计 第1课-混杂设备驱动模型 在Linux系统中,存在一类字符设备,它们拥有相同的主设备号(10),但次设备号不同,我们称这类设备为混杂设备(miscdevice)。所有的混杂设备形成一个链表,对设备访问时内核根据混杂设备形成一个链表,对设备访问时内核根据次设备号查找到相应的 阅读全文
posted @ 2019-09-03 12:17
free-锻炼身体
阅读(177)
评论(0)
推荐(0)
摘要:
专题9-Linux驱动开发前奏 第1课-驱动开发概述 常规分类法:字符设备,块设备,网络设备。 (1) 字符设备驱动 字符设备是一种按字节来访问的设备,字符驱动则负责驱动字符设备,这样的 驱动通常实现open, close, read和write 系统调用。例:串口,LED,按键。 (2) 块设备驱 阅读全文
posted @ 2019-09-03 12:16
free-锻炼身体
阅读(101)
评论(0)
推荐(0)
摘要:
专题10-字符设备驱动模型 第1课-使用字符驱动程序 在Linux系统中,驱动程序通常采用内核模块的程序结构来进行编码。因此,编译/安装一个驱动程序,其实质就是编译/安装一个内核模块。 例子:字符设备驱动程序 编写makefile文件: obj-m := memdev.o KDIR := /home 阅读全文
posted @ 2019-09-03 12:16
free-锻炼身体
阅读(122)
评论(0)
推荐(0)
摘要:
专题7-Linux内核链表 链表是一种常用的数据结构,它通过指针将一系列数据节点连接成一条数据链。相对于数组,链表具有更好的动态性,建立链表时无需预先知道数据总量,可以随机分配空间,可以高效地在链表中的任意位置实时插入或删除数据。链表的开销主要是访问的顺序性和组织链的空间损失。 传统链表与Linux 阅读全文
posted @ 2019-09-03 12:15
free-锻炼身体
阅读(155)
评论(0)
推荐(0)
摘要:
专题8-Linux系统调用 在前面的学习中,我们涉及到许多的系统调用函数,如:open、close、read、write等等,但是我们对其调用机制不是太了解。 我们知道linux系统存在内核空间与用户空间,内核空间中的程序需要被用户空间的应用程序引用到,能完成这个调用过程的函数就叫做系统调用函数 应 阅读全文
posted @ 2019-09-03 12:15
free-锻炼身体
阅读(141)
评论(0)
推荐(0)
摘要:
专题6-Linux内核子系统 第1课-Linux内存管理子系统 1. 内存管理模型 (1)子系统简介 System Call Interface(SCI)系统调用接口 Process Management(PM) Virtual File System(VFS)虚拟文件系统 Memory Manag 阅读全文
posted @ 2019-09-03 12:14
free-锻炼身体
阅读(142)
评论(0)
推荐(0)
摘要:
专题5-内核模块开发 第1课-内核模块基础 什么是内核模块? Linux内核的整体结构非常庞大,其中包含的组件也非常多,如何使用这些组件呢,方法1:把所有的组件都编译到内核文件中,即:zImage或者bzImage,但是这样会导致一个问题:内存占用过多。 有没有一种机制能让内核文件本身并不包含某组件 阅读全文
posted @ 2019-09-03 12:13
free-锻炼身体
阅读(142)
评论(0)
推荐(0)
摘要:
专题3-嵌入式Linux内核制作 一.linux内核简介 (1)Linux系统是怎么构成的? (2)为什么linux系统分为了用户空间和内核空间? 现代CPU通常实现了不同的工作模式,以ARM为例,就实现了7中工作模式: 用户模式(usr),快速中断(fiq),外部中断(irq)、管理模式(svc) 阅读全文
posted @ 2019-09-03 12:12
free-锻炼身体
阅读(113)
评论(0)
推荐(0)
摘要:
专题4-嵌入式文件系统 目录和目录中的文件就是文件系统。 (1) 创建目录 #mkdir rootfs #cd rootfs #mkdir bin dev etc lib proc sbin sys usr mnt tmp var #mkdir usr/bin usr/lib usr/sbin li 阅读全文
posted @ 2019-09-03 12:12
free-锻炼身体
阅读(171)
评论(0)
推荐(0)
摘要:
专题2-U-Boot新手入门 对于u-boot的使用主要分为两个方面,一个方面是u-boot的使用,另一个是它的开发。 2.1 编译u-boot 嵌入式的层次:bootloader(u-boot),linux内核,根文件系统。 1. 配置U-Boot TQ210: make TQ210_config 阅读全文
posted @ 2019-09-03 12:11
free-锻炼身体
阅读(182)
评论(0)
推荐(0)
摘要:
专题1-课程规划与学习方法 1. 课程规划 本课程分上下两季,上季和下季各十个专题。这20个专题的课程一共分为三大部分。分别是:嵌入式环境搭建(2-4),linux内核开发基础(5-8),驱动开发(9-20)。 (1)核心理论学习(概念与函数原型) (2)范例程序分析 (3)思维导图设计 (4)手把 阅读全文
posted @ 2019-09-03 12:10
free-锻炼身体
阅读(178)
评论(0)
推荐(0)
摘要:
专题20-移植bootm命令启动内核 第1课-bootm命令移植 第2课-gboot系统测试 阅读全文
posted @ 2019-09-03 12:09
free-锻炼身体
阅读(165)
评论(0)
推荐(0)
摘要:
专题19-移植tftp客户端 第1课-tftp网络协议分析 (1) tftp交互过程 (2) tftp报文格式 第2课-tftp网络协议实现 阅读全文
posted @ 2019-09-03 12:08
free-锻炼身体
阅读(171)
评论(0)
推荐(0)
摘要:
专题18-网卡搭建新通道 第1课-网卡基本工作原理 (1) OSI七层模型 OSI(Open SystemInterconnection),开放式系统互联参考模型。它把网络协议从逻辑上分为了7层。通过七个层次使不同的系统网络之间实现可靠的通讯。 (2) Linux四层模型 OSI参考模型的过于庞大、 阅读全文
posted @ 2019-09-03 12:07
free-锻炼身体
阅读(213)
评论(0)
推荐(0)
摘要:
专题17-触摸屏显身手 第1课-触摸屏工作原理解析 触摸屏作为一种输入设备,是目前最简单、方便的一种人机交互方式,具有坚固耐用、反应速度快、节省空间、易于交流等许多优点。 从技术原理来区别触摸屏,可分为5类: (1)电阻式触摸屏 (2)电容式触摸屏 (3)红外线技术触摸屏 (4)表面声波技术触摸屏 阅读全文
posted @ 2019-09-03 12:04
free-锻炼身体
阅读(210)
评论(0)
推荐(0)
摘要:
专题15-快车道DMA 第1课-DMA原理解析 DMA(Direct Memory Access,直接内存存取) 是所有现代电脑的重要特色,它允许不同速度的硬件装置来沟通,而不需要依赖于 CPU 的大量中断负载。否则,CPU 需要从来源把每一片段的资料复制到暂存器,然后把它们再次写回到新的地方。在这 阅读全文
posted @ 2019-09-03 12:03
free-锻炼身体
阅读(165)
评论(0)
推荐(0)
摘要:
专题6-LCD亮起来 第1课-LCD工作原理解析 (1) LCD液晶屏 液晶属于一种有机化合物,分子形状为长棒状,在不同的电流作用下,分子会做有规律的旋转,这样对光线(背光灯产生)产生了一定的控制,形成一个像素,而很多像素又可构成完整图象。 STN液晶屏;GF液晶屏;TFT液晶屏;TFD液晶屏 LC 阅读全文
posted @ 2019-09-03 12:03
free-锻炼身体
阅读(438)
评论(0)
推荐(0)
摘要:
专题14-串口来做控制台 第1课-串口工作常识 数据分析,充当控制台 串口通讯,分为同步通讯和异步通讯,我们通常使用的都是异步串口。通讯时,双方先约定好数据帧的格式,即波特率,数据位,停止位,奇偶校验位等。 波特率:这是一个衡量通信速度的参数。它表示每秒钟传送的bit的个数。例如300波特表示每秒钟 阅读全文
posted @ 2019-09-03 11:58
free-锻炼身体
阅读(241)
评论(0)
推荐(0)
摘要:
专题2-通过按键玩中断 第1课-中断处理流程深度剖析 一. 中断概念 CPU在工作的过程中,经常需要与外设进行交互,交互的方式包括“轮询方式”,“中断方式”。 CPU不断地查询设备的状态。该方式实现比较简单,但是CPU利用率很低,不适合多任务的系统。 CPU在告知硬件开始一项工作后,就去做别的事去了 阅读全文
posted @ 2019-09-03 11:57
free-锻炼身体
阅读(202)
评论(0)
推荐(0)
摘要:
专题3-NandFlash变硬盘 第1课-NandFlash原理解析 在电脑中有硬盘,它是用来存储文件的。嵌入式系统是防电脑的系统,在嵌入式系统中,NandFlash就相当于硬盘的存在。 2.1 根据物理结构上的区别,NandFlash主要分为如下两类: l SLC(Single Level Cel 阅读全文
posted @ 2019-09-03 11:57
free-锻炼身体
阅读(283)
评论(0)
推荐(0)
摘要:
专题1-世界一下变大了-MMU 历史 许多年以前,当人们还在使用DOS或是更古老的操作系统的时候,计算机的内存还非常小,一般都是以K为单位进行计算,相应的,当时的程序规模也不大,所以内存容量虽然小,但还是可以容纳当时的程序。但随着图形界面的兴起还有用户需求的不断增大,应用程序的规模也随之膨胀起来,终 阅读全文
posted @ 2019-09-03 11:56
free-锻炼身体
阅读(274)
评论(0)
推荐(0)
摘要:
专题10-C语言环境初始化 Bootloader的前半部分需要汇编语言的使用,后半部分需要 C语言的使用。 第一课.栈的初始化 一.概念解析 栈是一种具有后进先出性质的数据组织方式,也就是说后存放的先取出,先存放的后取出。栈底是第一个进栈的数据所处的位置,栈顶是最后一个进栈的数据所处的位置。 (1) 阅读全文
posted @ 2019-09-03 11:33
free-锻炼身体
阅读(344)
评论(0)
推荐(0)
摘要:
专题9--代码搬移不可少 假设都是从nand flash启动的 2440:从nand flash启动需要垫脚石(SRAM)的作用,垫脚石只有4kb。u-boot的大小一般就有100kb左右,垫脚石先将nand flash中的4kb内容拷贝其中,之火垫脚石将多余的内存拷贝到内存中。 6410:它一上电 阅读全文
posted @ 2019-09-03 11:32
free-锻炼身体
阅读(181)
评论(0)
推荐(0)
摘要:
专题8-不用内存怎么行 第一课-我从内部看内存 内存由于具有访问速度快,访问方式简单等优点,成为了PC或者是嵌入式硬件平台上不可或缺的原件。 DRAM:它的基本原件是小电容,电容可以在两个极板上保留电荷,但是需要定期的充电(刷新),否则数据就会丢失。缺点:由于要定期刷新存储介质,存取速度较慢 SRA 阅读全文
posted @ 2019-09-03 11:31
free-锻炼身体
阅读(345)
评论(0)
推荐(0)
摘要:
专题6-点亮指路灯 1. LED原理图分析 在嵌入式系统软件(bootloader, kernel)开发初期,由于串口等硬件尚未被初始化,因此调试手段相当有限,这时通常会采用LED来作为程序调试的重要手段。 左边的图是低电平导通,右边的图是高电平导通。 LED的引脚究竟接在哪里是依靠核心板的电路图来 阅读全文
posted @ 2019-09-03 11:30
free-锻炼身体
阅读(400)
评论(0)
推荐(0)
摘要:
专题7-ARM跑快了 时钟初始化 一.概念解析 1.时钟脉冲信号 时钟脉冲信号:按一定的电压幅度,一定的时间间隔连续发出的脉冲信号。时钟脉冲信号是时序逻辑的基础,它用于决定逻辑单元中的状态核实更新。数字芯片中众多的晶体管都工作在开关状态,他们的导通和管段动作无不适按照时钟信号的节奏进行的。 2.时钟 阅读全文
posted @ 2019-09-03 11:30
free-锻炼身体
阅读(1091)
评论(0)
推荐(0)
摘要:
专题5-核心初始化 第1课-异常向量表 一.概念解析 因为内部或者外部的一些事,导致处理器停下正在处理的工作,转而出处理这些发生的事件。 Arm处理器有七种异常类型,依次是:重启键,用户自己的命令未识别,软中断,预取指令识别,取数据失败,中断,快速中断。 当一种异常发生的时候,ARM处理器会跳转到对 阅读全文
posted @ 2019-09-03 11:29
free-锻炼身体
阅读(395)
评论(0)
推荐(0)
摘要:
专题4-我是bootloader设计师 第1课-Bootloader设计蓝图 (1)Bootloader; (2)boot parameters; (3)kernel; (4)boot filesystem 以上的四步是嵌入式系统的启动流程,其中的bootloader相当于一个助推器,可以启动lin 阅读全文
posted @ 2019-09-03 11:28
free-锻炼身体
阅读(208)
评论(0)
推荐(0)
摘要:
专题3-汇编语言得玩转 第1课-汇编概述 1.为什么学习汇编指令 以后的工作中我们用的都是中高端的处理器,基本不会用汇编去编程完成这个产品。但是在bootloader和内核的编程中我们都是要用汇编语言的,这期间c语言的运行环境还没有搭建。在对效率有有特殊要求的地方我们还是需要汇编语言的。 2.分类 阅读全文
posted @ 2019-09-03 11:27
free-锻炼身体
阅读(409)
评论(0)
推荐(0)
摘要:
专题2-我从内部看ARM 第一课-家族检阅 一.用的型号 芯片:6410(A11,三星公司);2440(A9,三星公司);210(A8,三星公司) Arm核:ArmA8(v7);ArmA9(v4指令架构);Arm11(V6) 指令架构:ArmV6;ArmV7,ArmV4 芯片之中包含arm核,核包含 阅读全文
posted @ 2019-09-03 11:26
free-锻炼身体
阅读(342)
评论(0)
推荐(0)
摘要:
专题0-课程规划 一.为什么要学习裸机开发。 为了更好地了解硬件。但是我们却很少用到这种开发模式,无法像单片机一样跑裸机程序。 二.课程思路 (1)硬件相关的理论 (2)导读芯片手册 (3)思维导图设计 (4)程序设计 (5)在线调试程序 阅读全文
posted @ 2019-09-03 11:25
free-锻炼身体
阅读(123)
评论(0)
推荐(0)

浙公网安备 33010602011771号