1、软件初始化

    1 设置栈 (SP→内存(SRAM))

    2 调用main()

    3  清理工作

2、硬件初始化

    1 关闭看门狗

    2  初始化时钟

    3 初始化SDRAM

 

 

.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函数这行代码bl main;设置返回地址(这个地址就是这条命令的下一条语句)且调用main
halt_loop:
            b       halt_loop

 

相关文章:

  • 2021-09-27
  • 2021-11-17
  • 2021-05-17
  • 2022-01-05
  • 2021-09-17
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2021-09-19
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-11-27
  • 2022-01-26
相关资源
相似解决方案