当前位置:首页 > 单片机 > 单片机
[导读]启动的方式对于S3C2440而言,启动的方式有两种,一是Nor Flash方式启动,二是Nand Flash方式启动。使用Nor Flash方式启动Nor Flash的地址范围如下 0x0000.0000—0x0800.0000 (2M Nor Flash) 片内的BootSRAM地址被置为

启动的方式

对于S3C2440而言,启动的方式有两种,一是Nor Flash方式启动,二是Nand Flash方式启动。

使用Nor Flash方式启动

Nor Flash的地址范围如下

0x0000.0000—0x0800.0000 (2M Nor Flash)

片内的BootSRAM地址被置为

0x4000.0000—0x4000.DFFF (4K BootSRAM)

由于可以在Nor Flash直接运行代码,因此BootSRAM被映射到别的地址上去,可作为其他用途。

程序映像直接存放到NOR FLASH里面,中断向量表存放在0x0000.0000开始的8×4大小的空间中。

中断产生时,PC被置为相对应的向量地址。如上电或者按Reset键时,PC直接置为0x00,从NOR FLASH的0x00处开始执行。

使用NAND Flash方式启动

此时,片内的BootSRAM地址被置为

0x0000.0000—0x0800.0000 (4K BootSRAM)

NAND Flash地址接NFCE

由于NAND Flash中不能运行代码,因此必须复制到内存之中再运行。

程序映像存放在NAND FLASH中,中断向量表位置在程序映像的最前面。由于NAND FLASH不能运行代码,系统上电或者Reset的时候,内置的NAND FLASH 将访问控制接口,并将中断向量表和引导代码自动加载到内部SRAM(此时该SRAM 定位于起始地址空间0x00000000,容量为4KB),并且置PC值为0x00运行程序(这一切是有芯片内部的硬件逻辑完成的)。之后,SRAM 中的引导程序将操作系统镜像加载到SDRAM 中,操作系统就能够在SDRAM 中运行。启动完毕,4KB 的启动SRAM 就可以用于其他用途。

中断向量表的设置

ARM中的异常与中断总共有7种

按响应优先级从高到低

按中断向量表顺序

复位

复位

数据中止

未定义指令中断

FIQ

SWI

IRQ

预取指令中止

预取指令中止

数据中止异常

未定义指令、SWI

IRQ


FIQ

ARM要求中断向量表必须放置在从0地址开始,连续8×4字节的空间内(ARM720T和ARM9、ARM10也支持从0xFFFF0000开始的高地址向量表),各异常和中断向量在向量表中的位置如下

地址

中断

0x00

Reset

0x04

Undef

0x08

SWI

0x0C

Prefetch Abort

0x10

Data Abort

0x14

(Reserved)

0x18

IRQ

0x2C

FIQ

当中断产生时ARM处理器强制把PC指针置为中断向量表中相对应的向量地址。因为每个中断向量在向量表中只有一个字节的存储空间,只能存放一条指令,所以通常存放跳转指令,使程序跳转到存储器的其他地方,再执行中断处理。

中断向量表的实现程序通常如下

AREA Boot,CODE,READONLY

ENTRY

B Reset_Handler ; Reset_Handler is a label

B Undef_Handler

B SWI_Handler

B PreAbort_Handler

B DataAbort_Handler

B ;for reserved interrupt, stop here

B IRQ_Handler

B FIQ_Handler

其中的关键字ENTRY是指定编译器保留这段代码,因为编译器可能会认为这段代码是冗余代码,将其优化。链接的时候要确保这段代码被连接到0地址处,并且 作为整个程序的入口点(ENTRY并非总是用来设置程序的入口点的,所以通常需要在链接选项里面显式的设置程序入口点)。


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

ARM系统几乎都采用Linux的操作系统,而且几乎所有的硬件系统都要单独构建自己的系统,与其他系统不能兼容,这也导致其应用软件不能方便移植,这一点一直严重制约了ARM系统的发展和应用。GOOGLE开发了开放式的Andro...

关键字: Linux x86 ARM

随着计算需求的多样化,尤其是随着移动设备、嵌入式系统和云计算的兴起,ARM 和 x86 架构之间的争论变得更加突出。ARM(高级 RISC 机器)和 x86 代表两种不同类型的处理器架构,每种架构都针对不同的工作负载和用...

关键字: Linux x86 ARM

从画质优化 (NSS) 到帧率提升 (NFRU) 和光线追踪(NSSD),Arm 计划覆盖移动端图形处理的多个维度,推动边缘 AI 图形革命。而未来通过持续的技术迭代,Arm也将保持在移动计算领域的技术领先,满足手游、A...

关键字: ARM 神经图形技术 GPU AI ML

7月31日消息,据媒体报道,芯片架构提供商Arm Holdings首席执行官Rene Haas宣布,公司正加大投入开发自有芯片产品,此举标志着其从传统IP授权模式向提供实体芯片的战略重大转变。

关键字: ARM META

7月28日消息,2025年,中国AI硬件市场规模将首次突破万亿元大关。

关键字: AI ARM

受生成式 AI 驱动, RISC-V 芯片市场快速发展。预计到2030年,RISC-V SoC出货量将达到1618.1亿颗,营收将达到927亿美元。其中,用于AI加速器的RISC-V SoC出货量将达到41亿颗,营收将达...

关键字: RISC-V CPU AI CUDA ARM 推理
关闭