CFM880

导航

2015年9月27日

5.1异常向量表

摘要: 异常:因为内部或者外部的一些事件,导致处理器停下正在处理的工作,转而去处理发生的事件 异常向量:7个异常向量及异常向量处理函数跳转关系,组合在一起即为异常向量表 Reset 复位异常 Undefined interrupt 未定义指令异常 Software interrupt软中断 Prefetch Abort预取指令异常 Data Abort 数据异常 Not used 没有使用 IRQ 中... 阅读全文

posted @ 2015-09-27 09:41 CFM880 阅读(841) 评论(0) 推荐(0) 编辑

2015年9月15日

3.2 ARM指令分类学习

摘要: 1 算术移位寄存器和逻辑指令 1.1 mov 传送(Move) Mov {条件} {S} , MOV从另一个寄存器、被移位的寄存器、或者一个立即数装载一个值到目的寄存器。还可以指定相同的寄存器来实 NOP 指令 MOV R0, R0 ; R0 = R0 等于 NOP 指令 MOV R0, R0, LSL#3 ; R0 = R0 * 8 如果 R15 是目的寄存器,将修改程序计数... 阅读全文

posted @ 2015-09-15 16:54 CFM880 阅读(461) 评论(0) 推荐(0) 编辑

2015年9月14日

3.1 ARM汇编编程概述

摘要: 1. 汇编编程 为什么要学习汇编 1). Bootloader初始化 2). Linux kernel 3). 高效 2. ARM汇编分类 1. ARM标准汇编:ARM公司得汇编器适合在Windows平台下使用 2. GNU汇编:适用于GNU交叉编译工具链中的汇编器,适合Linux开发平台 3. 汇编程序框架 .section .data .setction .bs... 阅读全文

posted @ 2015-09-14 13:21 CFM880 阅读(306) 评论(0) 推荐(0) 编辑

2015年9月13日

2.4 ARM寻址方式

摘要: 所谓的寻址方式就是处理器指令中给出的信息来找到指令所需要的操作数的方式 1. 立即数寻址 立即数寻址,是一种特殊的寻址方式,操作数本身就在指令中给出,只要取出指令也就取到了操作数,这个操作数被称为立即数,对应的寻址方式就叫做立即数寻址例如指令如下 ADDR0,R0,#0x3f;R0ßR0+0x3f 在以上两条指令中,第一个源操作数即为立即数,要求以"#"为前缀。 2... 阅读全文

posted @ 2015-09-13 21:34 CFM880 阅读(294) 评论(0) 推荐(0) 编辑

2.3 ARM寄存器详解

摘要: 一共有37个寄存器 1. 31个通用寄存器 2. 6个状态寄存器 R13作为堆栈指针 R14链接寄存器 1.保存函数返回地址 2. 异常返回地址 R15程序计数器(PC指针) 程序状态寄存器 只有在异常时才有程序状态寄存器 为什么有两个CPSR SPSR当异常发生时保存CPSR的地址 当异常结束时SPSR将之前保存的地址给CPSR 程序状态寄存器的数据格式 NIs se... 阅读全文

posted @ 2015-09-13 20:54 CFM880 阅读(583) 评论(0) 推荐(0) 编辑

2.2 ARM处理器工作模式

摘要: ARM Architecture Reference Manual Arm 指令框架手册 1. 处理器7种工作模式 Processor modeMode numberDescriptionUser usr0b10000Normal program execution modeFIQ ... 阅读全文

posted @ 2015-09-13 20:17 CFM880 阅读(195) 评论(0) 推荐(0) 编辑

2.1 ARM家族大检阅

摘要: 芯片名称ARM核指令架构S3C2440ARM9ARMv4TS3C6410ARM11ARMv6S5PV210Cortex A8ARMv7-A Cortex M工控 Cortex R 实时 Cortex A 多媒体 对比 S3C2440S3C6410S5PV210处理速度(MHz)400~500533~607800缓存16KB16KB32KB内存接口SDRAMSDRAM/DDRLPDDR1/D... 阅读全文

posted @ 2015-09-13 20:01 CFM880 阅读(311) 评论(0) 推荐(0) 编辑

1.5 Eclipse集成开发环境

摘要: 1. 格式化nandflash PATH路径优先用前面的 Arm-linux-gdb # .bashrc # User specific aliases and functions alias rm='rm -i' alias cp='cp -i' alias mv='mv -i' # Source global definitions if [ -f /etc/bashrc... 阅读全文

posted @ 2015-09-13 19:33 CFM880 阅读(505) 评论(0) 推荐(0) 编辑

1.4 连接器脚本

摘要: 链接脚本神奇之处 脚本的构成 段 SECTIONS{ .text: { *(.text) } .data: { *(.data) } .bss: { *(.bss) } } 设置程序链接起始位置 SECT... 阅读全文

posted @ 2015-09-13 15:46 CFM880 阅读(343) 评论(0) 推荐(0) 编辑

1.3 Makefile 工程管理

摘要: 1. 为什么得用Makefile 单步命令生成led.bin [root@cfm880 lesson1]# cd .. [root@cfm880 Part1]# mkdir lesson3 [root@cfm880 Part1]# cd lesson3 [root@cfm880 lesson3]# chmod 777 ./ [root@cfm880 lesson3]# ls led.lds le... 阅读全文

posted @ 2015-09-13 14:56 CFM880 阅读(169) 评论(0) 推荐(0) 编辑