QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 5207|回复: 4

SkyEye-1.3.2发布

[复制链接]
发表于 2010-11-19 17:38:48 | 显示全部楼层 |阅读模式
经过几个月的开发,Skyeye-1.3.2可以发布了。相对于上一个版本,我们的主要修改为:
* 添加了S3C6410的模拟,可以运行不加修改的linux系统,希望将来可以运行android。相关文档在:
https://sourceforge.net/apps/tra ... 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
发表于 2011-4-13 16:03:43 | 显示全部楼层

添加了信号和地址映射API

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

使用道具 举报

 楼主| 发表于 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
回复

使用道具 举报

发表于 2011-4-18 14:18:42 | 显示全部楼层

16550的uart模块

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

使用道具 举报

 楼主| 发表于 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
回复

使用道具 举报

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

本版积分规则

GMT+8, 2024-11-23 17:26 , Processed in 0.308172 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

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