文章分类 -  ARM

ARM 启动及工作模式切换
摘要:一、原理S3C2410 是三星公司基于ARM920T 设计的一款处理器,在开发基于S3C2410 的系统的过程中,如何让系统快速稳定地启动是一个重要问题。嵌入式系统的资源有限,程序通常都是固化在ROM 中运行。但在实际应用中,为提高系统的实时性,加快代码的执行速度,系统启动后程序往往要被搬移到RAM 中,因为RAM 的存取速度要比ROM 快得多,这样大大提升系统的性能。启动程序要完成的任务包括:硬件初始化,系统存储系统的配置,复制二级中断向量表。二、启动程序过程● 系统硬件初始化系统上电或复位后,程序从位于地址0x0 的Reset Exception Vector 处开始执行,因此需要在这里放 阅读全文

posted @ 2012-02-07 21:39 不知道 阅读(5307) 评论(0) 推荐(2)

ARM协处理器
摘要:ARM 微处理器可支持多达 16 个协处理器,用于各种协处理操作,在程序执行的过程中,每个协处理器只执行针对自身的协处理指令,忽略 ARM 处理器和其他协处理器的指令。ARM 的协处理器指令主要用于 ARM 处理器初始化 ARM 协处理器的数据处理操作,以及在ARM 处理器的寄存器和协处理器的寄存器之间传送数据,和在 ARM 协处理器的寄存器和存储器之间传送数据。 ARM 协处理器指令包括以下 5 条: — CDP 协处理器数操作指令— LDC 协处理器数据加载指令— STC 协处理器数据存储指令— MCR ARM 处理器寄存器到协处理器寄存器的数据传送指令— MRC 协处理器寄存器到ARM 阅读全文

posted @ 2012-02-07 09:51 不知道 阅读(385) 评论(0) 推荐(0)

堆栈段可读可写可执行
摘要:代码段里面是可执行代码,段属性可读可执行不可写数据段里是堆/全局变量和静态变量.....,段属性是可读可写不可执行堆栈段里面是返回地址/局部变量......段属性是可读可写可执行这个代码段可执行我能够理解,因为里面装的就是像一条一条的汇编命令,好像是有个什么指针,指针指到那条命令就执行该命令。请问这个堆栈段说的“可执行”是什么意思?它不是专门放数据的吗,它里面怎么放命令,我程序编译后的代码可执行命令不是都应该放到代码段吗,怎么能跑到堆栈段里。 请大家指点一下,小弟先在此谢过了。回答1:堆栈段也是可以执行的,你说的只是一般情况而已,其实是可以设置页属性在堆栈段执行代码的。LINUX内核中关于信号 阅读全文

posted @ 2012-02-06 20:31 不知道 阅读(3691) 评论(1) 推荐(0)

ARM编译工具说明网站
摘要:http://www.cl.cam.ac.uk/teaching/1998/CompDesn/fromlecturer/htmlman/ 阅读全文

posted @ 2012-01-06 14:31 不知道 阅读(140) 评论(0) 推荐(0)

APCS
摘要:APCS 简介(ARM 过程调用标准)介绍寄存器命名设计关键一致性栈回溯结构实际参数函数退出建立栈回溯结构APCS 标准对编码有用的东西 介绍APCS,ARM 过程调用标准(ARM Procedure Call Standard),提供了紧凑的编写例程的一种机制,定义的例程可以与其他例程交织在一起。最显著的一点是对这些例程来自哪里没有明确的限制。它们可以编译自 C、 Pascal、也可以是用汇编语言写成的。APCS 定义了:对寄存器使用的限制。使用栈的惯例。在函数调用之间传递/返回参数。可以被‘回溯’的基于栈的结构的格式,用来提供从失败点到程序入口的函数(和给予的参数)的列表。APCS 不一个 阅读全文

posted @ 2012-01-06 14:14 不知道 阅读(4809) 评论(0) 推荐(0)

L4 编译方法
摘要:· 2005-08-16pistachio (L4微内核的编译方法)版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明http://yonsan.blogbus.com/logs/1361719.htmlBuilding L4 Pistachio for ia32 HOWTO1. IntroductionBecause the L4Ka:Pistachio (which we will simply refer to as L4 orPistachio) distribution doesn't exactly provide easy to find (muc 阅读全文

posted @ 2011-10-11 14:11 不知道 阅读(563) 评论(0) 推荐(0)

ARM编译空间属性
摘要:1. 程序的空间属性一般情况下,一个程序本质上都是由 bss段、data段、text段三个组成的——本概念是当前的计算机程序设计中是很重要的一个基本概念。而且在嵌入式系统的设计中也非常重要,牵涉到嵌入式系统运行时的内存大小分配,存储单元占用空间大小的问题。BSS段:BSS段(bss segment)通常是指用来存放程序中未初始化的全局变量的一块内存区域。BSS是英文Block Started by Symbol的简称。BSS段属于静态内存分配。数据段:数据段(data segment)通常是指用来存放程序中已初始化的全局变量的一块内存区域。数据段属于静态内存分配。代码段:代码段(code se 阅读全文

posted @ 2011-10-10 09:41 不知道 阅读(3495) 评论(0) 推荐(1)

LCD各种分辨率
摘要:QVGA = 320 * 240;WQVGA = 320 * 480;WQVGA2 = 400 * 240;WQVGA3 = 432 * 240;HVGA = 480 * 320;VGA = 640 * 480;WVGA = 800 * 480;WVGA2 = 768 * 480;FWVGA = 854 * 480;DVGA = 960 * 640;PAL = 576 * 520;NTSC = 486 * 440;SVGA = 800 * 600;WSVGA = 1024 * 576;XGA = 1024 * 768;XGAPLUS = 1152 * 864;HD720 = 1280 * 72 阅读全文

posted @ 2011-10-05 01:27 不知道 阅读(806) 评论(0) 推荐(0)

ARM920T虚拟地址原理分析及实现
摘要:第五章 虚拟内存及缓冲区管理在刚开始接触TQ2440并测试TEST程序时,当时就产生了一个疑惑,把程序下载到NAND和SDRAM中,其中断均能正确执行,当时以为,程序有可能采用了动态添加中断向量技术,即在SDRAM中运行时在向量0x18处添加跳转指令的二进制编码。虽然能够实现,但在实际编程时会非常麻烦。ARM采用了虚拟内存映射技术即MMU,负责虚拟地址到物理地址的映射,并提供硬件机制的内存访问权限检查,通过使用CACHE及WRITE BUFFER技术缩小处理器和存储系统的差别,从而提高系统的整体性能。在系统加电时,将ROM/FLASH映射为地址0,进行一些初始化工作并将程序加载到SDRAM中去 阅读全文

posted @ 2011-09-21 00:38 不知道 阅读(3026) 评论(0) 推荐(0)

学习 ARM 系列 -- FS2410 开发板上启用 MMU 实现虚拟内存管理
摘要:一、背景 FS2410 开发板上的 ARM 核心为 ARM920T, ARM920T 代表着什么呢? 其实ARM920T = ARM9 core + MMU + Cache,也就是说 ARM920T 为实现虚拟内存管理提供了硬件条件,这个硬件条件就是 MMU -- 内存管理单元。前面的实验我们程序里的地址都是直接对应物理地址,也就是说虚拟地址等同于物理地址,而今借助 MMU 我们可以实现虚拟内存管理,程序里面的地址不再被直接送到地址总线,而是先通过 MMU,由 MMU 来实现虚地址到物理地址的映射。这有什么意义呢?想象有这么两个程序,它们有相同的虚拟地址,但由于运行时其虚地址分别被映射到不同的 阅读全文

posted @ 2011-08-19 11:25 不知道 阅读(564) 评论(0) 推荐(0)

导航