⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 head.s

📁 s3c2440裸机程序源码
💻 S
字号:
@******************************************************************************@ File:head.s@ 功能:设置SDRAM,将程序复制到SDRAM,然后跳到SDRAM继续执行@******************************************************************************        .extern     main.text.global _start_start:                            @函数disable_watch_dog, memsetup, init_nand, nand_read_ll在init.c中定义    ldr sp, =4096           @设置堆栈     bl  disable_watch_dog   @关WATCH DOG    bl  memsetup            @初始化SDRAM    bl  nand_init           @初始化NAND Flash                            @将NAND Flash中地址4096开始的1024字节代码(main.c编译得到)复制到SDRAM中                            @nand_read_ll函数需要3个参数:    ldr r0, =0x30000000     @1. 目标地址=0x30000000,这是SDRAM的起始地址    mov r1, #4096           @2. 源地址   = 4096,连接的时候,main.c中的代码都存在NAND Flash地址4096开始处    mov r2, #(1024*10)      @3. 复制长度= 1024(bytes),对于本实验的main.c,这是足够了    bl  nand_read           @调用C函数nand_read_ll    ldr sp, =0x34000000     @设置堆栈    ldr lr, =halt_loop      @设置返回地址    ldr pc, =main           @b指令和bl指令只能前后跳转32M的范围,所以这里使用向pc赋值的方法进行跳转halt_loop:    b   halt_loop

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -