QEMU平台构建基于PowerPC单核SoC并运行DES程序.ppt_第1页
QEMU平台构建基于PowerPC单核SoC并运行DES程序.ppt_第2页
QEMU平台构建基于PowerPC单核SoC并运行DES程序.ppt_第3页
QEMU平台构建基于PowerPC单核SoC并运行DES程序.ppt_第4页
QEMU平台构建基于PowerPC单核SoC并运行DES程序.ppt_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

,QEMU平台构建基于PowerPC单核SoC 并运行DES程序,彭会成 冯彦朝,outline,ppc405 board DMA and Timer Memory Map bootloader问题 qemu仿真ppc405运行des程序,Board,ppc405_uc.c文件(QEMU PowerPC 405 embedded processors emulation),DMA,DMA controller,DMA结构体,定义接口,功能没有实现,Timer,ppc405_uc.c 文件中有 General purpose timers 该模块和DMA一样定义了接口没有实现功能。,Memory Map,* - PowerPC 405EP CPU * - SDRAM (0x00000000) * - Flash (0xFFF80000) * - SRAM (0xFFF00000) * - NVRAM (0xF0000000) * - FPGA (0xF0300000) * - GPT (General purpose timers) (0xef600000) * - Serial ports (0xef600300) * - OPB arbitrer (0xef600600) * - IIC controller(0xef600500) * - GPIO (0xef600700),bootloader,ram_addr_t ppc405_set_bootinfo (CPUPPCState *env, ppc4xx_bd_info_t *bd, uint32_t flags) CPUState *cs = CPU(ppc_env_get_cpu(env); ram_addr_t bdloc; int i, n; /* We put the bd structure at the top of memory */ if (bd-bi_memsize = 0x01000000UL) bdloc = 0x01000000UL - sizeof(struct ppc4xx_bd_info_t); else bdloc = bd-bi_memsize - sizeof(struct ppc4xx_bd_info_t); stl_be_phys(cs-as, bdloc + 0x00, bd-bi_memstart); stl_be_phys(cs-as, bdloc + 0x04, bd-bi_memsize); stl_be_phys(cs-as, bdloc + 0x08, bd-bi_flashstart); stl_be_phys(cs-as, bdloc + 0x0C, bd-bi_flashsize); stl_be_phys(cs-as, bdloc + 0x10, bd-bi_flashoffset); stl_be_phys(cs-as, bdloc + 0x14, bd-bi_sramstart); stl_be_phys(cs-as, bdloc + 0x18, bd-bi_sramsize); stl_be_phys(cs-as, bdloc + 0x1C, bd-bi_bootflags); stl_be_phys(cs-as, bdloc + 0x20, bd-bi_ipaddr); for (i = 0; i as, bdloc + 0x24 + i, bd-bi_enetaddri); ,bootloader,stw_be_phys(cs-as, bdloc + 0x2A, bd-bi_ethspeed); stl_be_phys(cs-as, bdloc + 0x2C, bd-bi_intfreq); stl_be_phys(cs-as, bdloc + 0x30, bd-bi_busfreq); stl_be_phys(cs-as, bdloc + 0x34, bd-bi_baudrate); for (i = 0; i as, bdloc + 0x38 + i, bd-bi_s_versioni); for (i = 0; i as, bdloc + 0x3C + i, bd-bi_r_versioni); stl_be_phys(cs-as, bdloc + 0x5C, bd-bi_plb_busfreq); stl_be_phys(cs-as, bdloc + 0x60, bd-bi_pci_busfreq); for (i = 0; i as, bdloc + 0x64 + i, bd-bi_pci_enetaddri); n = 0x6A; if (flags ,bootloader,ppc405_boards.c文件中调用了ppc405_set_bootinfo函数 bdloc = ppc405_set_bootinfo(env, ,运行des程序,交叉编译器eldk-5.1 在一种计算机环境中运行的编译程序,能编译出在另外一种环境下运行的代码,我们就称这种编译器支持交叉编译。这个编译过程就叫交叉编译。 例如在X86 Ubuntu操作系统下面使用eldk-5.1编译c文件,使可执行文件在ppc405下可执行。 1.配置编译环境 source /opt/eldk-5.1/powerpc-4xx-softfloat/environment- setup-ppc405-linux 2.编译des.cpp文件 powerpc-linux-g+ -static -o des405 des.cpp,运行des程序,socubuntu:$ qemu-ppc -cpu 405 des405 请输入明文(8个字符):12345678 请输入密钥(8个字符):abcdefgh 产生的密文为: 2进制形式: 11010000 11010110 11010001 11101001 00100001 11111110 0

温馨提示

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

评论

0/150

提交评论