想学嵌入式又没钱买开发板的朋友,咱有路了!!
呵呵!我猜,你会进来的!一个偶然的机会我搜到了一个关于介绍虚拟开发板的帖子,这真是一个神奇的世界,只有你想不到的没有做不到的!
下面给出虚拟开发板的链接主页,感兴趣的朋友可以进去看看!
http://www.armux.org/index.php/虚拟开发板
顺便咱也问个问题,有同志用Codesourcery G++做开发的吗?结合Eclipse的插件这东西是不是很好用?给点意见。
顺便把在Centos下构建交叉编译环境的一个guide一并上传,喜欢这里,真的!
在Centos下构建交叉编译环境ourdev_636029O8DULW.pdf(文件大小:6.41M) (原文件名:CentOS_ARM开发环境建立.pdf) 不清楚,到底是什么,也也没个图片 不清楚,到底是什么,也也没个图片 看来这年头 无图无真相!
好吧,明天有机会了再整整!
今天实验室要关门了!我闪! 看不懂,先标记一下 无图无真相! mark MARK 吼吼!看一下! mark 谢谢 谢谢 回复【10楼】jjj206
谢谢
-----------------------------------------------------------------------
终于有一个勇于探索的朋友了!唉!感激涕零呀! 回复【4楼】qdsywh
看不懂,先标记一下
-----------------------------------------------------------------------
唉!这个可以慢慢懂!嘻嘻嘻))) 呵呵,看看先 好像牛逼啊 标记个 mark 曾记得若干年前的新闻里报道:某中学的“优秀”化学老师制作的大量内容丰富的课件,flsh动画什么的,学生们不用进实验室就可以“完成化学实验”,当时听得我是捏呆呆发_愣。 以为啥呢,原来qemu,用起来还是有些麻烦,现在更方便了
http://www.hugacy.com/read.php?tid=11
还有调试器呢
http://www.hugacy.com/read.php?tid=66
这个有图有真相 回复【18楼】cheerday
以为啥呢,原来qemu,用起来还是有些麻烦,现在更方便了
http://www.hugacy.com/read.php?tid=11
还有调试器呢
http://www.hugacy.com/read.php?tid=66
这个有图有真相
-----------------------------------------------------------------------
呵呵@ 怪俺没表达清楚! qemu也是个好东西,google都用它开发Android了,MTK有一个叫MStar的手机模拟器,可能是用它,看过源代码,实在看不懂 mark~~mark~ 无图无真相 mark 马克 折腾 把过程和原理说一下.教大家试用一下. 回复【26楼】hydgq
-----------------------------------------------------------------------
能搞懂的人不多 虚拟开发板??不错阿!!!! mark mark mark 没看懂。。。等会好好研究 强! 这个东西不过毕竟不是真的,要学驱动,还是找个开发板好。 留印,先闪人 mark 顶 mark 还有skyeye 回复【39楼】stdioh她的睫毛
还有skyeye
-----------------------------------------------------------------------
SkyEye - SkyEye介绍
1.SkyEye的起源和发展
2002年11月,一个偶然的机会,一群操作系统的爱好者在网上进行聊天,成立了一个TM-Linux兴趣小组,希望要做一些感兴趣的事情。当时在清华大学计算机系做博士后的陈渝提出做一个用软件实现的嵌入式开发板硬件模拟器,可以在模拟器上运行各种操作系统,这样就可以在没有开发板的情况下学习和研究操作系统。一开始就陈渝一人做,首先他了解了当前国际上的一些类似的项目,发现著名的μCLinux组织实现了一个armulator模拟器软件(在Linux系统上运行),可以模拟Ateml AT91(基于ARM7TDMI CPU)开发板,μCLinux可以在armulator(其网址为http://www.uclinux.org/pub/uCLinux/utilities/armulator/)上运行。于是陈渝以此为基点,借鉴armulator的实现,提出了SkyEye项目,其目标是让SkyEye仿真多种主流的嵌入式开发板和外设,实现一个可扩展的硬件模拟框架,让更多的嵌入式操作系统可以在SkyEye上运行。SkyEye项目于2002年12月1日正式建立后,陈渝完成的第一件工作是把armulator移植到了cygwin/windows环境下,其成果被μCLinux组织接收。接下来清华大学计算机系硕士生李明加入到SkyEye的开发中,8天后,SkyEye的第一个版本推出,再过了4天,μC/OS-II for SkyEye推出。在这期间,SkyEye的网站也建立起来了。紧接着,杨晔、王利明、尹首一等在校学生也加入到SkyEye的开发中,给SkyEye带来了新的活力,SkyEye进入了新的发展阶段,目前通过访问SkyEye的网站(http://www.skyeye.org/)和在linux公社上的SkyEye论坛( http://www.linuxfans.org)可以了解到SkyEye的最新进展并对有关嵌入式系统开发方面的问题进行交流,还可以到 http://gro.clinux.org/projects/skyeye/ 下载最新的SkyEye相关软件和文档。
2.SkyEye的背景
如果你看过电影"黑客帝国"(又称"matrix"),相信电影描述的虚幻世界会深深地吸引你,至少它是我们看过最有想象力的科幻电影之一。也许我们可以把SkyEye看作一个"matrix ",把运行在SkyEye上的各种程序看成是这个"matrix"中的芸芸众生。我们创造SkyEye和编写运行在SkyEye上运行的程序就是为了洞悉计算机的奥秘,尝尝当"造物主"的感觉。当看到各种软件Linux、μCLinux、μC/OS-II...在SkyEye上"愉快"地运行时,那种感觉真是太奇妙了。 对于那些想进行嵌入式系统软件开发和学习,或者想研究嵌入式Linux等操作系统和一些底层系统软件(如TCP/IP等)的研究和开发人员来说,可能存在如下几方面的问题:
(1)经常苦于经费不足,缺少足够的硬件开发板和完善的软件开发环境,相关的书籍对一些最新软件的分析还不够全面,无法深入研究和开发嵌入式软件。
(2)高层次的软件设计和开发一般不用太考虑底层硬件的实现细节,如果直接处于一个具体的硬件环境下,在开发和研究中可能会陷入硬件的具体细节中不能自拔,而不能把精力放到高层次的软件设计和开发上。
(3)如果硬件开发环境不太稳定(这种情况经常见到),且对具体的硬件不是很了解,则可能在排除问题上花费大量的不必要的时间。
(4)如果你想自己尝试设计一个操作系统,则先在一个提供源码级调试的软件仿真器上进行开发,可能会大大提高你的开发进度。
对于想了解、学习一般操作系统的实现原理,Linux/μCLinux操作系统或TCP/IP等系统级软件的实现的人员,目前一般采用的方法是看书和读源代码,这是一种静态的学习方法,效率较低,比较枯燥,缺少亲自实践的感觉。要想深入分析和开发软件,就要动手编程,不能只是看看书,读读代码,只有通过亲手实践才能够掌握软件设计的核心内容。上面所指出的问题和需求促使SkyEye项目的诞生。
3.SkyEye的目标
SkyEye是一个开源软件(OpenSource Software)项目,中文名字是"天目"。SkyEye的目标是在通用的Linux和Windows平台上实现一个纯软件集成开发环境,模拟常见的嵌入式计算机系统(这里假定"仿真"和"模拟"的意思基本相同);可在SkyEye上运行μCLinux以及μC/OS-II等多种嵌入式操作系统和各种系统软件(如TCP/IP,图形子系统,文件子系统等),并可对它们进行源码级的分析和测试。 纯软件的模拟器有许多种,如模拟一个芯片时序逻辑的模拟器、只模拟CPU指令的模拟器、模拟整个硬件开发板的模拟器、模拟一个PDA的模拟器等。存在一些纯软件的仿真器或模拟器,如Stanford大学的SimOS模拟器,它仿真的是MIPS系列CPU和相关外设,可以在其上运行SGI公司的Irix操作系统和软件,目前基本上停止了进一步的开发;PSIM是一个仿真PowerPC指令集的模拟器,目前只支持简单的命令行应用程序;xcopilot是一个PDA模拟器,它是由Greg Hewgill出于个人喜好编写的,它仿真的是M68K CPU,通过它可以给基于PalmOS的软件开发者提供一个模拟开发环境。Bochs是一个仿真x86 CPU的开源项目,目前还支持AMD64 CPU,在它上面可以运行Linux操作系统。其它一些商业的仿真软件如vmware和virtualPC可以仿真一个真实的x86计算机,而Virtutech Simics仿真器可以仿真多种CPU和硬件,功能强大,可用于硬件和系统软件的评测。
SkyEye是一个指令级模拟器,可以模拟多种嵌入式开发板,可支持多种CPU指令集,在SkyEye上运行的操作系统意识不到它是在一个虚拟的环境中运行,而且开发人员可以通过SkyEye调试操作系统和系统软件。由于SkyEye的目标不是验证硬件逻辑,而是协助开发、调试和学习系统软件,所以在实现上SkyEye与真实的硬件环境相比还是有一定差别的。SkyEye在时钟节拍的时序上不保证与硬件完全相同,对软件透明的一些硬件仿真进行了一定的简化。这样带来的好处是SkyEye的执行效率更高
SkyEye - 意义
(1) 通过SkyEye仿真集成环境可以很方便地进入到嵌入式系统软件学习和开发的广阔天地中。尤其对于缺少嵌入式硬件开发环境和软件开发环境的用户来说,它将是一个非常有效的学习工具和开发手段,因为SkyEye的整个软件系统都是Open Source的,且基于GPL协议(μCOS-II除外)。因此,如果要学习Linux操作系统或者进行嵌入式系统开发,但苦于没有硬件支持,SkyEye仿真环境软件是一个很好的选择!
(2) 如果想研究与具体硬件无关的系统软件(如TCP/IP协议栈等),采用SkyEye可以有效地提高工作效率,因为你可以直接在μCOS-II和μCLinux for SkyEye上进行开发和调试,而与具体硬件打交道的各种driver已经存在,且有源码级调试环境,只需关心高层的逻辑设计和实现就可以了。
(3) SkyEye本身作为一个开放式的项目体系,可以划分为多个独立的子项目系统。通过参与SkyEye的各个子项目,与大家共同交流、协作,可以进一步学习、分析、精通Linux内核,掌握ARM嵌入式CPU编程。
在32位嵌入式CPU领域中,ARM系列CPU所占比重很大,而ARM7TDMI是其中最广泛的一种ARM CPU核,因此SkyEye首先选择了ARM7TDMI作为仿真的目标CPU核,当然将来SkyEye会支持更多种类的CPU。目前在SkyEye上可运行并进行源码级调试ARM Linux、μCLinux、μC/OS-II操作系统和LwIP(一个著名的嵌入式TCP/IP实现)、MiniGUI(一个著名的嵌入式GUI系统)等系统软件。SkyEye可用于学习,分析,开发这些系统软件的实现,了解ARM嵌入式CPU编程。而这一切都可在一个纯软件的环境中完成。通过分析SkyEye本身实现,系统软件开发人员对ARM,8019as(NE2000兼容)以太网络芯片等硬件的了解也会更深入。
SkyEye并不能取代开发板等硬件的功能,但通过它可以比较容易进入到嵌入式软件的广阔天地中。由于SkyEye建立在GDB基础之上,使用者可以方便地使用GDB提供的各种调试手段对SkyEye仿真系统上的软件进行源码级的调试,还可以进行各种分析,如执行热点分析、程序执行覆盖度分析等。由于SkyEye提供了源代码和相关文档,有经验的用户完全可以修改和扩充SkyEye来满足自己的需求。
SkyEye - SkyEye模拟硬件介绍
目前SkyEye模拟了大量的硬件,包括CPU内核、存储器、存储器管理单元、缓存单元、串口、网络芯片、时钟等。下面做一简单介绍。
1.CPU和开发板系列
目前SkyEye可以模拟的CPU主要是基于ARM内核的CPU,包括ARM7TDMI,ARM720T,ARM9TDMI,ARM9xx,ARM10xx,StrongARM,XScale等。ARM7/9/10TDMI是ARM系列CPU的基本核心部分,它们不支持MMU/CACHE和一些扩展指令,是ARM CPU基本核。ARM720T、ARM920T、ARM10xx、StrongARM、Xscale是建立在以上ARM CPU核上,并扩展了MMU/CACHE和其它功能。各硬件开发公司可以根据它们的需求在上述CPU核上加上特定的扩展,形成基于各种ARM基本核心的特定CPU,如Atmel91X40和 ep7312,分别扩展了ARM7TDMI和ARM720T的内存控制和各种I/O控制器,简化了开发板的逻辑设计,大大增强了开发板的功能。
目前SkyEye模拟的开发板包括基于Atmel 91X40/AT91RM92 CPU的开发板,基于Crirus Logic ep7312的开发板、基于StrongARM CPU的ADSBITSY开发板,基于XScale PXA250 CPU的LUBBOCK开发板、基于SAMSUNG S3C4510B/S3C44B0 CPU的开发板、基于SHARP LH7A400 CPU的开发板、基于Philip LPC22xx CPU的开发板等。主要模拟了对应各个开发板的串口、时钟、RAM、ROM、LCD、网络芯片等硬件外设。
2.存储器管理单元和缓存单元
MMU(Memory Management Unit)即存储器管理单元,是用来管理虚拟内存系统的硬件。MMU的两个主要功能是:将虚地址转换成物理地址;控制存储器的存取权限。MMU关掉时,虚地址直接输出到物理地址总线。MMU本身有少量存储空间存放从虚拟地址到物理地址的匹配表,此表称作TLB(Translation Lookaside Buffers)。TLB表中保存的是虚址及其对应的物理地址,权限,域和映射类型。当CPU对一虚拟地址进行存取时,首先搜索TLB表以查找对应的物理地址等信息,如果没有查到,则进行查找translation table,称为Translation Table Walk(简称TTW)。经过TTW过程后,将查到的信息保存到TLB。然后根据TLB表项的物理地址进行读写。CACHE是缓存单元,主要用于缓存内存中的数据,其读写速度远快于内存的读写速度,所以可以提高CPU的内存数据的访问效率。
write/read buffer硬件单元的作用与CACHE的作用类似。MMU、CACHE、write/read buffer一般是高性能CPU的重要组成部分, 且不同类型CPU的MMU、CACHE、write/read buffer的逻辑行为也有一定的差异。为了支持模拟多种类型CPU的MMU/CACHE,SkyEye包含了一个通用的MMU/CACHE模拟实现。通过对一些参数的调整可以支持模拟多种类型的MMU/CACHE物理结构和逻辑行为。
3.网络芯片
目前SkyEye模拟了网络芯片8019AS,其特点是:NE2000兼容,内建 16KRAM缓冲区,10MB传输速率。虽然目前模拟的开发板上不一定有网络芯片8019AS,但我们可以在我们模拟的开发板上加上网络芯片8019AS的模拟。这样再加上在不同操作系统上的8019AS驱动程序,就可以方便地完成各种网络应用的开发和设计。目前已经在在基于Atmel91X40 CPU的开发板上实现了网络芯片8019AS扩展,并增加了μC/OS-II和μClinux的网络驱动程序,已经支持大量的网络应用程序,如LwIP (一个TCP/IP协议栈实现)、nfs server/clinet、http server/client、telnet server/client、ftp server/client等。
SkyEye - 设计实现
SkyEye软件的核心在目标模拟模块。为了提高模拟效率,且能够模拟更多的CPU、开发板和各种外设,方便开发人员进行开发和学习,SkyEye遵循如下的设计原则:
(1) 用C语言编程,采用面向对象的方式定义各种要模拟的硬件;
(2)定义抽象模拟硬件对象,最大化重用代码;
(3) 定义硬件配置脚本,使得不用改动SkyEye代码就可以灵活地调整各种硬件配置;
(4)保持与GDB上层接口的一致性,这样可充分利用GDB强大的源代码级调试功能。
SkyEye的总体结构
SkyEye基于GDB/ARMulator(目前由David McCullough 维护),并进行了全面的改变和扩展。SkyEye建立在GNU GDB的底层,可以模仿多种完整的嵌入式计算机系统,目前模拟的硬件包括CPU、内存、I/O寄存器、时钟、UART、网络芯片、MMU、CACHE,将来还会模拟 LCD、USB等各种硬件。在SkyEye上运行的操作系统和各种系统软件"意识"不到它们是在一个虚拟的计算机系统上运行。
SkyEye从总体上分为四个层次:
(1)用户接口模块:包括命令行用户界面和图形用户界面,完成处理用户的输入命令,并把相关调试数据输出给用户的任务。这一部分基本上直接利用了GDB的用户接口模块,并在此基础上有一定的扩充。
(2)符号处理模块:主要处理执行文件的头信息,解释执行文件中内嵌的debuger调试信息,对符号表的管理,对源代码表达式的解析,定位源代码中的语句位置和机器码的位置关系等。这一部分也是直接利用了GDB的符号处理模块,也正是有了这个模块的支持,SkyEye可以支持源码级调试。
(3)目标控制模块:主要完成执行控制(如中断程序的执行,设置中断条件等),程序栈结构分析,对具体目标硬件的控制(如本地调试、远程调试和模拟调试的控制)。这一部分完成对SkyEye上运行的软件的控制,提供了多种调试手段。
(4)目标模拟模块:这一部分是SkyEye的核心。它的功能是模仿计算机系统中的主要硬件(包括CPU、内存和各种硬件外设等)的执行,对执行文件的机器指令进行解释,并模拟执行每一条机器指令,产生相应的硬件响应等。[编辑本段]附录.
SkyEye - SkyEye的参考资料
网站:http://www.skyeye.org/
SVN:https://skyeye.svn.sourceforge.net/svnroot/skyeye
《源码开放的嵌入式系统软件分析与实践——基于SkyEye和ARM开发平台》 陈渝 李明 杨晔等编著
《嵌入式系统实践教程》 韩超 康烁 李明 编著
以上内容来自skyeye互动百科 rt-thread官方快讯(http://www.rt-thread.org/node/39)
慧至科技发布支持RT-Thread/mini2440仿真调试的图形化调试器
由 bernard 于 星期日, 05/08/2011 - 17:35 发表
Tags: 网站相关
Realboard图形化调试器v0.2发布包详细说明:
1. rbs3c2440.exe是s3c2440开发板仿真器,版本为realboard v1.1.1,目前能够支持的外设,覆盖了s3c2440的基本功能:
- 5个时钟和一个看门狗
- 中断控制器,支持时钟/看门狗中断,串口收发中断,IIC中断等
- 串口(Demo版本仅支持UART0和UART1),包括FIFO模式和非FIFO模式
- IIC控制器
- 电源管理(PWM)
- Nand/Nor Flash控制器
- LCD控制器
- SD卡控制器
- Touch/ADC控制器
2. rt-thread-0.4.0_beta1是rt-thread源代码,rt-thread是由优秀执着的国内IT精英开发的嵌入式操作 系统,编译生成方法请参考http://code.google.com/p/rt-thread/wiki /RunRTThreadOnMini2440
3. SDCARD是rt-thread演示所需的sdcard数据库.
4. realboard debugger.exe是realboard专用调试器,realboard的所有仿真平台都能用它调试相应的程序。
- armulator v2.x,支持arm+linux平台仿真调试
- realboard s3c44b0x/s3c2440,支持sdt,ads,armcc,arm-gcc等编译的二进制代码调试
realboard debugger支持源代码级调试,基本调试功能包括
- 断点设置/取消,断点个数不限
- 单步调试操作(step into, step over, step out)
- Tip查看,轻松方便
- 寄存器查看
- Memory查看
- Local查看
- Watch查看
- 调用栈
- 反汇编
除此之外,realboard debugger还提供基本的项目管理功能,
- 树型文件和函数列表,快速浏览,定位方便
- 导航条,与树型列表互动,给你另一种选择
- 菜单,工具条,条理清楚,轻松上手
5. readme.txt, Realboard调试器功能说明文件
6. 使用方法.txt, Realboard基本使用方法说明文件
7. start_debugger.bat是演示启动程序,点击之后可自动运行rbs3c2440.exe和realboard_debugger.exe realboard与qemu性能PK(rt-thread mini2440实测结果)
http://www.hugacy.com/read.php?tid=10
感谢大家关注realboard,再三感谢,尤其是众多发email过来询问的网友。
鉴于有网友怀疑realboad速度比qemu慢,事实胜于雄辩,提供测试方法如下:
测试方法:
分别运行两个batch程序,用秒表或PC时钟计时(大概1分钟左右结束)
计时方法:
程序启动开始计时;
出现UI画面结束计时.
测试代码(rt-thread 0.4.0 relese):
如果对测试代码有疑问,请联系rt-thread咨询
bsp/mini2440/sdcard.c
rt_uint8_t sd_init(void)
{
//-- SD controller & card initialize
int i;
sd_delay(1000000); //此处增加一行对ARM仿真性能进行压力测试
/* Important notice for MMC test condition */
/* Cmd & Data lines must be enabled by pull up resister */
SDIPRE = PCLK/(INICLK)-1;
SDICON = (0<<4) | 1; // Type A, clk enable
SDIFSTA = SDIFSTA | (1<<16);
SDIBSIZE = 0x200; /* 512byte per one block */
SDIDTIMER=0x7fffff; /* timeout count */
/* Wait 74SDCLK for MMC card */
for(i=0; i<0x1000; i++);
sd_cmd0();
参考配置:
Pentium(R) Dual-Core CPU
E5400 @ 2.70GHz 2.69GHz, 3.46GB of RAM
参考结果: qemu为47秒, realboard为28秒
realboard之所有没有达到23秒以内,是因为Timer处理和外设IO还有专门优化。
早期曾经对realboard核心指令集模拟器做过多媒体解码测试,综合性能是qemu的2倍。
详情请参考我的CSDN blog
realboard -- 继续挑战ARM高性能软件仿真极限
<** 任何个人或团体学习者,教育培训机构,自由项目开发组织,在非商业赢利前提下,均可以无偿体验和使用realboard,商业使用请联系作者获得授权**>
测试包中所含其它资源为自由软件开发组织所有,请参考各自许可协议 realboard与真实开发板的关系
http://www.hugacy.com/read.php?tid=83
realboard不谋求完全代替开发板,但可以在开发中的多个环节应用,提供高效率低成本的综合开发模式。
希望对90%的低效率重复开发工作提供方便直接的开发方式,留下来10%的精力放在真实的开发板上做验证。 mark 有点意思的,,虽然暂时用不上。 哦 哦 呵呵 标记下我这种穷人可能用得着 realboard是源自民族创新的嵌入式开发平台,
s3c2440模拟器realboard v1.1.1(内含友善之臂ucos演示)
http://www.hugacy.com/read.php?tid=243 mark 标记 mark 什么东东一点提示都没有贴出来!
页:
[1]