当前位置:  技术问答>linux和unix

arm启动代码疑问(boot.S)

    来源: 互联网  发布时间:2016-02-27

    本文导语:          .equ SOURCE, 0xDF003200         .equ TARGET, 0xC0003200         .global _start _start:         .word   0xE59FF000         .word   0         .word   ( _start2 - 4 )         .word   0         ...

        .equ SOURCE, 0xDF003200
        .equ TARGET, 0xC0003200

        .global _start
_start:

        .word   0xE59FF000
        .word   0
        .word   ( _start2 - 4 )
        .word   0
        .word   ( _start2 - 4 )
_loop1: b       _loop1
        nop
        nop
        nop
        nop
        nop
        nop
        nop

_start2:
         ldr r1,=0x10000000
         ldr r3,=0x00040304
         str r3,[r1]
     
     在_start: .word   0xE59FF000中的地址0xE59FF00是什么地址呀 为什么不是直接跳转到_start2:去执行呢?我在mx21 spec中没有找到0xE59FF00的含义 
     有谁知道 请指点!

|
一点理解,不确定是否正确:

0xE59FF000 -- 根据ARM ARM中A5.2.2 Load and Store Word or Unsigned Byte - Immediate offset以及LDR指令的说明,应该就是
  ldr pc, [pc, #0]
因为offset_12=0,在执行此指令时,用于赋值的PC实际上是  .word (_start2-4)处的地址(注意ARM上PC的值),因此上面的指令相当于将(_start2-4)赋值给PC,也即跳转到地址(_start2-4)处,_start2-4地址也即_start2前面的一个nop地址处,执行空指令后会继续执行_start2标号处开始的代码。

对i.MX21不了解,如果楼主方便用仿真器跟踪的话,看一看应该就很清楚了.

|
这问题我不懂.
顶一哈。哈哈。 
你该知道我是谁!

|
                .word       0xE59FF000 

不一定是地址阿,也可能是机器指令什么的阿

|
看上去像是调试器(ADS AXD?)用的格式,setmem的格式应该是:setmem addrexpr valexpr [memory]
简单的说是往某个地址(addrexpr)写入某个宽度([memory],应该只能为指定的size)的值(valexpr)。

comment的格式不太明白,不知是否: comment string,应该只是写到log中的信息。

最好查查所用的调试器的手册,应该在命令部分会有对应的介绍。

    
 
 

您可能感兴趣的文章:

  • arm-pxa270 矩阵键盘驱动程序的疑问~请帮我看看哦~急!!
  • 如何实现arm的启动代码
  • 关于arm 板启动的小问题
  • arm板上程序开机自启动的问题
  • ARM linux如何处理启动参数地址存放寄存器R2
  • 急!急!急!ARM开发板启动问题
  • 高分求助,请教关于在ARM Linux下启动goahead服务器的问题。很急,在线等待,希望各位大虾帮帮,万分感激
  • 谁有ucLinux在arm上启动过程分析的资料?
  • 在线等:arm板启动提示网卡物理地址为全0?
  • 怎么在pc下作一个ramdisk image,然后在strong arm上作为启动盘?
  • 在2.6.15下配置ARM s3c2410内核,无法启动munconfig,急......
  • 有关ARM Linux启动的问题
  • linux+arm9开发板,要求系统启动后执行一个脚本??
  • arm-linux-gcc 交叉编译poco-1.3.5-all 报错stlport_arm_linux_gcc库找不到 iis7站长之家
  • arm开发板启动 内核无法加载
  • 嵌入式 linux开发中,加入网络通信代码后,ARM9启动后在超级终端打印出错误信息,请帮忙解决!谢谢
  • arm上启动内核问题
  • 急~将linux移植到嵌入式系统ARM9上,启动代码和内核都编译好,并烧写到Flash了,怎么样让应用程序跑起来呢?谢谢
  • 内核问题?基于arm的linux平台更换flash后不能正常启动??
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 如何将ARM汇编代码变成GNU汇编?
  • 嵌入式linux开发:一段代码在windows平台用VC编译运行正常,在linux平台用gcc编译运行正常,但是用arm-linux-gcc编译在嵌入式板子上运行就不正常.
  • 请教做过将linux移植到arm9上的大虾,在pc的linux下成功的tcp客户端代码交叉编译后,通过网线下到目标板就无法连接到pc上的服务器端了。
  • arm-linux-gcc 编译的c代码中atof函数的怪现象
  • 谁知道怎么用linux-kernel/arch/arm/mach-GM下的ahb_dma.c这段代码的,再送100分
  • 代码没改过,前天还能在x86下编译通过,今天不管是x86还是arm都不行了
  • ARM I2S UDA1341TS 如何理解,代码不全 帮忙讲讲思路
  • java命名空间javax.swing类defaultbuttonmodel的类成员方法: armed定义及介绍
  • arm-elf-gcc 和 arm-linux-gcc有什么区别?arm-elf-gcc里的elf代表什么?
  • java命名空间javax.accessibility类accessiblestate的类成员方法: armed定义及介绍
  • 关于买ARM9或ARM11的开发板的问题~~~
  • arm-unknown-linux-gnu-gcc與arm-linux 的compiler有不同嗎
  • make ARCH=arm CROSS_COMPILE=arm-linu-错误
  • 请问哪有 arm-linux-nm, arm-linux-addr2line等等这些工具的使用说明~~~
  • 使用eclipse 加入arm-elf-gcc 或arm-linux-gcc 编译器为什么不好使
  • 现在是ARM9还是ARM11比较流行啊?我想买开发板什么牌子的比较好啊,我是大学生。
  • ARM ping不通虚拟机,虚拟机可以ping通ARM
  • 疑惑softfloat的问题,并求arm-linux-gcc和arm-linux-softfloat-gcc4.1.1
  • 新手请教 移植2.6内核到arm9,芯片:arm926ejs,Flash: NOR
  • 请教:make ARCH=arm CROSS_COMPILE=arm-linu- menuconfig出错
  • arm-linux-gcc 交叉编译poco-1.3.5-all 报错stlport_arm_linux_gcc库找不到
  • 关于arm 2440 选择arm-linux-gcc编译器版本的问题
  • 字节对齐 ARM VS Not ARM,经验人士请指点!!
  • ARM开发怎么实现域名解析呢,ARM板能ping通IP,不能ping通域名?
  • 关于ARM的几个基本概念
  • arm linux 2.6.29 下载初级问题,大家指教
  • 关于ARM内核编译
  • arm-elf-gcc问题


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3