ksh 发表于 2010-11-19 17:38:48

SkyEye-1.3.2发布

经过几个月的开发,Skyeye-1.3.2可以发布了。相对于上一个版本,我们的主要修改为:
* 添加了S3C6410的模拟,可以运行不加修改的linux系统,希望将来可以运行android。相关文档在:
https://sourceforge.net/apps/trac/skyeye/wiki/Linux#a5Linux-2.6.35onS3c6410platform
* 添加了一个独立的16550的uart模块。这样可以在任何虚拟开发板上通过修改配置文件来添加uart 16550的模块。
* 添加了信号和地址映射API,支持模块化的外设组件。
* 添加了一个调度器用来实现异步IO
* 添加了一个SOC目录,把所有arm的SOC模拟以独立的模块放到这个目录下。

一些小的修改有:
* 添加了一个load_file选项,来加载任意文件到内存地址
* 对gdb远程调试的一些小的修改
* 添加了最新版本的linux的测试用例

下载地址:
http://sourceforge.net/projects/skyeye

报告bug:
https://sourceforge.net/tracker/?group_id=85554&atid=576533

文档:
一共有四个pdf格式文档:中文的skyeye user manual, skyeye API, skyeye internals 和英文的skyeye user manual

Wiki:
https://sourceforge.net/apps/trac/skyeye/wiki

已知问题:
flash模拟和lcd模拟在32系统下运行不正常。Windows系统下不能编译SkyEye。预计下一个版本会解决这些问题。

感谢所有参与Skyeye-1.3.2_rc1版本开发的人。

- Thanks
- MK

angelating 发表于 2011-4-13 16:03:43

添加了信号和地址映射API

* 添加了信号和地址映射API,支持模块化的外设组件。
这个是在哪里实现的呢,是哪个函数呢

ksh 发表于 2011-4-15 16:48:42

参考文件common/include/skyeye_signal.h,如下:
57 typedef union interrupt_signal{
58         arm_signal_t arm_signal;
59         mips_signal_t mips_signal;
60         powerpc_signal_t powerpc_signal;
61 }interrupt_signal_t;
62
63 exception_t send_signal(interrupt_signal_t* signal);
64

angelating 发表于 2011-4-18 14:18:42

16550的uart模块

这个模块最终调用的底层的读写函数是添加了uart-16550模块的开发板上的uart模块的term或者stdio模式的读写吗。uart_16550怎么用呢,有测试例子吗?

ksh 发表于 2011-4-20 09:39:29

可以用SkyEye的arm_hello测试用例进行测试
1. 在skyeye.conf中添加如下行
uart_16550:base=0xe1000000, length=0x100, irq=0x20

表示在系统中添加了一个16550的uart外设。uart 16550的io起始地址是0xe1000000, 长度是0x100,你可以通过这个地址读写uart的寄存器。中断号为0x20

2. 启动SkyEye
运行 start命令启动SkyEye时候,可以用 show-map看当前的地址空间,可以看到uart_16550映射的地址空间,如下输出:
Start Addr                      Length                  Type
0x1000000                               0x1400000                     memory
0xf0000000                              0x0                     IO
0xe1000000                              0xe1000100                        IO

3.
修改测试用例中hello.c中
13         long* paddr=(long*)0xfffd001c;

13         long* paddr=(long*)0xe100 0000;

4. 重新编译arm_hello的测试用例,并运行,可以发现串口终端可以输出hello。这时模拟器用的串口是我们配置的uart_16550组件。

5. 通过这种方式,我们可以编写任何的SkyEye外设模块以及其他模块

Thanks
MK
页: [1]
查看完整版本: SkyEye-1.3.2发布