工具链文档c-sky qemu user guide_W_第1页
工具链文档c-sky qemu user guide_W_第2页
工具链文档c-sky qemu user guide_W_第3页
工具链文档c-sky qemu user guide_W_第4页
工具链文档c-sky qemu user guide_W_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 C-SKY QEMU 用户手册 C-SKY QEMUUser GuideVersion 0.10杭州中天微系统有限公司2014 年 7 月 9 日1杭州中天微系统有限公司 C-SKY QEMU 用户手册 声明:杭州中天微系统有限公司(C-SKY Microsystems Co.,Ltd)保留本文档的所有权利。本文档的内容可能发生更改、更新、删除、变动、恕不另行。 版权所有 2009-2012 杭州中天微系统有限公司公司地址:浙江省杭州市华星路 99 号东软创业大厦 A409 室邮政编码:310012电话真8888主页:www.c-s

2、 E-mail:2杭州中天微系统有限公司 C-SKY QEMU 用户手册 版本历史:3杭州中天微系统有限公司版本 日期 描述 作者 0.13/20/2012C-SKY QEMU 使用手册第一版 余超君、梁英超 0.23/3/2012添加了 SDHC 的使用说明 廉玉龙 0.33/3/2014添加了 IIS 控制器的使用说明 王会斌 0.44/22/2014添加了 windows 环境编译,windows tap模式设置 张文蒙 0.56/5/2014添加了 Linux 下动态插件的使用 修改了 windows 环境编译 廉玉龙 0.66/27/2014添加

3、了windows 平台下用户模式的使用说明 王会斌 0.77/3/2014添加了对动态插件的制作说明 毛晗 0.87/3/2014修改了windows 平台下用户模式的使用说明 王会斌 0.97/4/2014优化用户手册结构 王会斌、廉玉龙 0.107/9/2014修改了vdsp128/vdsp64 参数的使用说明 毛晗 C-SKY QEMU 用户手册 目录:声明:2版本历史:3目录:112概述1运行环境32.1 硬件环境32.2 软件环境3安装33.1 Linux 环境下安装33.1.1 解压源代码33.1.2 C-SKY QEMU 配置33.1.3 C-SKY QEMU 编译和安装43.2

4、 Windows 环境下安装53.2.1 设置MinGW 环境53.2.2 CSKY QEMU 配置53.2.3 QEMU 编译和安装6简单使用64.1 用户模式64.2 系统模式7用户模式85.1 选项85.2 GDB 使用85.3 Linux 平台用户模式使用实例93455.4Windows 平台用户模式使用实例96系统模式116.1 选项116.2 组合键136.3 Monitor146.4 磁盘镜像156.5 SoC 的模拟166.5.1 NFC186.5.2 USB186.5.3 网卡196.5.4 LCDC216.5.5 Timer226.5.6 UART236.5.7 IIS23

5、6.5.8 SDHC231杭州中天微系统有限公司 C-SKY QEMU 用户手册 6.6 GDB 使用246.7 系统模式使用实例266.7.1 由小boot 引导 Linux 的使用266.7.2 无小boot 引导 Linux 的使用296.7.3 NAND Flash 控制器使用306.7.4 Timer 的使用326.7.5 LCDC 的使用326.7.6 UART 的使用346.7.7 网络使用356.7.8 中断控制器的使用386.7.9 IIS 控制器的使用396.7.10 SDHC 的使用39动态插件437.1 Linux 平台下的使用437.2 windows 平台下的使用4

6、57.3 动态外设插件的定义46附录478.1 MinGW 环境自定义安装478.1.1 软件环境478.1.2 步骤478.2 vdsp 指令支持49788.3参考文献502杭州中天微系统有限公司 C-SKY QEMU 用户手册 1概述C-SKY QEMU 是一个快速的支持 C-SKY 全系列处理器的软件模拟器,有两种工作模式: 1. 系统模式 用于模拟基于C-SKY CPU 的 SOC 及开发板,包括 CPU 和外围设备,如 USB、LCDC、TIMER、NFC 等。运行在实际开发板上的程序或者操作系统可以在 C-SKY QEMU 上直接运行。它使得为系统源代码进行测试及除错工作变得容易。

7、 系统模式框架如下: 2. 用户模式 用于模拟运行标准的 C-SKY CPU Linux 应用程序。用户模式框架如下: 1杭州中天微系统有限公司 C-SKY QEMU 用户手册 QEMU 的特点:1.可以模拟 IA-32 (x86)个人电脑,AMD 64 个人电脑,MIPS R4000,升阳的 SPARC sun3 与PowerPC (PReP 及Power Macintosh)架构以及其他架构 (请参看QEMU 主页获得完整) 2.3.支持其他架构,不论在主机或虚拟系统上(请参看QEMU 主页获得完整) 在支持硬件虚拟化的 x86 构架上可以使用 KVM 加速配合内核 ksm 大页面备份内存

8、,速 度稳定远超过VMware ESX.8.9.增加了模拟速度,某些程序甚至可以实时运行可以在其他平台上运行 Linux 的程序 可以储存及还原运行状态(如运行中的程序) 可以虚拟网络卡 可模拟多CPUQEMU 不再依赖于GCC3.X 版本,并且做到了“真正” 的动态翻译。 C-SKY QEMU 支持以下CPU: 1)C-SKY V1 指令集 CK510(E) CK520 CK610(EM)CK6202)C-SKY V2 指令集CK802(J)CK803(J) CK810本文详细介绍了C-SKY QEMU 软件模拟器的安装和使用,引导开发人员在没有开发板的情况下,利用本模拟器进行

9、基于 C-SKY CPU 的应用程序开发,调试,测试。下文主要通过以下几个方面进行介绍:运行环境,安装和使用,常用选项,SOC 的模拟,调试模式使用,使用实例。 2杭州中天微系统有限公司 C-SKY QEMU 用户手册 2运行环境2.1 硬件环境基于 x86 架构的 PC 或服务器。2.2 软件环境Linux 环境: 1、主机的 Linux 内核版本Linux 2.6.31 及以上2、主机标准C 库版本 glibc-2.3.4-2.43 及以上 Windows 环境: 1、 windows xp 及以上版本 2、 msys 1.0 及以上版本 3、 tdm gcc 4.6 版本 4、 SDL

10、1.2.15 版本 5、 Zlib 1.2.2 版本 3安装3.1 Linux 环境下安装3.1.1 解压源代码在当前用户目录(这里为/home/liangyc)下新建一个 qemu 目录(该目录可以由用户自行指定), 并把源码的压缩文件qemu-0.14.1.tar.gz 拷贝到该目录下,解压缩后进入源码目录: 3.1.2 C-SKY QEMU 配置进入源码目录后就可以配置 C-SKY QEMU 了,配置命令如下: 3杭州中天微系统有限公司/home/liangycmkdir qemu/home/liangyccd qemu/home/liangyc/qemutar zxvf qemu-0.

11、14.1.tar.gz/home/liangyc/qemucd qemu-0.14.1 C-SKY QEMU 用户手册 配置时通过-prefix 参数指定程序安装的路径,这里将 C-SKY QEMU 安装到 qemu/qemu-install 目录下;-target-list 参数指定编译的目标,目前支持八种模式的配置,在配置时可以选择其中的一种或者几种模式来进行配置,这八种模式分别是: 更多的配置参数可以通过配置时加上-help 来查看:3.1.3 C-SKY QEMU 编译和安装配置完成后下一步就是安装了:C-SKY QEMU 的安装路径已经在配置时通过-prefix 参数指定,安装后生成

12、的可执行文件在 qemu/qemu-install/bin 下面,如下图所示: 4杭州中天微系统有限公司/home/liangyc/qemu/ qemu-0.14.1make/home/liangyc/qemu/ qemu-0.14.1make install/home/liangyc/qemu/qemu-0.14.1./configure -help-target-list=cskyv1-linux-userC-SKY CPU V1 小端用户模式-target-list=cskyv2-linux-userC-SKY CPU V2 小端用户模式-target-list=cskyv1eb-lin

13、ux-userC-SKY CPU V1 大端用户模式-target-list=cskyv2eb-linux-userC-SKY CPU V2 大端用户模式-target-list=cskyv1-softmmuC-SKY CPU V1 小端系统模式-target-list=cskyv2-softmmuC-SKY CPU V2 小端系统模式-target-list=cskyv1eb-softmmuC-SKY CPU V1 大端系统模式-target-list=cskyv2eb-softmmuC-SKY CPU V2 大端系统模式/home/liangyc/qemu/qemu-0.14.1./con

14、figure-target-list=”cskyv1-linux-user cskyv1eb-linux-user cskyv2-linux-usercskyv2eb-linux-user cskyv1-softmmucskyv1eb-softmmucskyv2-softmmu cskyv2eb-softmmu” -prefix=/home/liangyc/qemu/qemu-install C-SKY QEMU 用户手册 为了执行程序的方便,将可执行文件的路径设置到$PATH 环境变量中: 3.2 Windows 环境下安装3.2.1 设置 MinGW 环境在 Windows 平台下编译安装

15、 QEMU 需要设置 MinGW 环境,设置 MinGW 环境的过程较为繁琐耗时,所以我们提供了已经设置好环境的 MinGW 压缩包 MinGW-csky-qemu.tar.gz,用户可直接解压缩即可得到设置好的MinGW 环境。当然,用户也可以自定义配置 MinGW 环境,请参考附录 8.1(MinGW 环境自定义安装)。为叙述方便,这里以%mingw-path%代表 MinGW 所在路径。 3.2.2 CSKY QEMU 配置将qemu源 码 拷 贝 到 %mingw-path%msys1.0homeuser目 录 下 , 在 到 %mingw-path%msys1.0 运行 msys.b

16、at 脚本,会出现一个类似linux shell 的命令行窗口,在 Windows 下 QEMU 的编译配置与 linux 的类似,比如要编译一个执行 ABIV2 系统模式的QEMU。因 Windows 平台下 QEMU 用户模式是利用系统模式的封装来实现的,所以在 configure 的时候不需要在目标列表中指明用户模式的 qemu 应用程序。比如要编译一个能执行执行 ABIV2系统模式或用户模式的QEMU,需要按照如下方式配置: 故 windows 平台下的QEMU 只支持四种target-list 选项,这四种模式分别是: 5杭州中天微系统有限公司./configure target-l

17、ist=cskyv2-softmmu prefix=”C:Program FilesQemu”/home/liangyc/qemu/qemu-installexportPATH=$PATH:/home/liangyc/qemu/qemu-install/bin C-SKY QEMU 用户手册 3.2.3 QEMU 编译和安装Windows 下的编译与安装也跟 linux 类似。如果前面configure 指定了prefix,则会安装到指定的安装目录,否则会安装到默认的C:Program FilesQemu,建议将安装目录添加到环境变量Path 中(右键“计算机”-属性-高级系统设置-环境 变量

18、-修改 Path 环境变量)。 4简单使用4.1 用户模式这里以一个 Main 程序为例简单介绍下C-SKY QEMU 用户模式的使用。main.c: Main 程序经 csky-elf-gcc 工具编译后生成可执行文件 main: 用 qemu 运行 main 程序,结果如下:6杭州中天微系统有限公司/home/liangyc csky-linux-gcc main.c o main#include int main()printf(“Hello C-SKY!n”); return 0;makemake install-target-list=cskyv1-softmmuC-SKY CPU

19、V1 小端系统模式和用户模式-target-list=cskyv2-softmmuC-SKY CPU V2 小端系统模式和用户模式-target-list=cskyv1eb-softmmuC-SKY CPU V1 大端系统模式和用户模式-target-list=cskyv2eb-softmmuC-SKY CPU V2 大端系统模式和用户模式 C-SKY QEMU 用户手册4.2 系统模式C-SKY QEMU 的系统模式下可支持三种文件格式的程序加载:elf 文件,uimage 文件和 bin 文 件。以加载运行C-SKY Bootloader V3.0 的 elf 映像文件为例: -soc:

20、指定 elf 文件运行的 SOC 平台 -kernel:指定 elf 文件的路径引导入ram 中运行 -serial stdio:使模拟的串口输入、输出与当前终端挂钩运行后如下:在 Bootloader 命令提示符下可以输入命令,如下图: 7杭州中天微系统有限公司 C-SKY QEMU 用户手册 5用户模式5.1 选 项更多选项见 QEMU 用户文档。5.2 GDB 使用C-SKY QEMU 支持和 csky-gdb 进行联机调试,可以在 QEMU 运行目标程序的时候调试目标程序,观察程序运行过程中的状态。 仍以 4.1 中用户模式下运行 Main 程序为例来说明如何连接 csky-gdb 和

21、 C-SKY QEMU 来调试用户程序。 首先用 C-SKY QEMU 装载可执行程序,并打开 1122 端口: 如上图,C-SKY QEMU 正在等待 csky-gdb 连接到端口 1122。在另一终端开启 csky-gdb 调试 main 程序,并通过target remote localhost:port 命令连接到端口1122,如centos55 的IP 为1,那么命令则为:target remote 1:11228杭州中天微系统有限公司-h显示帮助信息 -s设置 c-sky 的堆栈大小(默认为 0x800000Byte) -cpu mode

22、l选择 cpu 类型(例如-cpu ck803),可以输入-cpu ?得到所有支持的 cpu类型 -d输出 log 信息(logfile=/tmp/qemu.log) -g port等待 gdb 连接到端口:port-singlestep设置为目标应用程序为单步模式运行 C-SKY QEMU 用户手册 接下来便可以正常使用 GDB 进行调试了。 5.3 Linux 平台用户模式使用实例在 C-SKY QEMU 用户模式下运行dhrystone 程序,该程序用来评估cpu 性能,如图所示: 按照程序提示输入执行的次数,如 10000000 次,测试结果如下: 5.4 Windows 平台用户模式

23、使用实例与 Linux 平台下的QEMU 用户模式不同,QEMU 模拟器在 windows 平台下的用户模式是用系统模式+内核镜像的方式实现的,其用法也和前者有较大的差异。 要在 windows 平台下使用用户模式,首先要编译安装系统模式的模拟器程序,这个过程包括设置 MinGW 环境、QEMU 配置、编译和安装以及设置 host 机网络等步骤,详细的说明请参照 3.2 节(windows 环境下安装)和 小节(系统模式网络使用),注意 host 机创建的 TAP 虚拟网卡必须命名为TAP0.在安装 QEMU 系统模式时,会默认将用户模式的执行脚本 linux-user.bat

24、 和 csky Linux 内核镜像也安装到对应的安装目录中。(QEMU 在 windows 下默认的安装目录是 C:Program FilesQemu, 如果用户在configure 的时候指定了 prefix,则安装到用户指定的目录;建议用户将QEMU 的安装目录加入到环境变量Path 中,这样在执行QEMU 模拟器是就可以不用指明全路径,非常方便) QEMU 安装成功后,可以从 command 窗口用命令行的方式启动 QEMU 用户模式(如果没有指定 Path 则 需 要 到 QEMU 的 安 装 目 录 或 输 入 全 路 径 运 行 此 脚 本 ), 通 过 参 数 -cskyv1/

25、-cskyv1eb/-cskyv2/-cskyv2eb 选择 cpu 的 ABI 版本和大小端,其他参数都和 QEMU 的系统模式一样。如下图所示: 9杭州中天微系统有限公司 C-SKY QEMU 用户手册 回车,模拟器即开始运行。 待内核启动完毕后,用户首先需根据自己的需要配置模拟器的 IP 地址(设置为与自己host 机上的TAP 虚拟网卡处于同一网段的合法 IP),这里做一个简单的示例。 A 的 host 机 TAP 虚拟网卡,IP 为 35,A 想设置模拟器内 Linux 内核的 IP 为 0,如下图: 经过以上配置,用户就可以通过

26、FTP 往模拟器中运行的内核文件系统中传文件了(Linux 内核里已经默认启动了 FTP 服务器),可以直接在 windows 资源管理器地址栏输入 0或者利用其他专门的 ftp 软件。 ftp 连接上之后,就可以向 FTP 服务器上传文件了,因为用户目的是利用 QEMU 模拟器运行CSKY 的 Linux 应用程序,所以应该把应用程序文件以及所需要的数据文件都上传的 FTP 服务器上。如 A 想在模拟器上跑hello 应用程序,该程序需要一个 input.dat 的数据文件,则将这两个文件 传到 ftp 服务器。 然后我们就可以在模拟器 Linux 内核的

27、文件系统中看到该文件,默认在根目录的 ftp 目录下。 这时可以到 ftp 目录下执行 hello 应用程序,可以看到应用程序的执行结果,在这个例子中, 执行结束后会产生一个 output.dat 的输出文件,然后 A 可以通过 ftp 下载该输出文件。 上面的例子中,hello 是用静态链接生成的应用程序。如果使用动态链接的程序,用户还需要将所需要的动态库文件一并通过 ftp 上传,并在 Linux 内核中指定库路径,然后应用程序才能正确运行。 10杭州中天微系统有限公司 C-SKY QEMU 用户手册 6系统模式6.1 选 项常用选项:USB 相关:网络相关:默认选项:-net nic,

28、-net user-net nic,vlan=n ,macaddr=mac ,model=type ,name=name创建一个网卡,子选项含义如下: 11杭州中天微系统有限公司,vlan=n网卡连接到 vlan n,默认为 vlan 0,macaddr=mac设置网卡 mac 地址 -usb使能USB 从设备的模拟 -usbdevice devname添加 USB 具体的从设备,可以通过查看控制台命令 usb_add 帮助信息获得更为详细的信息 -h显示帮助信息 -version显示版本信息 -M machine选择模拟的机器,可以输入-M ?得到一个模拟的机器列表 -cpu model选择

29、 cpu 类型(例如-cpu ck803),可以输入-cpu ?得到所有支持的 cpu类型 -nographic使用这个选项可以禁止所有的图形输出,这样 Qemu 只是一个简单的命令行程序,模拟的串口将会重定向到命令行。所以,仍然可以在Qemu 平台上使用串口命令来调试 Linux 内核 -m megs设置目标板内存尺寸为megs M 字节。默认情况下位 128M-serial dev重定向虚拟串口到主机的字符设备,在图形化界面下默认的设备类型C,在非图形化界面下默认的设备类型为stdio-parallel dev重定向虚拟并口到主机的设备 -monitor dev重定向监视器到主机的设备 -

30、mtdblock file用此文件作为板子上的存储镜像 -snapshot写入临时文件而不是磁盘镜像文件。在这种情况下,并没有写回所使用的磁盘镜像文件,可以使用Ctrl-a s 来强制写回磁盘镜像文件 -bios指定一个小 boot 程序用于将 bin 文件引导入内存中 -binstart当载入的文件为 bin 文件且没有小 boot 进行引导时,此参数可指定 bin 文件的开始运行的地址 C-SKY QEMU 用户手册 -net user,option,option,.使用用户模式网络 -net tap,vlan=n,name=name ,ifname=name,script=file,do

31、wnscript=dfile将 host 机 tap 虚拟网卡到qemu 网络的连接,子选项含义如下: -net socket,vlan=n,name=name,fd=h,listen=host:port,connect=host:port采用 tcp socket 连接两个 qemu 虚拟机中的 vlan n,子选项含义如下: -net socket,vlan=n,name=name,fd=h,mcast=maddr:port所有VLAN 连接到一个 UDP 多播套接字上,从而使多个VLAN 通过一个总线通信。 -net vde,vlan=n,name=name,sock=socketpat

32、h,port=n,group=groupname,mode=octalmode12杭州中天微系统有限公司,vlan=n将 vlan n 连接到VDE,name=name指令连接的名称 ,sock=socketpath连接的 socket 路径 ,port=n连接到 VDE 的端口n,vlan=n将 vlan n 连接到套接字上 ,name=name指定连接名称,qemu 控制台可见 ,fd=h指定已经打开的 UDP 多播套接字 ,mcast=maddr:port指定共享总线的地址和端 ,vlan=n指定 vlan n,默认为 vlan 0,name=name连接命名,qemu 控制台可见 ,f

33、d=h指定已打开的 tcp socket,listen=host:port指定端口 ,connect=host:port连接到另一 qemu 虚拟机中 listen 指定的端口 ,vlan=ntap 连接到 vlan n,默认为vlan 0,name=nameTAP 网卡命名,qemu 控制台可见 ,ifname=name指定 tap 名 ,script=file制定网络配置文件,默认为/etc/qemu-ifup,downscript=dfile制定网络配置清除文件,默认为/etc/qemu-ifdownvlan=n指定 vlan n,默认为 vlan 0name=name指定连接名,qem

34、u 控制台可见 net=addr/mask设置网络 IP 和掩码,目标系统可见,默认为 /8host=addr设置目标机可见的 host 机地址,默认为目标机网络段的第二个 IP,即 x.x.x.2.restrict=y|yes|n|noy/yes 表示目标机不能与HOST 机以及其他目标机通信,即被孤立 ,model=type指定待创建的网卡,C-SKY QEMU 仅支持 csky_mac,name=name网卡命名,qemu 控制台可见 C-SKY QEMU 用户手册 -net dump,vlan=n,file=file,len=len将 vlan n 的网络情况 dump

35、 到文件中,默认文件为 -net none网络禁用,覆盖默认网络配置-net nic net userLinux 启动相关: 当使用 Linux 相关的选项时,可以指定一个内核,而没有将它安装在磁盘镜像中。这对于简单的测试各种内核是相当有用的。 GDB 调试相关:更多选项见 QEMU 用户文档。6.2 组合键在图形化的模拟时,可以使用下列组合键:在模拟中,如果使用“-nographic“选项,可以使用Ctrl-a h 来得到终端命令: 13杭州中天微系统有限公司Ctrl-Alt-f全屏化 Ctrl-Alt-n切换虚拟终端 n,标准的终端映射如下: 1、 目标系统显示(target system

36、 display) 2、 控制台(monitor) 3、 串口 Ctrl-Alt切换鼠标和键盘 在虚拟控制台中, 我们可以使用 Ctrl-up, Ctrl-dowm, Ctrl-PageUp 和 Ctrl-PageDown 在屏幕中进行移动 -s等待 gdb 连接到端口(默认端口为 1234) -gdb tcp:port改变连接的 gdb 端口 -S在启动时并不启动CPU-d输出log 到/tmp/qemu.log 文件 -kernel bzImage使用 bzImage 作为内核映像 -append cmdline使用 cmdline 作为内核的命令行 -initrd file使用file

37、作为初始的 ram 磁盘 ,vlan=n指定 vlan n,默认为 vlan 0,file=file指定 dump 目标文件,默认为qemu-vlan0.pcap,len=len指定每个包的最大字节数,默认为 64k,group=groupname修改通信端口的默认组 ,mode=octalmode修改通信端口的默认权限 C-SKY QEMU 用户手册 6.3 Monitor在 QEMU 模拟运行目标程序的时候,同时也会启动 Monitor,用于查看目标机的状态或者控制目标机的运行。在 Monitor 中,可以完成的操作有添加删除设备、获取虚拟机运行状态、更改虚拟机在运行时的配置等。 启动 Q

38、EMU 后通常是看不到 Monitor 界面的。要进入该界面,可以在 QEMU 窗口激活的时候按住 Ctrl+Alt+2 进入,切换回工作界面需要按 Ctrl+Alt+1。另外,还可以在 QEMU 启动的时候指定-monitor 参数。例如-monitor stdio 将允许标准输入作为 monitor 命令源。 Monitor 的命令非常多,可以参考 QEMU 用户文档,下面只列举几个常用的命令: help 和 help cmd:Help 可以打印所有命令的帮助信息(help)或者查询显示某个命令的简要帮助信息(help cmd) info:info 命令主要用来显示虚拟机的运行信息吗,比如

39、 info blockstatus 将显示虚拟机中的块 设备的读写操作的信息。下面是在 Minitor 中执行help info 命令的结果: 14杭州中天微系统有限公司Ctrl-a h打印帮助信息 Ctrl-a x退出模拟 Ctrl-a c在终端和控制台之间进行切换 Ctrl-a s将磁盘信息保存入文件(如果为-snapshot) C-SKY QEMU 用户手册 q:退出模拟器logfile filename:输出 log 信息到 filename usb_add devname:添加 USB 设备 usbdevname:从 QEMU 虚拟的 USB hub 上删除 USB 设备,可以输入

40、infousb_del来查看可以删除的 USB 设备6.4 磁盘镜像C-SKY QEMU 的磁盘镜像可以作为存储NAND FLASH 的镜像文件来保存写入NAND FLASH中的数据。用下面的命令来创建一个磁盘映像: 这里myimage.img 是磁盘映像的文件名,而 mysize 是以K 表示的尺寸.。我们也可以使用 M后缀来表示尺寸,或是使用 G 作为后缀来表示尺寸。 qemu-img 的使用方法:15杭州中天微系统有限公司/home/liangycqemu-img create myimage.img mysize C-SKY QEMU 用户手册 可以支持下面的一些命令:命令参数: fi

41、lename base_image修改的数据 fmt(1) raw(2) qcow(3) cow磁盘映像文件名 只读的磁盘映像,可以作为拷贝到写映像的基础。写映像上的拷贝只存储 磁盘映像格式。在大多数情况下可以自动检测,可以支持下面的格式: raw 是磁盘的默认格式。这种格式有简单并且易于移植到其他模拟器的优点。Qemu 映像格式。最通用的格式,可以获得较小的映像。 在写映像格式上的用户模式的 Linux 拷贝。在 QEMU 中作为增长的映像格式使 用.这个选项只是为了与以前版本的兼容,并不能在Win32 上使用。 (4) vmdk(5) cloop sizeVMware 3 和 4 兼容的映

42、像格式。 Linux 压缩的循环映像,重用直接压缩的 CD-ROM 映像。 以 K 表示的磁盘映像的尺寸,同时可以支持M 或是G 作为后缀。 output_filename output_fmt-c-e目的磁盘映像文件名目标格式 表明目标映像必须是压缩的(只是qcow 格式) 表明目标映像必须是加密的(只是qcow 格式)例如我们要创建一个 1G 的名为 test 格式为 raw 的磁盘镜像,命令如下 6.5 SoC 的模拟模拟的 SOC 具有和实物开发板一样的内存空间分布和外围设备及其地址空间分布。同样,类似实物开发板,模拟的 SOC 也可以支持不同的 CPU(由-cpu 选项确定),包括的

43、 CPU 有: 1)C-SKY V1 指令集 CK510(E) CK520 CK610(EM)CK6202)C-SKY V2 指令集16杭州中天微系统有限公司/home/liangyccreate -e -b base_image -f fmt filename size/home/liangyccommit -f fmt filename/home/liangycconvert -c -e -f fmt filename -O output_fmt output_filename/home/liangycinfo -f fmt filename/home/liangycqemu-img co

44、mmand command options C-SKY QEMU 用户手册 CK802(J)CK803(J) CK810总体存储空间分布如下:内存地址分配如下:外围设备及其地址空间如下:17杭州中天微系统有限公司地址空间(16 进制)设备0x1000_0000-0x1000_0FFFAHB arbiter0x1000_1000-0x1000_1FFFMMCA0x1000_2000-0x1000_2FFFPower Management0x1000_3000-0x1000_3FFFDMA controller0x1000_4000-0x1000_4FFFLCDC controller0x1000

45、_5000-0x1000_5FFFUSB device controller0x1000_6000-0x1000_6FFFMAC controller -registers0x1000_7000-0x1000_7FFFMAC controller -buffer descriptor0x1000_8000-0x1000_AFFFNFC controller0x1000_B000-0x1000_BFFFUSB host controller0x1000_C000-0x1000_FFFFReserved0x1001_0000-0x1001_0FFFInterrupt controller0x100

46、1_1000-0x1001_1FFFTimer0x1001_2000-0x1001_2FFFReal Time clock0x1001_3000-0x1001_3FFFWatchdog0x1001_4000-0x1001_4FFFPWM0x1001_5000-0x1001_5FFFUart00x1001_6000-0x1001_6FFFUart10x1001_7000-0x1001_7FFFUart20x1001_8000-0x1001_8FFFI2C bus controller0x1001_9000-0x1001_9FFFGPIO controller0x1001_A000-0x1001_

47、AFFFSPI Maste0x1001_B000-0x1001_BFFFAC970x1001_C000-0x1001_CFFFSDHC地址空间大小描述控制器0x0000_0000-0x007F_FFFF8MBoff chip NOR-FLASHMMCA0x0080_0000-0x0080_1FFF8KBon chip SSRAMMMCB0x0800_0000-0x0FFF_FFFF128MBoff chip SDRMMCA地址空间大小描述0x0000_0000-0x0FFF_FFFF256Mon/off chip memory0x1000_0000-0x1FFF_FFFF256Mon chip

48、 peripheral0x2000_0000-0xFFFF_FFFFreversed C-SKY QEMU 用户手册 模拟的 SOC 开发板框架core select3 CPUcores clkgen & rstgenCPU/SoC select6.5.1 NFCC-SKY QEMU 模拟了NAND Flash 控制器,使用户很方便的对 C-SKY CPU NAND Flash(即QEMU DISK IMAGE)进行读写操作。NAND Flash 控制器由控制逻辑、寄存器单元、数据缓存、ECC 等模块构成。由于模拟的 C-SKY CPU NAND Flash 并不会出现硬件中的坏块现象,所以

49、ECC 模块以及NFC 使能和中断等功能没有进行模拟,方便了用户的操作。 模拟的 NAND Flash 控制器具有以下几个特点:a31.2.3.支持器件的页面大小为 512Byte IO 宽度为 8支持两个数据缓存器 Buf0 和 Buf1NAND Flash 控制器的地址空间分配如下: 寄存器14b00_0000_0000_0000-14b00_1111_1111_1111; 数据缓存器 014b01_0000_0000_0000-14b01_1000_0111_1111; 数据缓存器 114b10_0000_0000_0000-14b10_1000_0111_1111; NAND Flas

50、h 控制器中所有控制和状态寄存器的地址映射与相关功能的描述见附录。6.5.2 USB18杭州中天微系统有限公司other SoC parts0x1001_D000-0x1001_FFFFReserved0x1002_0000-0x1FFF_FFFFReserved C-S KY QEMU 用户手册 我们模拟了 USB 主控制器,这样客户可以插入各种USB 设备进行开发、测试等工作。 支持的 USB 设备主要有:鼠标、键盘、U 盘等常见 USB 设备,并且需要系统的相应驱动支持。加载USB 设备有两种方法: 1. 在运行程序开始时加载USB 设备,即命令行输入时加入-usbdevice 设备:

51、2. 在运行程序时使用-usb 选项使能 USB 主控器,在进入程序后在 QEMU 控制台用 usb_add 或 者 usb_del 加载或者卸载 USB 设备 6.5.3 网卡C-SKY QEMU 模拟了C-SKY MAC 控制器,是虚拟机能够与外界进行通信,示意图如下。 + |Guest OS +-+|NIC|+-+-+-+-+ | +-+|+ Other IFVLAN | + Other IF+-+|+ +命令行上-net nic 即为虚拟机创建了 csky_mac 网卡,且目前仅支持该网卡。 虚拟机启动之后可以再 Monitor 中查看网络状态: 虚拟机的虚拟网卡连接在模拟器虚拟的 VLAN 中。每个 C-SKY QEMU 的运行实例可以虚拟一些VLAN,虚拟机网络设备接入这些VLAN 中。当某个 VLAN 上连接的网络设备发送数据帧, 与它在同一个VLAN 中的其它网路设备都能接收到数据帧。没有指定其连接的 VLAN 号时,默认将该网卡连入vlan0。各个 VLAN 通过 4 种通信方式与外界联网。 1、 User mode stack这种

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论