phenix_yw 发表于 2010-5-29 17:10:16

[请教]如何在skyeye上运行基于MPC8560的uboot?

模拟mpc8560的skyeye配置文件应该如何写呢?在网上搜到一个,如下:
# skyeye config file sample
arch: ppc
#cpu: e500(这个是我注释掉了,根据运行skyeye的提示,好像不需要指定cpu)
mach:mpc8560
mem_bank: map=M, type=RW, addr=0xFF000000, size=0x1000000
#log: logon=0, logfile=./test.log, start=0xC0000000, end=0xB0000000

首次执行skyeye,结果如下:
# ./skyeye -e u-boot
SkyEye is an Open Source project under GPL. All rights of different parts or modules are reserved by their author. Any modification or redistributions of SkyEye should note remove or modify the annoucement of SkyEye copyright.
Get more information about it, please visit the homepage http://www.skyeye.org.
Type "help" to get command list.
(skyeye)start
arch: ppc
In do_mach_option, mach info: name mpc8560, mach_init addr 0x4f47ed0

1 core is initialized.
Can not open initrd file initrd.img.
In skyeye_exit, Some unknown exception happened.

exec file "u-boot"'s format is elf32-i386.
load section .text: addr = 0xfff80000size = 0x0002c520.
load section .rodata: addr = 0xfffac520size = 0x00009ec8.
load section .reloc: addr = 0xfffb6400size = 0x00002434.
load section .data: addr = 0xfffb8834size = 0x00000d84.
load section .data.rel.ro.local: addr = 0xfffb95b8size = 0x00000060.
load section .data.rel: addr = 0xfffb9618size = 0x00000a90.
load section .data.rel.ro: addr = 0xfffba0a8size = 0x0000004c.
load section .data.rel.local: addr = 0xfffba0f8size = 0x00000ec8.
load section .u_boot_cmd: addr = 0xfffbafc0size = 0x00000540.
load section .bootpg: addr = 0xfffff000size = 0x000001cc.
load section .resetvec: addr = 0xfffffffcsize = 0x00000004.
not load section .bss: addr = 0x00000010size = 0x000059cc .
not load section .PPC.EMB.apuinfo: addr = 0x00000000size = 0x00000020 .
not load section .debug_line: addr = 0x00000000size = 0x0000bac0 .
not load section .debug_info: addr = 0x00000000size = 0x0003bfcd .
not load section .debug_abbrev: addr = 0x00000000size = 0x0000c491 .
not load section .debug_aranges: addr = 0x00000000size = 0x00000d48 .
not load section .debug_ranges: addr = 0x00000000size = 0x000035d8 .
not load section .debug_frame: addr = 0x00000000size = 0x00006ab4 .
not load section .debug_loc: addr = 0x00000000size = 0x00021fa7 .
not load section .debug_pubnames: addr = 0x00000000size = 0x0000424d .
not load section .debug_str: addr = 0x00000000size = 0x00009e59 .
not load section .comment: addr = 0x00000000size = 0x00000762 .
In SIM_start, Set PC to the address 0xfff80000

不明白skyeye为啥需要initrd.img,先不管它,我直接把u-boot改名为initrd.img,然后再运行:
# mv u-boot initrd.img
# ./skyeye -e initrd.img
SkyEye is an Open Source project under GPL. All rights of different parts or modules are reserved by their author. Any modification or redistributions of SkyEye should note remove or modify the annoucement of SkyEye copyright.
Get more information about it, please visit the homepage http://www.skyeye.org.
Type "help" to get command list.
(skyeye)start
arch: ppc
In do_mach_option, mach info: name mpc8560, mach_init addr 0x539bed0

1 core is initialized.
Load initrd.img to 0x2000000...
exec file "initrd.img"'s format is elf32-i386.
load section .text: addr = 0xfff80000size = 0x0002c520.
load section .rodata: addr = 0xfffac520size = 0x00009ec8.
load section .reloc: addr = 0xfffb6400size = 0x00002434.
load section .data: addr = 0xfffb8834size = 0x00000d84.
load section .data.rel.ro.local: addr = 0xfffb95b8size = 0x00000060.
load section .data.rel: addr = 0xfffb9618size = 0x00000a90.
load section .data.rel.ro: addr = 0xfffba0a8size = 0x0000004c.
load section .data.rel.local: addr = 0xfffba0f8size = 0x00000ec8.
load section .u_boot_cmd: addr = 0xfffbafc0size = 0x00000540.
load section .bootpg: addr = 0xfffff000size = 0x000001cc.
load section .resetvec: addr = 0xfffffffcsize = 0x00000004.
not load section .bss: addr = 0x00000010size = 0x000059cc .
not load section .PPC.EMB.apuinfo: addr = 0x00000000size = 0x00000020 .
not load section .debug_line: addr = 0x00000000size = 0x0000bac0 .
not load section .debug_info: addr = 0x00000000size = 0x0003bfcd .
not load section .debug_abbrev: addr = 0x00000000size = 0x0000c491 .
not load section .debug_aranges: addr = 0x00000000size = 0x00000d48 .
not load section .debug_ranges: addr = 0x00000000size = 0x000035d8 .
not load section .debug_frame: addr = 0x00000000size = 0x00006ab4 .
not load section .debug_loc: addr = 0x00000000size = 0x00021fa7 .
not load section .debug_pubnames: addr = 0x00000000size = 0x0000424d .
not load section .debug_str: addr = 0x00000000size = 0x00009e59 .
not load section .comment: addr = 0x00000000size = 0x00000762 .
In SIM_start, Set PC to the address 0xfff80000

疑问:1.为啥显示的文件格式是elf-i386呢?
      2.执行run命令没有任何反应,问题出自哪?是否是配置文件有问题?

第一次使用skyeye,请大家多多帮助,谢谢~

ksh 发表于 2010-6-1 14:06:14

目前还不能运行u-boot,为了直接能够运行linux,对mpc8650的处理器进行了一些相关的初始化,并不是机器一上电的标准状态。相关初始化在文件 arch/ppc/mach/mpc8560_boot_linux.c 中的mpc8560_boot_linux函数。

预计在SkyEye-1.3.1中更改这些设置可以运行u-boot,让u-boot来加载linux

phenix_yw 发表于 2010-6-1 22:13:20

晕死,那网上不是已经说u-boot运行在skyeye的mpc8560上了么,他们是怎么做?也没见他们的文章中需要改啥啊,难道是“虚假广告”了。

ksh 发表于 2010-6-2 09:33:09

skyeye-1.2.3应该可以,可以参看1.2.3的release notes:
https://sourceforge.net/project/shownotes.php?release_id=519418
页: [1]
查看完整版本: [请教]如何在skyeye上运行基于MPC8560的uboot?