摘要: title: MTD下的Nand驱动 tags: linux date: 2018/12/26/ 17:07:22 toc: true MTD下的Nand驱动 [TOC] 引入 我们从启动信息的打印入口 搜索 可以看到如下代码 ,可以看到这个是 平台设备驱动了,进入 开始分析 平台设备资源文件 搜索 阅读全文
posted @ 2018-12-26 14:18 zongzi10010 阅读(577) 评论(0) 推荐(0) 编辑
摘要: title: mkdosfs 安装 tags: linux date: 2018/12/21/ 10:00:55 mkdosfs 安装 1. 下载 2. 创建临时目录 ,` mv dosfstools_2.11.orig.tar.gz tmp/` 3. 解压 4. 编译 5. 复制,注意这里是应用程 阅读全文
posted @ 2018-12-21 13:52 zongzi10010 阅读(347) 评论(0) 推荐(0) 编辑
摘要: 块设备驱动程序 [TOC] 为什么需要块设备驱动 块设备驱动程序是针对类似 这类的设备,这类设备的写操作一般基本单位不是一个字节,而是一个块,写一个字节就要先把这个扇区先读回来再写。 总的来说,就是合并同类型操作,优化操作。先不执行,放入队列,优化后再执行 小结 应用程序通过文件系统做种调用到 来实 阅读全文
posted @ 2018-12-21 13:50 zongzi10010 阅读(416) 评论(0) 推荐(0) 编辑
摘要: title: usb驱动程序小结 tags: linux date: 2018/12/20/ 17:59:51 toc: true usb驱动程序小结 1. linux中为usb驱动也提供了一套总线驱动,类似 设备平台,这个总线为我们提供了usb总线的时序相关的东西,能够读取数据,但是他不知道数据的 阅读全文
posted @ 2018-12-21 13:49 zongzi10010 阅读(175) 评论(0) 推荐(0) 编辑
摘要: title: usb的hid鼠标键盘报告描述符 tags: linux date: 2018/12/20/ 18:05:08 toc: true usb的hid鼠标键盘报告描述符 https://blog.csdn.net/xqhrs232/article/details/79184272 鼠标 鼠 阅读全文
posted @ 2018-12-21 13:48 zongzi10010 阅读(1869) 评论(0) 推荐(0) 编辑
摘要: title: usb输入子系统写程序 tags: linux date: 2018/12/18/ 18:46:04 toc: true usb输入子系统写程序 [TOC] 目标: usb鼠标模拟一个键盘,左键 ,右键 ,中键 参考: 这是自带的USB鼠标驱动 入口函数 小结 1. 构造匹配的 以供u 阅读全文
posted @ 2018-12-21 13:47 zongzi10010 阅读(293) 评论(0) 推荐(0) 编辑
摘要: title: usb输入子系统键盘 tags: linux date: 2018/12/20/ 17:05:08 toc: true usb输入子系统键盘 参考文档 https://www.cnblogs.com/lifexy/p/7645527.html [TOC] 设计思路 1. 修改匹配的 为 阅读全文
posted @ 2018-12-21 13:47 zongzi10010 阅读(246) 评论(0) 推荐(0) 编辑
摘要: title: usb描述符简述 tags: linux date: 2018/12/18/ 18:25:23 toc: true usb描述符简述 转载自 "cnblog" 具体描述符 https://blog.csdn.net/hushiganghu/article/details/5492906 阅读全文
posted @ 2018-12-21 13:46 zongzi10010 阅读(483) 评论(0) 推荐(0) 编辑
摘要: title: linux usb总线驱动 tags: linux date: 2018/12/11/ 17:14:30 toc: true linux usb总线驱动框架 [TOC] USB 介绍 当插入一个未知的usb设备,电脑也会有相应的提示? 1. 插入有反应,是因为电脑的usb作为主机设备, 阅读全文
posted @ 2018-12-21 13:45 zongzi10010 阅读(670) 评论(0) 推荐(0) 编辑
摘要: title: linux 触摸屏驱动 tags: linux date: 2018/12/6 18:16:08 toc: true linux 触摸屏驱动 触摸屏驱动也是使用了输入子系统的框架,同时可以联想一下,也可以结合一下 总线架构.实际上给的例子也是这样的 触摸屏驱动没有新知识,混合使用输入子 阅读全文
posted @ 2018-12-10 16:44 zongzi10010 阅读(1622) 评论(0) 推荐(0) 编辑
摘要: title: lcd驱动框架 tags: linux date: 2018/12/3 15:43:23 toc: true lcd驱动框架 [TOC] 参考文档 "cnblog" 鱼树笔记 韦老师2期视频 框图 LCD设备驱动程序应该编写成 接口, 设备层是对图像设备的一种抽象,它代表了视频硬件的帧 阅读全文
posted @ 2018-12-06 11:17 zongzi10010 阅读(353) 评论(0) 推荐(0) 编辑
摘要: 恢复内容开始 title: platform驱动分离 tags: linux date: 2018/11/30 09:24:37 toc: true platform驱动分离 [TOC] 框架结构 的`bus device driver platform`设备将两个联系到一起. 简单来说,就是将以前 阅读全文
posted @ 2018-12-03 09:56 zongzi10010 阅读(255) 评论(0) 推荐(0) 编辑
摘要: title: 输入子系统 框架 tags: linux date: 2018 11 28 15:39:22 toc: true [TOC] 参考 "cnblog" 回顾引入 以前的驱动程序框架如下: 1. 使用 来实现文件的概念,也就是驱动的接口 等 2. 使用 来注册, 来卸载 3. 使用 和`c 阅读全文
posted @ 2018-11-29 11:14 zongzi10010 阅读(362) 评论(0) 推荐(0) 编辑
摘要: title: busybox(四)完善 tag: arm date: 2018 11 14 19:22:57 busybox(四)完善 [TOC] proc挂载 手动挂载 在Linux中存在着一类特殊的伪文件系统,用于使用与文件接口统一的操作来完成各种功能,例如ptyfs、devfs、sysfs和p 阅读全文
posted @ 2018-11-26 23:04 zongzi10010 阅读(694) 评论(0) 推荐(0) 编辑
摘要: title: busybox(二)编译 tag: arm date: 2018 11 13 23:14:58 busybox(二)编译 1. 解压,源码包在 , 2. 查看说明文档 ,注意不能直接使用 ,这样会安装到pc上,破坏pc. 应该要使用 3. 设置下交叉编译工具为 ,修改顶层Makefil 阅读全文
posted @ 2018-11-26 23:03 zongzi10010 阅读(537) 评论(0) 推荐(1) 编辑
摘要: title: busybox(三)最小根文件系统 tag: arm date: 2018 11 14 17:57:08 busybox(三)最小根文件系统 [TOC] 引入 在 中,得出结论,一个最小的根文件系统需要以下几个元素 构建终端 首先来创建标准输入输出错误以及其他输出定位 查看下Linux 阅读全文
posted @ 2018-11-26 23:03 zongzi10010 阅读(624) 评论(0) 推荐(0) 编辑
摘要: title: 根文件系统之init tag: arm date: 2018 11 12 18:53:23 引入 在Kernel源码分析中,了解到 是在挂载根文件系统之后执行应用程序 打开标准输入/输出/错误 Linux首先打开标准输入 ,标准输出 ,标准错误 其实, 也是到 的链接 阅读全文
posted @ 2018-11-26 23:02 zongzi10010 阅读(698) 评论(0) 推荐(0) 编辑
摘要: title: busybox(一)浅析 tag: arm date: 2018 11 13 23:02:33 busybox(一)浅析 [TOC] 源码包在 ,一个命令对应着一个 文件,执行 命令,则是有 ,有函数 最终的目的是启动客户的应用程序,需要指定具体的环境 help 相关的帮助可以搜索下 阅读全文
posted @ 2018-11-26 23:02 zongzi10010 阅读(902) 评论(0) 推荐(0) 编辑
摘要: title: kernel(一)编译体验 tags: linux date: 2018 11 06 17:27:22 [TOC] 打补丁 1. 解压 2. 打补丁,cat下补丁文件知道需要忽略第一个/ `patch p1 ,, ) 名称:模式字符串替换函数——patsubst。 功能:查找中的单词( 阅读全文
posted @ 2018-11-26 23:01 zongzi10010 阅读(522) 评论(0) 推荐(0) 编辑
摘要: title: kernel(二)源码浅析 tags: linux date: 2018 11 08 18:02:34 kernel(二)源码浅析 [TOC] 建立工程 1. 移除所有Arch,添加Arch/arm 下除了 Mach_xxx 开头的,Mach_xxx 表示机器型号,添加2410,244 阅读全文
posted @ 2018-11-26 23:01 zongzi10010 阅读(268) 评论(0) 推荐(0) 编辑
摘要: title: 根文件系统理解 tags: linux date: 2018 09 19 19:56:05 根文件系统理解 文件系统概念 文件系统是一些代码,是一套软件,这套软件的功能就是对存储设备的扇区进行管理,将这些扇区的访问变成了对目录和文件名的访问。我们在上层按照特定的目录和文件名去访问一个文 阅读全文
posted @ 2018-11-26 23:01 zongzi10010 阅读(1395) 评论(0) 推荐(0) 编辑
摘要: title: 简单BootLoader tags: linux date: 2018 09 28 23:23:05 简单BootLoader [TOC] 概述 目标: 启动内核,也就是需要读取内核到内存,也就是操作flash和内存 一个最基本的BootLoader应该有以下步骤: 1. 初始化硬件: 阅读全文
posted @ 2018-11-26 23:00 zongzi10010 阅读(385) 评论(0) 推荐(0) 编辑
摘要: title: u boot(五)内核启动 tags: linux date: 2018 09 26 19:58:05 u boot(五)内核启动 [TOC] 概述 启动命令: ,具体代码实现的重点是以下: 1. 获取环境变量 2. 启动内核,这个s= 3. 就是先读出内核,再启动内核了 备注 jff 阅读全文
posted @ 2018-11-26 22:59 zongzi10010 阅读(961) 评论(0) 推荐(0) 编辑
摘要: title: u boot(六)小结 tags: linux date: 2018 09 27 23:23:05 u boot(六)小结 [TOC] 概述 uboot 进行硬件的初始化,复制内核,将内核移动到加载地址,跳转到内核code的入口点(广义的main函数),这个函数接受机器ID用来判断是否 阅读全文
posted @ 2018-11-26 22:59 zongzi10010 阅读(195) 评论(0) 推荐(0) 编辑
摘要: title: u boot(三)启动文件 tags: linux date: 2018 09 24 20:56:05 u boot(三)启动文件 [TOC] 汇编 u boot也是一个牛逼的单片机程序,所以也就需要: 1. 硬件相关初始化 1. 看门狗 2. 时钟 3. sdram 4. nand 阅读全文
posted @ 2018-11-26 22:58 zongzi10010 阅读(377) 评论(0) 推荐(0) 编辑
摘要: title: u boot(四)命令实现 tags: linux date: 2018 09 25 23:13:05 u boot(四)命令实现 [TOC] 命令是如何实现的? 1. 输入命令 2. 执行函数,根据命令去寻找函数 所以会有一个命令的结构体[name,fun] 分析run_comman 阅读全文
posted @ 2018-11-26 22:58 zongzi10010 阅读(255) 评论(0) 推荐(0) 编辑
摘要: title: u boot(二)makefile tags: linux date: 2018 09 22 20:56:05 u boot(二)makefile [TOC] 引入 我们是怎么编译的?先执行配置 ,然后编译 .所以在顶层目录下的 一定存在这个 .我们就从这里入手 目录结构(1.1.6) 阅读全文
posted @ 2018-11-26 22:57 zongzi10010 阅读(268) 评论(0) 推荐(0) 编辑
摘要: title: 红外协议解析 tags: ARM date: 2018 11 06 17:55:26 红外协议解析 设计思路 NEC红外波形是由引导码,数据码,结束码组成,不同的编码时间间隔不一致.可以采用环形缓冲区的形式先将波形存储,然后处理.环形缓冲区存储着电平状态以及持续时间. 1. 中断配置双 阅读全文
posted @ 2018-11-26 22:55 zongzi10010 阅读(248) 评论(0) 推荐(0) 编辑
摘要: title: u boot(一)启动简介 tags: linux date: 2018 09 21 19:56:05 u boot(一)启动简介 [TOC] 启动概述 ==U boot的终极目的,是从FLASH中读出内核,加载到SDRAM中== | 系统 | | | | | | | | | | | 阅读全文
posted @ 2018-11-26 22:55 zongzi10010 阅读(380) 评论(0) 推荐(0) 编辑
摘要: title: SPI设计 tags: ARM date: 2018 11 05 15:22:59 [TOC] SPI设计 概述 在SPI协议中,有两个值来确定SPI的模式。 CPOL:表示SPICLK的初始电平,0为电平,1为高电平 CPHA:表示相位,即第一个还是第二个时钟沿采样数据,0为第一个时 阅读全文
posted @ 2018-11-26 22:54 zongzi10010 阅读(747) 评论(0) 推荐(0) 编辑
摘要: title: mmu tags: ARM date: 2018 11 05 20:22:59 原因 1. 让APP可以以同样的链接地址来编译,这样虽然是同样的链接地址,实际会映射到不同的实际地址(具体可以通过不同的pid)对应到不同的地址 2. 让大容量APP可以在资源少的系统上运行,也就是先加载部 阅读全文
posted @ 2018-11-26 22:54 zongzi10010 阅读(394) 评论(0) 推荐(0) 编辑
摘要: title: Cache tags: ARM date: 2018 11 04 12:52:02 Cache与写缓冲 引入 Cache实际上也是一块存储空间,最大的优点就是速度快.CPU和SDRAM通信速度慢,取指令,读写数据都需要等待,所以中间出现了一个Cache用来解决这个问题.计算机一般有多级 阅读全文
posted @ 2018-11-26 22:53 zongzi10010 阅读(478) 评论(0) 推荐(0) 编辑
摘要: title: iic框架 tags: ARM date: 2018 11 05 13:44:58 i2c框架 [TOC] 寄存器 主机接收 中断处理 注意 1. 连续读的最后一个字节不响应ack,以用来终止读. 2. 在读写第一个字节的时候,判断是否有ack来判断是否设备存在 写 c if (p_c 阅读全文
posted @ 2018-11-26 22:53 zongzi10010 阅读(378) 评论(0) 推荐(0) 编辑
摘要: title: LCD学习 tags: ARM date: 2018 10 28 20:18:48:59 [TOC] 引入 裸屏,也就是最终接口是RGB的信号线,需要MCU支持液晶驱动或者MCU连接液晶驱动芯片 在JZ2440连接的就是裸屏,接口一般如下: 带驱动芯片的液晶模块,类似STM32就是这么 阅读全文
posted @ 2018-11-26 22:52 zongzi10010 阅读(786) 评论(0) 推荐(0) 编辑
摘要: title: ADC触摸屏 tags: ARM date: 2018 11 02 18:35:45 ADC触摸屏 [TOC] 硬件原理 s3c2440有8通道的ADC,一次同时只能查询一个通道。分为A0~A7。这里的P(positive)表示的是正的意思 | ADC通道 | | | | | | | 阅读全文
posted @ 2018-11-26 22:52 zongzi10010 阅读(916) 评论(1) 推荐(1) 编辑
摘要: title: gcc生成含有C信息的汇编 tags: gcc date: 2018 10 24 23:40:19 https://www.cnblogs.com/fengkang1008/p/4652193.html Gas的在线文档url: Gas的命令行参数: 命令如下: 1. 反汇编o文件 2 阅读全文
posted @ 2018-11-26 22:49 zongzi10010 阅读(282) 评论(0) 推荐(0) 编辑
摘要: title: NorFlash 学习 tags: ARM date: 2018 10 19 18:31:59 NorFlash 学习 [TOC] NOR/NAND Flash的差别 | | NOR | NAND | | | | | | 容量 | 1~32MB | 16~512MB | | XIP 可 阅读全文
posted @ 2018-11-26 22:49 zongzi10010 阅读(620) 评论(0) 推荐(0) 编辑
摘要: title: NandFlash学习 tags: ARM date: 2018 10 27 20:18:48:59 NandFlash学习 [TOC] 概述 NAND是公用数据线和地址线的,所以是需要命令操作的 NAND和其他内存接口公用数据线,所以需要片选信号 NAND有位反转,所以内部存在OOB 阅读全文
posted @ 2018-11-26 22:49 zongzi10010 阅读(425) 评论(0) 推荐(0) 编辑
摘要: title: 使用Thumb tags: ARM date: 2018 10 24 19:28:32 使用Thumb [TOC] C文件使用编译选择增加 即可,修改makfile 汇编文件使用 32表示下面的指令是ARM指令,使用 表示下面的代码是Thumb指令使用bx指令表示切换到 状态.同时,t 阅读全文
posted @ 2018-11-26 22:48 zongzi10010 阅读(336) 评论(0) 推荐(0) 编辑
摘要: title: 汇编中的指令对齐 tags: ARM date: 2018 10 23 20:50:39 汇编中的指令对齐 [TOC] 搜索下官方文档的索引 ,有如下描述,也就是有两种情况,对于ARM,表示的是末尾几个0,也就是2^x了.具体填充格式可以指定 , "参考链接" For other sy 阅读全文
posted @ 2018-11-26 22:47 zongzi10010 阅读(1135) 评论(0) 推荐(0) 编辑