11 2018 档案

摘要: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 阅读(370) 评论(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 阅读(798) 评论(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 阅读(556) 评论(0) 推荐(1) 编辑
摘要:title: busybox(三)最小根文件系统 tag: arm date: 2018 11 14 17:57:08 busybox(三)最小根文件系统 [TOC] 引入 在 中,得出结论,一个最小的根文件系统需要以下几个元素 构建终端 首先来创建标准输入输出错误以及其他输出定位 查看下Linux 阅读全文
posted @ 2018-11-26 23:03 zongzi10010 阅读(651) 评论(0) 推荐(0) 编辑
摘要:title: 根文件系统之init tag: arm date: 2018 11 12 18:53:23 引入 在Kernel源码分析中,了解到 是在挂载根文件系统之后执行应用程序 打开标准输入/输出/错误 Linux首先打开标准输入 ,标准输出 ,标准错误 其实, 也是到 的链接 阅读全文
posted @ 2018-11-26 23:02 zongzi10010 阅读(722) 评论(0) 推荐(0) 编辑
摘要:title: busybox(一)浅析 tag: arm date: 2018 11 13 23:02:33 busybox(一)浅析 [TOC] 源码包在 ,一个命令对应着一个 文件,执行 命令,则是有 ,有函数 最终的目的是启动客户的应用程序,需要指定具体的环境 help 相关的帮助可以搜索下 阅读全文
posted @ 2018-11-26 23:02 zongzi10010 阅读(925) 评论(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 阅读(543) 评论(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 阅读(283) 评论(0) 推荐(0) 编辑
摘要:title: 根文件系统理解 tags: linux date: 2018 09 19 19:56:05 根文件系统理解 文件系统概念 文件系统是一些代码,是一套软件,这套软件的功能就是对存储设备的扇区进行管理,将这些扇区的访问变成了对目录和文件名的访问。我们在上层按照特定的目录和文件名去访问一个文 阅读全文
posted @ 2018-11-26 23:01 zongzi10010 阅读(1448) 评论(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 阅读(398) 评论(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 阅读(973) 评论(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 阅读(199) 评论(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 阅读(405) 评论(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 阅读(273) 评论(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 阅读(278) 评论(0) 推荐(0) 编辑
摘要:title: 红外协议解析 tags: ARM date: 2018 11 06 17:55:26 红外协议解析 设计思路 NEC红外波形是由引导码,数据码,结束码组成,不同的编码时间间隔不一致.可以采用环形缓冲区的形式先将波形存储,然后处理.环形缓冲区存储着电平状态以及持续时间. 1. 中断配置双 阅读全文
posted @ 2018-11-26 22:55 zongzi10010 阅读(265) 评论(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 阅读(396) 评论(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 阅读(757) 评论(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 阅读(403) 评论(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 阅读(489) 评论(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 阅读(383) 评论(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 阅读(876) 评论(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 阅读(959) 评论(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 阅读(288) 评论(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 阅读(697) 评论(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 阅读(457) 评论(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 阅读(358) 评论(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 阅读(1261) 评论(0) 推荐(0) 编辑
摘要:title: 反汇编Dis解析 tags: ARM date: 2018 10 21 18:02:58 反汇编dis解析 [TOC] 关于段,反汇编文件中包含了代码段,数据段,bss段,comm段和注释段. COMM段BSS段 对于全局变量来说,如果初始化了不为0的值,那么该全局变量则被保存在dat 阅读全文
posted @ 2018-11-26 22:46 zongzi10010 阅读(1788) 评论(0) 推荐(0) 编辑
摘要:title: 中断 tags: ARM date: 2018 10 22 21:04:32 2440中断 [TOC] ARM的寄存器 中断向量表如下: 可以看下uboot的 异常优先级 高优先级 1. 复位 2. 数据终止 3. 快中断 4. 中断IRQ 5. 欲取终止 低优先级 1. 未定义指令, 阅读全文
posted @ 2018-11-26 22:46 zongzi10010 阅读(324) 评论(0) 推荐(0) 编辑
摘要:title: 2440内存管理 tags: ARM date: 2018 10 17 19:08:49 2440内存管理 特性 大/小端(通过软件选择) 地址空间:每个 Bank 有 128M 字节(总共 1G/8 个 Bank) 除了 BANK0(16/32 位)之外【 引导ROM ,其总线宽度由 阅读全文
posted @ 2018-11-26 22:45 zongzi10010 阅读(421) 评论(0) 推荐(0) 编辑
摘要:title: printf不定参数 tags: C ARM date: 2018 10 21 12:14:58 不定参数的传递 函数调用时参数传递是使用堆栈来实现的,参数入栈顺序是 从右向左 ,在被调用函数 (Callee) 返回后,由调用方 (Caller)调整堆栈,由于这种约定, C调用约定允许 阅读全文
posted @ 2018-11-26 22:44 zongzi10010 阅读(403) 评论(0) 推荐(1) 编辑
摘要:title: 时钟体系 tags: ARM date: 2018 10 14 15:03:54 框图 系统框图 时钟框图 概述 FCLK 是提供给 ARM920T 的时钟 HCLK 是提供给用于 ARM920T,存储器控制器,中断控制器,LCD 控制器,DMA 和 USB 主机模块的 AHB 总线的 阅读全文
posted @ 2018-11-26 22:42 zongzi10010 阅读(399) 评论(0) 推荐(0) 编辑
摘要:title: Uart串口 tags: ARM date: 2018 10 20 16:38:28 Uart串口 和单片机的应用没什么区别,首先设置IO复用,设置波特率和数据位,以及中断相关的,简单的应用测试可以先关掉中断.从下图看到,usb转串口连接到 ,`COM1 Uart0` 程序初始化 | 阅读全文
posted @ 2018-11-26 22:42 zongzi10010 阅读(319) 评论(0) 推荐(0) 编辑
摘要:title: 链接脚本与重定位 tags: ARM date: 2018 10 12 19:25:53 链接脚本与重定位 [TOC] 学习视频 "韦东山" 总结 1. 尽量使用一体式的链接脚本,方便简单,灵活 2. 学会使用链接脚本的值 3. bss段和comm段是需要我们手动去清除的 4. 位置无 阅读全文
posted @ 2018-11-26 22:41 zongzi10010 阅读(2081) 评论(0) 推荐(0) 编辑
摘要:title: 指令速记 tags: ARM date: 2018 10 11 19:13:53 [TOC] 引入 https://www.cnblogs.com/chen farsight/p/6068905.html 使用仿真器 "ARMSim ARM汇编模拟器" 参考文档 "嵌入式Linux学习 阅读全文
posted @ 2018-11-26 22:40 zongzi10010 阅读(248) 评论(0) 推荐(0) 编辑
摘要:title: OpenOCD JTAG调试 tags: ARM date: 2018 10 13 23:36:28 [TOC] Todo [ ] JTAG 调试linux内核 [ ] linux下使用OpenOCD调试 [x] win下使用OpenOCD调试 概述 学习文档 韦东山 Eclipse, 阅读全文
posted @ 2018-11-26 22:36 zongzi10010 阅读(7267) 评论(3) 推荐(1) 编辑
摘要:title: ATPCS规则 tags: ARM date: 2018 10 14 17:03:23 ATPCS规则 ARM指令集E004armproc.chm ATPCS介绍与使用.pdf ATPCS.pdf 子程序间通过寄存器R0~R3来传递参数。被调用的子程序在返回前无须恢复寄存器R0~R3的 阅读全文
posted @ 2018-11-26 22:35 zongzi10010 阅读(1271) 评论(0) 推荐(1) 编辑
摘要:title: ARM三级流水线 tags: ARM date: 2018 10 14 16:57:10 参考: ARM指令集E004armproc.chm ARM Architecture Reference Manual.pdf PC=当前指令+8,流水线结构,解析下一条指令,读取下两条指令,PC 阅读全文
posted @ 2018-11-26 22:34 zongzi10010 阅读(575) 评论(0) 推荐(0) 编辑
摘要:title: C函数调用 tags: ARM date: 2018 10 14 16:37:10 C函数调用 [TOC] 设置SP C函数启动需要设置堆栈,因为局部变量都是存在堆栈的,函数调用也需要栈 但是2440中NAND启动和NOR启动的时候,片内RAM的地址是不一样的. NOR,0x4000, 阅读全文
posted @ 2018-11-26 22:34 zongzi10010 阅读(437) 评论(0) 推荐(0) 编辑
摘要:title: 汇编入门 tags: ARM date: 2018 09 10 19:25:53 汇编入门 [TOC] 方法 使用仿真器 "ARMSim ARM汇编模拟器" 参考文档 "嵌入式Linux学习笔记(基于S5PV210、TQ210)" "指令文档" (gnu assembler.pdf) 阅读全文
posted @ 2018-11-26 22:33 zongzi10010 阅读(486) 评论(0) 推荐(0) 编辑
摘要:title: 2440启动流程 tags: ARM date: 2018 09 10 18:59:53 2440启动流程 [TOC] NOR启动 NOR启动的时候,NOR Flash 自身地址为0,片内RAM为0x4000,0000 程序直接在NOR上读取,运行 NOR 能够像内存一样的读取 ,但不 阅读全文
posted @ 2018-11-26 22:32 zongzi10010 阅读(436) 评论(0) 推荐(0) 编辑
摘要:title: Jz2440开发板熟悉 tags: ARM date: 2018 10 14 15:05:56 概述 外部晶振为12M Nand Flash 256M,Nor Flash 2M,SDRAM 32 2=64M | 分区 | 内容 | Nand flash地址分配 | | | | | | 阅读全文
posted @ 2018-11-26 22:31 zongzi10010 阅读(278) 评论(0) 推荐(0) 编辑
摘要:title: Jz2440 环境安装 tags: linux date: 2018 09 20 22:56:05 Jz2440 环境安装 [TOC] Ubuntu 设置 现象:开启虚拟机会发现报错 Could not apply the stored configuration for monito 阅读全文
posted @ 2018-11-26 22:30 zongzi10010 阅读(216) 评论(0) 推荐(0) 编辑
摘要:title: 字符设备驱动(七)按键异步通知 tags: linux date: 2018 11 24 16:39:47 toc: true [TOC] 按键驱动方式对比 1. 查询:耗资源 2. 中断: 没有超时机制,当没有中断作为生产者,read函数一直休眠 3. poll机制,加入超时机制 上 阅读全文
posted @ 2018-11-25 17:24 zongzi10010 阅读(388) 评论(0) 推荐(0) 编辑
摘要:title: 字符设备驱动(六)按键poll机制 tags: linux date: 2018 11 23 18:57:40 toc: true 字符设备驱动(六)按键poll机制 引入 在 中的 中虽然使用了休眠,但是如果Read没有返回的话会一直死等,类似阻塞,我们期望等待一段时间后自动返回,等 阅读全文
posted @ 2018-11-25 17:19 zongzi10010 阅读(404) 评论(0) 推荐(0) 编辑
摘要:title: 字符设备驱动(五)按键优化 tags: linux date: 2018 11 23 17:56:57 toc: true 字符设备驱动(五)按键优化 [TOC] 按键值读取 Linux内部有系统函数 能够读取 的值 休眠读取 程序设计 程序设计目的: 去读取按键值,如果有按键中断触发 阅读全文
posted @ 2018-11-23 18:30 zongzi10010 阅读(285) 评论(0) 推荐(0) 编辑
摘要:title: 字符设备驱动(四)按键中断 tags: linux date: 2018 11 23 17:26:57 toc: true 字符设备驱动(四)按键中断 [TOC] 硬件IO 程序设计 中断配置 配置中断引脚,配置中断触发方式,这是在 中配置的,根据 去调用中断数组中的 结构成员进行芯片 阅读全文
posted @ 2018-11-23 18:28 zongzi10010 阅读(295) 评论(0) 推荐(0) 编辑
摘要:title: 字符设备驱动(三)中断框架 tags: linux date: 2018 11 22 18:58:22 toc: true 字符设备驱动(三)中断框架 [TOC] 引入 裸机中断流程 1. 外部触发 2. CPU 发生中断, 强制的跳到异常向量处 3. 跳转到具体函数 1. 保存被中断 阅读全文
posted @ 2018-11-22 19:47 zongzi10010 阅读(382) 评论(0) 推荐(0) 编辑
摘要:title: 字符设备驱动(二)按键点灯 tags: linux date: 2018 11 21 18:06:37 toc: true 字符设备驱动(二)按键点灯 [TOC] 数据交互 用户内存和内核内存是独立的,在各自的地址空间实现。内核与用户函数交互需要使用 和`copy_to_user`. 阅读全文
posted @ 2018-11-22 09:47 zongzi10010 阅读(348) 评论(0) 推荐(0) 编辑
摘要:title: 字符设备驱动(一)框架 tags: linux date: 2018 11 19 22:40:11 toc: true 字符设备驱动(一)框架 [TOC] 命令速记 框架结构 中`App open/close`等库函数去控制硬件设备. 1. 这些是系统的接口函数,由C库实现 2. 调用 阅读全文
posted @ 2018-11-22 09:46 zongzi10010 阅读(937) 评论(4) 推荐(2) 编辑

点击右上角即可分享
微信分享提示