QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 2251|回复: 6

关于skyeye.conf的问题

[复制链接]
发表于 2008-12-3 17:48:43 | 显示全部楼层 |阅读模式
刚刚学习使用skyeye,想要仿真S3C44B0X,请问它的skyeye.conf文件怎么编写呢?里面的内容跟物理硬件是怎么对应起来的?我自己把testsuit中的S3C44B0X的skyeye.conf文件之间拷贝过来,不过不能用.....所以想自己写

另外,问一个弱弱的问题,skyeye哪个版本以上可以仿真S3C44B0X?我用的是skyinsight,skyeye的版本是0.8.5,能仿真S3C44B0X吗?

[ 本帖最后由 thinkfulness 于 2008-12-4 01:13 编辑 ]
发表于 2008-12-3 20:36:09 | 显示全部楼层
你可以尝试用最新版本skyeye-1.2.6_rc1
回复

使用道具 举报

 楼主| 发表于 2008-12-4 01:29:51 | 显示全部楼层

回复 1# thinkfulness 的帖子

还是自己去查了下,呵呵
1 CPU核配置选项
选项有:arm710、arn17 rDMI、arm720t、arm920t、sal100、sall1O、xscale
格式为:cpu:cpuname
例如:cpu:arm920t
2 内存组配赶选项
一个内存组内的地址是连续的。
类型分为:RAM SPACE, ROM SPACE, mapped IO SPACE。
(格式为:mem bank:map=MlI,type:RWIR,addr=0xXXXXXXXX,size=0xXXXXXXXX,file=imagdilename,boot-yes/no)
map=M 表示RAM、ROM SPACE,map=l表示mapped IO SPACE。
type=RW且map=M 则表示RAM SPACE;type=R且map=M 则表示ROM SPACE。
addr=0xXXXXXX 表示内存组的起始物理地址。
size;0xXXXXXX 表示内存组的大小。
file=可执行的文件,一般是一个可以执行的binary image格式的可执行程序,或OS内核文件,或是一个binary格式的根文件系统。如果存在这个文件,SkyEye会把文件的内容直接写到对应的仿真内存组地址空问中。
boot=yes/no,如果boot=yes,则SkyEye会把仿真硬件启动后的第一条指令的地址定位到对应的内存组的起始地址。
3 LCD 的配置
格式为;led:state=on/off
state=on 表示LCD 处于接通状态
state=off 表示LCD 处于关闭状态。
例如:lcd:state=on
4 UART控制选项
uart 选项可以控制skyeye在另一个与某个串口连接的终端上输入偷出字符
格式为:uart:fd_in=indevname,fd_out=outdevname
·fd_in=indevname   indevname表示用于输入的设备文件名,其值为实际的串口设备文件 /dev/ttySx
·fd_out=outdevname  outdevname表示用于输出的设备文件名,其值为实际的串口设备文件 /dev/ttySx
例如:uart:     fd_in=/dev/ttyS0,fd_ out=dev/ttyS0
回复

使用道具 举报

 楼主| 发表于 2008-12-4 01:35:52 | 显示全部楼层
摸索了一下,感觉0.8.5应该是不能仿真s3c44b044B0X的。换了一个1.2.3,应该是可以了,但是编译完成之后启动skyeye会出现big endian failed

问下skyeye或者编译环境里有设置大小端的地方吗?

谢谢
回复

使用道具 举报

发表于 2008-12-4 12:29:38 | 显示全部楼层
能否贴一下你的出错信息?目前SkyEye在运行elf文件的时候,会自动检测elf的大小端,因为elf格式可以提供大小端的信息。当运行binary文件时,可以在命令行指定大小端,运行skyeye -h 显示如下,其中的b选项用来指定端:
SkyEye 1.2.6
Bug report: [email protected]
Usage: skyeye [options] -e program [program args]
Default mode is STANDALONE mode
------------------------------------------------------------------
Options:
-e exec-file        the (ELF executable format)kernel file name.
-l load_address,load_address_mask
                    Load ELF file to another address, not its entry.
-b                  specify the data type is big endian when non "-e" option.
-d                  in GDB Server mode (can be connected by GDB).
-c config-file      the skyeye configure file name.
-h                  The SkyEye command options, and ARCHs and CPUs simulated.
------------------------------------------------------------------
回复

使用道具 举报

 楼主| 发表于 2008-12-4 13:48:35 | 显示全部楼层

出错信息

也没有出现错误,只是在ucosii4skyeye的例子编译中输入make test这一步时,运行到下面的时候运行不下去了...
PS:OS: ubuntu 8.0.4
             skyeye:1.2.3
             arm-elf-gcc-20040427
             ucosii4skyeye-1.9.3
     
ying@ubuntu:~/programs/ucosii/ucosii4skyeye/samples/ucos_test$ make test
Hint: now you can "make test" to debug ucos_test.elf
skyeye ucos_test.elf

**************************** WARNING **********************************
If you want to run ELF image, you should use -e option to indicate
your elf-format image filename. Or you only want to run binary image,
you need to set the filename of the image and its entry in skyeye.conf.
***********************************************************************

Non-option argument ucos_test.elf
big_endian is false.
arch: arm
cpu info: armv3, arm7tdmi, 41007700, fff8ff00, 0
mach info: name at91, mach_init addr 0x8057550
uart_mod:0, desc_in:, desc_out:, converter:
SKYEYE: use arm7100 mmu ops
第二个问题:
编译skyeye-1.2.6.rc1,make出错:
common/arm_arch_interface.c:401: 致命错误: 打开依赖文件 .deps/arm_arch_interface.Tpo:Permission denied
编译中断。
回复

使用道具 举报

 楼主| 发表于 2008-12-6 00:18:04 | 显示全部楼层

问题解决了

makefile里面,应该不是make test=skyeye *.elf
而是make test=skyeye -e *.elf
可惜只剩明天一天的时间了,估计作不出来了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-25 11:37 , Processed in 0.050952 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表