您的位置:首页 > 其它

学习ARM开发(7)

2007-11-01 19:37 295 查看
导读:
  学习ARM开发(7)
  上一次,学习到第一段代码,这次接着学习第二段代码,而第二段代码主要作用于保存数据的。
  /*
  *************************************************************************
  *
  * 启动代码。
  *
  * 如果不作内存初始化,就只建立堆栈,重新定位代码到RAM位置。
  * 然后就可以跳到第二阶段的代码运行了。
  *
  *
  *
  *************************************************************************
  */
  /* 保存变量的数据区 */
  _TEXT_BASE:
  .word TEXT_BASE
  .globl _armboot_start
  _armboot_start:
  .word _start
  /*
  * These are defined in the board-specific linker script.
  */
  .globl _bss_start
  _bss_start:
  .word __bss_start
  .globl _bss_end
  _bss_end:
  .word _end
  #ifdef CONFIG_USE_IRQ
  /* IRQ stack memory (calculated at run-time) */
  .globl IRQ_STACK_START
  IRQ_STACK_START:
  .word 0x0badc0de
  /* IRQ stack memory (calculated at run-time) */
  .globl FIQ_STACK_START
  FIQ_STACK_START:
  .word 0x0badc0de
  #endif
  上面这段代码,主要保存一些全局变量,用于BOOT程序从FLASH拷贝到RAM,或者其它的使用。
  还有一些变量的长度是通过连接脚本里得到,实际上由编译器算出来的。
  Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=433204
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: