首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在xtensa体系结构中映射复位向量?

如何在xtensa体系结构中映射复位向量?
EN

Stack Overflow用户
提问于 2019-01-27 11:40:31
回答 1查看 223关注 0票数 0

我是新的xtensa架构,并作为第一步,试图映射复位矢量。谷歌搜索带我到了xtensa (https://github.com/jcmvbkbc/u-boot-tensa/blob/master/arch/xtensa/cpu/start.S)的Uboot端口,下面是代码;

代码语言:javascript
复制
.section .ResetVector.text, "awx"
.global _ResetVector
   _ResetVector:

 j  1f
.align 4
    2:  .long   _start
    1:  l32r    a2, 2b
       jx   a2

我从链接https://0x04.net/~mwk/doc/xtensa.pdf获得xtensa ISA (跳转指令的3.8.4节)

这是我的问题;

代码语言:javascript
复制
    j  1f   

应该移动pc '1f',那么在那之后的代码有什么用呢?

标签2: 1的用途是什么?

这使我无法进一步理解代码的其余部分。我预先感谢对更好地理解代码的任何帮助,以及对如何映射xtensa中的向量的任何其他参考。我不确定标签是否合适,但我无法创建标记xtensa,所以我选择了最接近的标记。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-01-27 11:50:18

1f不是十六进制值,它是本地标签引用。见手册。作者只是懒惰,或者认为选择更好的标签名称是不够重要的。该守则相当于:

代码语言:javascript
复制
    j  skip
.align 4
 addr:
    .long   _start
 skip:
    l32r    a2, addr
    jx   a2

因此,第一个j可以跳过嵌入的数据,l32r随后加载这些数据,jx跳转到这些数据上。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54387723

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档