(s3c2440)crt0.s文件解析
来源:互联网 发布:移动网络机顶盒多少钱 编辑:程序博客网 时间:2024/05/17 08:02
@******************************************************************************@ File:crt0.S@ 功能:通过它转入C程序@****************************************************************************** .text.global _start_start: ldr r0, =0x53000000 @ WATCHDOG寄存器地址ldr伪指令可以在立即数前加上=,以表示把一个地址写到某寄存器中,比如:ldr r0, =0x12345678 mov r1, #0x0 @上面这句mov指令很简单,就是把0x0赋值给r1,即r1=0x0 str r1, [r0] @ 写入0,禁止WATCHDOG,否则CPU会不断重启 将r1寄存器的值,传送到地址值为r0的(存储器)内存中 用C语言表示就是:*r0 = r1 ldr sp, =1024*4 @ 设置堆栈,注意:不能大于4k, 因为现在可用的内存只有4K SP=4096,设置栈指针,后面会调用C函数,调用C前需要设好栈 @ nand flash中的代码在复位后会移到内部ram中,此ram只有4K@在ARM9(S3C2440)中,SRAM有效地址范围为0~4K,所以可以把栈初始指针设置在SRAM的有效地址的最高地址处,当然,如果空间够用,也可以设置小点儿,比如:ldr sp , = 2*1024 。 bl main @ 调用C程序中的main函数halt_loop: b halt_loop
0 0
- (s3c2440)crt0.s文件解析
- LK源码解析 1 crt0.s
- crt0.s
- 链接文件和crt0.S基础
- MTK lk源码解析1( lk 阶段汇编代码crt0.S解析)
- crt0.s 分析
- s3c2440启动文件start.s分析
- S3C2440启动代码2440init.s彻底解析
- S3C2440 SDRAM内存驱动 (SDRAM驱动程序在init.s文件)
- 理解S3C2440里面*.S文件的一些基础
- crt0.o and crt1.o — What's the difference?
- arch/arm/lib/crt0.S main主函数
- S-Record 文件解析器
- 编辑单个CPP文件,出现1>LIBCMTD.lib(crt0.obj) : error LNK2019: 无法解析的外部符号 _main,该符号在函
- uboot 2414.04 移植到S3C2440(start.s)
- S3C2440硬件连接解析
- S3C2440看门狗解析
- S3C2440的SPI解析
- Linux 技巧:让进程在后台可靠运行的几种方法
- 发个MatLab 自编的 均值滤波、中值滤波、高斯滤波 图像处理函数
- 辅导使他人更优秀
- Android获取网络上的网页代码
- Spring中配置dataSource的方法
- (s3c2440)crt0.s文件解析
- 2.1 线程管理基础
- Capturing 'self' strongly
- javascript中 闭包 的理解
- python8:集合
- Android 模块 -- 基于XMPP协议的手机多方多端即时通讯方案
- 将 cocostudio 创建动画加入代码中
- jQuery编程挑战#012:生成菜单添加和删除动画效果
- nyoj-257 郁闷的C小加(一)