Arm学习笔记之S3c2440处理器在C语言使用前最简单的汇编程序
硬件:S3c2440,nand启动
和软件相关的初始化有:
1. 设置c语言函数调用时使用的栈
2. 设置main函数的调用地址
3. main返回和清理工作
和硬件相关的初始化有:
1. 关闭看门狗(因为2440默认是使能看门狗的)
@******************************************************************************
@ File:crt0.S
@ 功能:通过它转入C程序
@******************************************************************************
.text
.global _start
_start:
ldr r0, =0x53000000 @ WATCHDOG寄存器地址
mov r1, #0x0
str r1, [r0] @ 写入0,禁止WATCHDOG,否则CPU会不断重启
ldr sp, =1024*4 @ 设置堆栈,注意:不能大于4k, 因为现在可用的内存只有4K
@ nand flash中的代码在复位后会移到内部ram中,此ram只有4K
bl main @ 调用C程序中的main函数
halt_loop:
b halt_loop
联系客服