
ARM9自学笔记
文章平均质量分 65
sky_caicai
一步一重天
展开
-
urb介绍
urb介绍 usb requedt block 简称urb usb总线就像一条高速公路,货物、人流之类的可以看成是系统与设备交互的数据,而urb就可以看成是汽车。 USB的endpoint有四种不同类型,也就是说能在这条高速公路上流动的数据有四种,但是对汽车没有要求,所以可以用urb运载这四种数据 不过首先要告诉运什么,目的地什么原创 2016-05-18 23:46:52 · 2806 阅读 · 0 评论 -
S3C2440_系统时钟
时钟控制逻辑给时钟提供了三种时钟:FCLK用于CPU 核HCLK用于AHB总线设备,比如CPU核、存储控制器、中断控制器、LCD控制器、DMAPCLK用于APB总线设备,比如WATCHDOG、IIS控制器、PWM定时器、MMC接口、ADC需要通过时钟控制逻辑的PLL提高系统时钟。PLL有两个,MPLL和UPLL。UPLL专用于USB设备,MPLL用于FCLK、HCLK、原创 2015-05-24 13:02:06 · 738 阅读 · 0 评论 -
ARM9__中断
ARM体系的CPU有7种工作模式用户模式 usr ARM处理器正常的程序执行状态快速中断模式 fiq 用于高速数据传输或通道处理中断模式 irq 用于通用中断处理管理模式 svc 操作系统使用的保护模式数据访问终止模式 abt 虚拟存储及存储保护系统模式 sys 运行具有特权的操作系统任务未定义指令终止模式 und 支持硬件协处理器的软件原创 2015-05-18 16:55:14 · 748 阅读 · 0 评论 -
2440串口
串口发送数据的原理CPU-----(数据写入)-----FIFO----(UART自动复制)------发送移位器----(一位一位发送到)------TxDn串口接受数据的原理RxDn-----(一位一位接收到)-----接受移位器-----(复制到)-----FIFO-----(读取数据)------CPU初始化:1.波特率、传输格式(多少个数据,是否使用校验位,是原创 2015-05-30 16:39:02 · 655 阅读 · 0 评论 -
内存管理单元MMU
MMU 存储器管理单元CPU通过MMU将虚拟地址转到物理地址,当虚拟地址启动时,CPU看到的只是虚拟地址,CPU只关心发出地址,读取数据,没有虚拟地址物理地址的概念。虚拟地址最终需要转为物理地址才可以存放有效数据ARM使用虚拟地址,可能多块虚拟地址映射到同一个物理地址1 建立表格表格 将内存分成表格1个表格是1M的大小,4096个表格是4G的大小空间2 建立映射原创 2015-04-26 22:10:44 · 623 阅读 · 0 评论 -
基于SDRAM的存储管理器使用
存储管理器:管理CPU跳到哪个地址CPU运行程序会从0地址开始,通过存储管理器可以让让CPU跳到外设RAM 内存因为存储管理器内部有8个Bank,所以最多可以接8个外设,每个Bank最大可以接128M,因为有27跟线(27*1024*1024)比如读存储管理器的地址0X30000000,CPU通过对0X30000000进行访问MOV R1 #0X30000000l原创 2015-04-24 17:11:21 · 588 阅读 · 0 评论 -
2440的Nand启动
2440的Nand启动的简略图是这样的4K的SRAM的启动地址是0x0000000启动时硬件强制执行1.强制将Nand Flash前4K的内容拷贝到SRAM中(0地址)2.CPU从0地址开始执行所以说 制定代码块从0开始启动Nand启动软件初始化1.设置栈sp指向某块内存,通常情况下指向SRAM(所以通常不用初始化),如果指向SDRAM需要初始化原创 2015-04-22 23:56:36 · 569 阅读 · 0 评论 -
ARM9自学笔记_GPIO设置
#define GPFCON (*(volatile unsigned long *)0x56000050)#define GPFDAT (*(volatile unsigned long *)0x56000054)#define GPGCON (*(volatile unsigned long *)0x56000060)#define GPGDA原创 2015-03-25 00:11:27 · 1171 阅读 · 0 评论 -
ARM9自学笔记_汇编指令1
转自http://blog.youkuaiyun.com/yam_killer/article/details/7901363ARM9汇编指令总结1、 LDR指令Arm指令集中,LDR既可以做为加载指令,也可以作为伪指令。1) LDR pc, =MyHandleIRQ ;表示将MyHandleIRQ符号放入pc寄存器中eg:COUNT EQU转载 2015-03-25 00:16:17 · 939 阅读 · 1 评论 -
input_dev结构体设计
input_dev结构体 在输入子系统的设备驱动中,最重要的数据结构是struct input dev。需要完成的大部分工作都是围绕着而来的,是驱动的主体,每个struct input_dev代表一个输入设备。1 如何分配一个input_dev结构体 sturct input_dev * uk_dev uk_dev = input_allocate_device();2原创 2016-05-18 23:49:16 · 2396 阅读 · 0 评论