心心程序博客

眼过千遍不如手过一遍! 书看千行不如手敲一行! 手敲千行不如单步一行! 单步源代码千行不如单步对应汇编一行!

导航

2011年5月1日

2440INIT.S

摘要: ;==;=========================================; NAME: 2440INIT.S; DESC: C start up codes; Configure memory, ISR ,stacks; Initialize C-variables; 完全注释;=========================================; NAME: 2440INIT.S; DESC: C start up codes; Configure memory, ISR ,stacks; Initialize C-variables; 完全注释; HISTO 阅读全文

posted @ 2011-05-01 17:24 心心程序博客 阅读(4341) 评论(0) 推荐(0) 编辑

2410Init.s

摘要: ;2410Init.s包括了板子上电后的初始话,具体有几个步骤:;讲述S3C2410启动程序设计;1. 屏蔽所有中断,关看门狗。;2. 根据工作频率设置PLL寄存器;3. 初始化存储控制相关寄存器;4. 初始化各模式下的栈指针;5. 设置缺省中断处理函数;6. 将数据段拷贝到RAM中,将零初始化数据段清零;7. 跳转到C语言Main入口函数中;=========================================; NAME: 2440INIT.S; DESC: C start up codes; Configure memory, ISR ,stacks; Initialize 阅读全文

posted @ 2011-05-01 17:20 心心程序博客 阅读(1319) 评论(0) 推荐(0) 编辑

1、ldr r13,=0x1000

摘要: 1、ldr r13,=0x1000 对于ldr r13,=0x1000的解释有“=”号表示ldr是一个伪指令。 ldr r13,=0x1000 //表示把立即数0x1000送入r13,0x1000=4KB代表bootloader结束处 r13是stack pointer,因为后面要跳到LedMain,这个function是用c写的,所以必须要事先分配stack,否则c程序没法运行。给r13赋值就是分配stack,对跑马灯来说只要是可用内存就行,并不在乎具体地址在哪。其实只要记住一条,C是基于栈的语言,没有栈是无法运行的,而且栈是从高地址处向低地址处的,所以是从0x1000~0x0。(将0x10 阅读全文

posted @ 2011-05-01 17:18 心心程序博客 阅读(528) 评论(0) 推荐(0) 编辑