ARM体系结构
田贝
这个作者很懒,什么都没留下…
展开
-
ARM体系结构之中断控制器
中断处理过程:中断控制器汇集各类外设发出的中断信号,然后告诉CPUCPU保存当前程序的运行环境,调用中断服务程序处理中断在ISR中通过读取中断控制器,外设的相关寄存器来识别这是哪个中断,并进行相应的处理。清除中断,通过读写中断控制器和外设相关的寄存器来实现。最后恢复被中断程序的运行环境。中断编程相比MMU、或者SDRAM是比较好理解的,因为在学习操作系统的时候,老师早就介绍了这些概原创 2014-01-22 15:13:06 · 1325 阅读 · 0 评论 -
ARM状态寄存器CPSR SPSR
ARM的状态寄存器格式如上位[31:24]为条件标志位域,用f 表示;位[23:16]为状态位域,用s 表示;位[15:8]为扩展位域,用x 表示;位[7:0]为控制位域,用c 表示;显然,常用的只有条件标志位域f和控制位域c。如果需要操作状态寄存器,比如切换处理器模式,就需要修改控制位域中的模式位。MRS: 程序状态寄存器到通用寄存器的数据传送指令原创 2014-01-23 15:35:09 · 1651 阅读 · 0 评论 -
ARM体系结构之轮询按键
这里思路跟点亮led灯是一样的,在main函数中不断查询按键的状态,然后点亮led灯,需要注意的是需要配置gpf相应引脚为输入引脚。.text.global _start_start: ldr r0, =0x53000000 mov r1, #0 str r1, [r0] ldr sp, =4096 bl main halt_hoop: b halt原创 2014-01-20 17:50:19 · 907 阅读 · 0 评论 -
ARM体系结构之点亮LED灯(C语言篇)
要在裸机上运行C语言程序,我们需要在运行C语言程序之前设置栈底指针,因为C语言中的变量与函数调用都是基于堆栈的。怎么设置栈底指针呢,一句话就可以了ldr pc,=1024*4至于为什么设置成4k,是因为的这块板子SRAM最大只有4K的地址空间。当然,我们还需要做的一件事情是关闭看门狗,这个,我也不是特别清楚,应该照做就好了吧,反正挺简单的ldr r0, =0x53000000mo原创 2014-01-20 17:12:16 · 2685 阅读 · 0 评论 -
ldr和 adr/adrl 伪指令的区别
一.首先熟悉几个arm地址相关的概念:首先arm地址有三个地址概念:编译地址、 期望运行物理地址、实际运行物理地址、相对地址、绝对地址、位置无关编译地址 :编译阶段的生成地址,其是相对地址 ,有些地址还没确定,如调用其他.O文件中的函数或库函数期望运行物理地址 :链接阶段生成的地址(期望绝对地址 ),会确定编译阶段没有确定的地址,并会根据链接器假设期望的程序烧录运行物理转载 2014-01-20 20:31:31 · 1200 阅读 · 0 评论 -
ARM体系结构之点亮LED灯
趁寒假有空,学一下ARM程序设计,熟悉一下汇编语言,也为我的嵌入式之路打下一点基础吧。。。首先看看我的板子,(s3c2440)可以看出,要使LED灯管亮,只要将nLED1置为低电平即可,就是将对应的GPIO引脚置为低电平。从上面两幅图可以发现,LED1、LED2、LED4对应着S3c2440的GPF端口,于是,通过查询手册可以知道对应寄存器的地址。于是可以开始编程了原创 2014-01-20 15:54:16 · 1308 阅读 · 0 评论 -
ARM体系结构之SDRAM
SDRAM选用了两片三星公司的K4S561632(4M*16bit*4BANK),两片拼成32位数据宽度的SDRAM存储系统,并映射到S3C2410的SROM/SDRAM的BANK6,地址范围是0x30000000~0x33FFFFFF。开发板上电启动后,自动将NandFlash开始的4K数据复制到SRAM中,然后跳转到0开始执行,然后初始化存储控制器,把程序本身从SRAM中复制到SDRA原创 2014-01-20 22:05:59 · 799 阅读 · 0 评论 -
ARM函数调用过程分析
最近回家学驾照了,没有什么时候学习,趁着空隙看下arm平台的逆向,可一上来就发现arm平台的函数调用和x86还是有很大的区别的。 ARM有16个32位的寄存器(r0到r15)。R15充当程序寄存器PCR14(link register)存储子程序的返回地址R13存储的是堆栈地址ARM有一个当前程序状态寄存器:CPSR 一些寄存器(r13,r14)在异常发生时会产生新原创 2014-12-12 21:00:29 · 2208 阅读 · 0 评论 -
ARM指令复习
1. 加法指令mvn r0, #0mov r1, #1mov r2, #3mov r3, #2 add r0, r0, r2adc r1, r1, r3原创 2016-03-06 16:10:58 · 684 阅读 · 0 评论