ARM体系架构学习 -uboot分析之start.S

发布者:世界因你而精彩最新更新时间:2016-06-23 来源: eefocus关键字:ARM体系架构  uboot 手机看文章 扫描二维码
随时随地手机看文章
通过分析start.S代码,学习ARM体系结构是一种很好的方法。

start.S是u-boot的关键部分,CPU上电后最先开始执行的代码,和ARM体系结构息息相关。

通过查阅代码中遇到的各种指令,来进一步了解ARM体系结构中各个知识点。

/*
* the actual start code
*/
start_code:
/*
* set the cpu to SVC32 mode
*/
mrs r0,cpsr
bic r0,r0,#0x1f
orr r0,r0,#0xd3
msr cpsr,r0

红色字体是要查阅的

MRS:MRS是要将CPSR寄存器中的内容保存到通用寄存器中,在这里是r0,就是说CPSR(当前程序状态寄存器)必须使用MRS这条指令才能读取
CPSR:当前程序状态寄存器,保存了CPU当前的各种状态,另外还有一个SPSR(保存的程序状态寄存器),是在异常处理前对CPSR的保存。

CPSR的用途-改变CPSR的值通常出于几个目的:

  1. 改变condition code标志
  2. 使能/禁止中断
  3. 改变处理器模式
  4. 改变load或store操作的字节序
  5. 改变处理器状态(J and T)

待续。。。。。。

关键字:ARM体系架构  uboot 引用地址:ARM体系架构学习 -uboot分析之start.S

上一篇:OK6410裸机程序---hello world
下一篇:嵌入式POS机的基础--ARM体系架构

推荐阅读最新更新时间:2024-03-16 14:58

TQ2440之uboot---4.分析u-boot Makefile 最后连接的过程
1.最后生成u-boot的过程 以下是u-boot Makefile最后连接生成u-boot的过程 UNDEF_SYM=`arm-linux-objdump -x lib_generic/libgeneric.a board/EmbedSky/libEmbedSky.a cpu/arm920t/libarm920t.a cpu/arm920t/s3c24x0/libs3c24x0.a lib_arm/libarm.a fs/cramfs/libcramfs.a fs/jffs2/libjffs2.a net/libnet.a rtc/librtc.a drivers/libdrivers.a drivers/nand/libn
[单片机]
ARM体系架构—ARMv7-A处理器模式及寄存器
一、ARMv7-A处理器模式 ARMv7架构支持安全扩展,如果使能了安全扩展,ARMv7-A架构分为安全模式(Secure State)和非安全模式(Non-secure State)两个世界。 在非安全模式下,存在三种运行特权PL0,PL1和PL2(privilege level)。 If the Virtualization Extensions are implemented there is a privilege model different to that of previous architectures. In Non-secure state there can be three privilege l
[单片机]
<font color='red'>ARM体系</font><font color='red'>架构</font>—ARMv7-A处理器模式及寄存器
2.移植uboot-添加2440单板,并实现NOR、NAND启动
1.首先在uboot里新建单板2440 1.1将2410的单板文件夹拷贝成2440: cd board/samsung/ cp smdk2410 smdk2440 -rf //拷贝文件夹, 然后将smdk2440下的smdk2410.c改为smdk2440.c,以及修改更改好的Makefile 1.2 将2410的头文件拷贝成2440: cd ../../include/configs/ cp smdk2410.h smdk2440.h 2.新建后,还需要修改boards.cfg,使uboot支持2440单板: 仿照 smdk2410 arm arm920t
[单片机]
2.移植<font color='red'>uboot</font>-添加2440单板,并实现NOR、NAND启动
深入理解ARM体系架构(S3C6410)---UART实例
1、 概括OVERVIEW S3C6410提供了4个独立的异步串行口,每个独立的串行口可以工作在中断模式或DMA模式下。也就是说UART能够产生一个中断或DMA请求。UART可以提供最高3Mbps。每个UART包含2个64位的FIFO,分别用于接收,发送缓冲。 S3C6410 UART 包括可编程的波特率,红外发射接收,1或2个停止校验位,5,6,7,8数据位,和奇偶检验。每个UART包含一个波特率发生器,接收发送和控制单元。 波特率可以由PCLK,EXT_UCLK0或EX_UCLK1锁定。发送接收器分别包含了一个64位FIFO和一个数据移位器。通过向FIFO写入数据,再把FIFO中的数据拷贝到数据移位器中,从而通过TxD
[单片机]
深入理解<font color='red'>ARM体系</font><font color='red'>架构</font>(S3C6410)---UART实例
uboot-2011.12移植到S3C2440(三)——硬件初始化:看门狗、中断、时钟
/* * turn off dog, see C18P3 */ ldr r0, =pWTCON mov r1, #0x0 str r1, /* * C14 * mask all IRQs by setting all bits in the INTMR - default */ mov r1, #0xffffffff ldr r0, =INTMSK str r1, ldr r1, =0x7fff ldr r0, =INTSUBMSK str r1, /* * FCLK:HCLK:P
[单片机]
UBOOT和bootloader的关系
uboot是一个通用的免费开放源码的boot程序,支持很多的处理器。 以下是现在网上下载一个u-boot-1.1.1版本,用于at91rm9200系统的修改的例子。最后在redhat8.0上,用gcc2.95编译通过。 在网上下载了uboot-1.1.1版本。要用于自己的at91rm9200的系统,这个系统的情况是: SDRAM: 32Mbytes NCS1 FLASH: 8Mbytes NCS0 涉及到的文件有四个: common.h flash.c flash.h ./board/at91rm9200dk/config.mk 以下简单的说说。 一、首先读读uboot自带的readme文件,了解了一个大概。
[单片机]
嵌入式POS机的基础--ARM体系架构
在嵌入式领域,ARM(全称Advanced RISC Machines)的名字可谓是无人不知,在32位市场,ARM架构的产品占据高达75%的市场份额,居于垄断地位。该架构的专利持有者就是ARM公司。ARM成立于1990年,它实际上是Arcon、Apple和VLSI三家企业共同合作的产物。当年,Acron公司需要为它们的Archimedus电脑开发一枚处理器,Apple公司同样寻求一款可以代替摩托罗拉68000 CISC处理器的RISC架构产品,而VLSI则打算设计出一枚精简高效的RISC处理器用于集成系统中。颇富戏剧性的是,这三家企业最终都没有实现自己的目的,但ARM架构却在它们未曾想到的嵌入式领域被发扬光大。 ARM体系架构
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved