在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
芯片精品文章合集(500篇!) 创芯人才网--重磅上线啦!
查看: 10314|回复: 11

[讨论] power PC vxworks BSP 分析

[复制链接]
发表于 2014-4-2 14:45:14 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
今天把rominit().s 的第一段汇编看完了。
学起来不容易啊,求高手指点。
最后一段是跳转的到ROMSTART 的代码。
看起来ROMSTART 的跟在ROMINIT 之后放在ROM 里的。
/*
  * calculate C entry point: routine - entry point + ROM base
  * routine = romStart
  * entry point = romInit = R7
  * ROM base = ROM_TEXT_ADRS = R8
  * C entry point: romStart - R7 + R8
  */
        lis     r7, HIADJ(romInit)
        addi    r7, r7, LO(romInit)

        lis     r8, HIADJ(ROM_TEXT_ADRS)
        addi    r8, r8, LO(ROM_TEXT_ADRS)

        lis r6, HIADJ(romStart)
        addi r6, r6, LO(romStart) /* load R6 with C entry point */
sub r6, r6, r7  /* routine - entry point */
add r6, r6, r8   /* + ROM base */
mtspr LR, r6    /* save destination address*/
      /* into LR register */
blr    /* jump to the C entry point */
 楼主| 发表于 2014-4-9 17:11:43 | 显示全部楼层
Romstart() 依然在ROM 空间执行(CPU 直接从ROM 取指),分三种方式将内核映像搬迁到内存,ROM-RESIDENT, ROM-COPY,ROM-COMPRESSED, 完成后就跳到内存执行userinit.(ROM-RESIDENT,只从内存存取数据)。
 楼主| 发表于 2014-4-9 17:14:48 | 显示全部楼层
搬迁到内存的地址包括数据段和代码段,ROM 需呀搬迁的代码段的开始和结束地址都是由编译器给出的,这个地址的是需要计算的。
 楼主| 发表于 2014-4-10 09:45:51 | 显示全部楼层
BSP基础知识学习总结.doc (87 KB, 下载次数: 31 )
发表于 2014-4-15 13:41:47 | 显示全部楼层
刚准备学ppc+vxworks,怎么用的资料这么少啊
 楼主| 发表于 2014-4-16 09:49:40 | 显示全部楼层
资料不缺,关键是需要梳理好,这个难
发表于 2014-7-26 01:09:13 | 显示全部楼层
感谢楼主.............
发表于 2017-3-6 09:21:17 | 显示全部楼层
谢谢分享!
发表于 2019-8-1 15:54:11 | 显示全部楼层
谢谢分享!
发表于 2020-4-8 22:15:20 | 显示全部楼层
VERY GOOD
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条


小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-11-21 20:32 , Processed in 0.032733 second(s), 9 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表