自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

原创 ARM_s5pv210_porting_2

Linux系统移植引导程序(u-boot.bin) 操作系统内核(zImage) 文件系统(rootfs.cramfs)u-boot u-boot.lds start.S PC = C3E00214 PC-4 = C3E00210start.S第一阶段 1.改模式SVC,屏蔽中断 2.初始化硬件,s5pv210处理器中控制器(系统时钟,SDRAM控制器,UART控

2015-12-14 22:28:22 350

原创 ARM_s5pv210_porting_1

Linux系统移植 1.学习嵌入式课程的目的? 基于嵌入式硬件平台做程序开发,包括系统程序,应用程序 (1)基于裸板开发 没有操作系统支持,没有库,所有的代码,包括驱动和应用程序都是需要自己开发,实现相对简单的功能,可以,如果实现复杂系统,难度比较大。(2)基于操作系统 操作系统为我们提供了大量的系统调用,使用大量的库,程序员只要知道如何使用,大大降低程序的开发难度。接下来

2015-12-13 19:40:20 360

原创 ARM_s5pv210_arm_10

S5PV210启动原理: 启动过程: 开发板通过拨码开关设定为从Nand flash启动 u-boot.bin(启动程序\引导程序),烧写在Nand Flash的0地址 1.开发板上电,CPU最先执行IROM(被映射在0地址)中的代码,此代码是三星固化好的。(IROM由硬件将其映射在0地址,因此,系统上电,默认到0地址找程序执行)2.IROM判断拨码开关,从哪种设备启动系统,IROM就到Na

2015-12-11 18:48:23 401

原创 ARM_s5pv210_arm_9

异常处理: 复位异常————————SVC管理模式 未定义指令异常—————–未定义模式 SWI软中断异常—————–SVC管理模式 预取指令异常——————-中止模式 数据异常————————中止模式 中断—————————–中断模式 快速中断————————快速中断模式 异常向量表: 异常处理: CPU: 1.备份CPSR,SPSR=CPSR 2.修改CPSR (1

2015-12-05 22:17:02 449

原创 ARM_s5pv210_arm_8

回顾: 指令集: 跳转指令:B BL BX 数据处理指令: 1.数据传送 2.算术运算 3.位运算 4.比较测试 操作码{条件}S 目标寄存器,第一源操作数,第二源操作数加载存储指令: 单寄存器: LDR Rd,<地址模式> LDRB Rd,<地址模式> 基址 + 偏移量(立即数,寄存器,寄存器移位) LDRH Rd,<地址模式> LDRS

2015-12-02 23:10:06 400

原创 ARM_s5pv210_arm_7(下)

单寄存器字和无符号字节存储加载指令 地址模式: 基址+偏移量 立即数(12bit) 寄存器 寄存器移位单寄存器半字和有符号字节存储加载指令 地址模式: 基址+偏移量 立即数(8bit) 寄存器 /******************************************/ 多寄存器的存储加载指令 R10:基址寄存器 {R0,R1,R4}:源操作的寄存器

2015-12-02 20:56:39 348

原创 ARM_s5pv210_arm_7(上)

加载指令:将数据从存储器中读到寄存器 存储指令:将处理完毕的数据(寄存器)存储到存储器实现了寄存器与存储器之间的数据交互单寄存器和多寄存器 /************************************************/ 单寄存器字和无符号字节的加载指令: Rd:目标寄存器 <地址模式>:源寄存器 单寄存器的字加载指令 LDR{cond} Rd,<地址模式>

2015-12-01 17:10:22 291

原创 ARM_s5pv210_arm_6(下)

4.《Rm》,LSL 《Rs》 ADD R0 , R1 , R2 , LSL R3 //R0=R1+(R2《R3) 算术右移:空出的高位用符号位填充 ROR循环右移:移出的低位用于空出的高位的填充 RRX:扩展右移一位,将Rm寄存器的内容右移1位,空出的高位用CPSR的C位填充,并将移出的位填充CPSR的C位,只有RRX,是不需要指定移位

2015-11-24 16:01:31 380

原创 ARM_s5pv210_arm_6(上)

ARM工作模式: 管理模式 快速中断 中断 中止 未定义 系统 用户ARM运行状态: ARM状态:运行ARM指令 32 bit PC值字对齐 最后2bit为0 Thumb状态:运行Thumb指令 16bit PC值半字对齐 最后1bit为0 BX Rm寄存器 37个 32bit R0-R12 通用寄存器 R13(SP)栈顶指针 R14(LR)返回地址 BL M

2015-11-24 13:26:32 263

原创 ARM_s5pv210_arm_5(下)

通常用于函数的调用。BX:跳转范围 4G,绝对跳转 在执行该指令时,CPU会将RM的bit[0]修改CPSR的T位,PC=Rm&0xFFFFFFFE,这样既实现了CPU状态的切换,又实现了程序的跳转。

2015-11-23 22:57:12 270

原创 ARM_s5pv210_arm_5(上)

ARM 体系架构 精简指令集(RISC) 复杂指令集(CISC)ARM编程模型: 1.工作模式: 管理模式SVC:复位,执行SWI指令 快速中断FIQ:发生高优先级的中断 中断IRQ:发生低优先级的中断 中止:访问存储器发生非法情况 未定义:执行的指令,不能识别 系统: 用户: 2.工作模式的分类: 异常/非异常

2015-11-16 23:26:45 266

原创 ARM_s5pv210_arm_4

Nand Flash ’ K9K8G08U0B.pdf 1.什么是Nand Flash 存储设备,用于存储整个系统,相当于PC的硬盘 2.TPAD采用了什么Nand Flash 三星的K9K8G08U08 型号的Nand Flash 3.如何才能操作Nand Flash ,主要是对它进行读操作,写操作,校验操作 需要阅读nand flash的数据手册,该手册会详细描述如何操作

2015-11-04 21:32:11 474

原创 ARM_s5pv210_arm_3

串口 UART 通用串行异步收发器串行通信:利用一条数据线将数据一位移位的顺序传送,特点通信线路简单,成本低,使用长距离传送。并行通信:利用多条数据线将数据的各位同时传送,特点是传输速度快,适用短距离传送。异步:在一个字符的传输时间范围内保持同步即可。同步:在数据传输过程中,需要一根时钟线同步,IIC总线,SPI总线。 数据的收发器 发送方 接收方 串口通信协议:

2015-10-28 23:53:16 360

原创 ARM_s5pv210_arm_2

P141页 GPC1CON寄存器 0xE0200080 P142页 GPC1DAT寄存器 0xE0200084 P142页 GPC1PUD寄存器 0xE0200088 (上下拉电阻寄存器——禁用/使能CPU内部的上下拉电阻) 什么叫上拉电阻? 下拉电阻就是把GND和VCC对换一下 若按键按下,则输入高电平; 若按键松开,则输入低电平。 如果没有外界GND和下拉电

2015-10-25 23:01:49 308

原创 ARM_s5pv210_arm_1

S5PV210(蜂鸟)——芯片内部结构 s5pv210处理器 初步认识 三星ARM Cortex-A8 1g 32位的 处理器 寻址地址:0x0-0xFFFF FFFF(0——4G-1)相当于4gKb可以访问4gKB(字节)——线性编址 外设控制器 GPIO(通用输入输出): 将TPAD的LED1灯点亮 硬件原理图: LED1在底板,底板

2015-10-25 00:46:26 336

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除