ARM应用系统开发详解 第4章 ARM程序设计基础
R R0,=0x3FF0000 ;初始化系统配置寄存器,具体内容可参考第五、六章
LDR R1,=0xE7FFFF80
STR R1,[R0]
LDR SP,=0x3FE1000 ;初始化用户堆栈,具体内容可参考第五、六章
BL Main ;跳转到Main()函数处的C/C++代码执行
END ;标识汇编程序的结束
以上的程序段完成一些简单的初始化,然后跳转到Main()函数所标识的C/C++代码处执行主要的任务,此处的Main仅为一个标号,也可使用其他名称,与C语言程序中的main()函数没有关系。
/*
* Institute of Automation, Chinese Academy of Sciences
* File Name: main.c
* Description: P0,P1 LED flash.
* Author: JuGuang,Lee
* Date:
/
void Main(void)
{
int i;
*((volatile unsigned long *) 0x3ff5000) = 0x0000000f;
while(1)
{
*((volatile unsigned long *) 0x3ff5008) = 0x00000001;
for(i=0; i<0x7fFFF; i++);
*((volatile unsigned long *) 0x3ff5008) = 0x00000002;
for(i=0; i<0x7FFFF; i++);
}
}
4.4本章小节
本章介绍了ARM程序设计的一些基本概念,以及在汇编语言程序设计中常见的伪指令、汇编语言的基本语句格式等,汇编语言程序的基本结构等,同时简单介绍了C/C++和汇编语言的混合编程等问题,这些问题均为程序设计中的基本问题,希望读者掌握,注意本章最后的两个示例均与后面章节介绍的基于S3C4510B的硬件平台有关系,读者可以参考第五、六章的相关内容。
ARM系统开发程序设 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)