Board从入门到精通系列(六).doc

Board从入门到精通系列(六).doc

ID:27464494

大小:222.50 KB

页数:8页

时间:2018-12-04

Board从入门到精通系列(六).doc_第1页
Board从入门到精通系列(六).doc_第2页
Board从入门到精通系列(六).doc_第3页
Board从入门到精通系列(六).doc_第4页
Board从入门到精通系列(六).doc_第5页
资源描述:

《Board从入门到精通系列(六).doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、Board从入门到精通系列(六)  由于更新了开发工具,所以本篇博客有必要重复前面的内容,今天首先演示如何利用Vivado开发纯逻辑工程,即只在PL上进行开发。恰好最近在看雷思磊的《步步惊芯——软核处理器内部设计分析》,于是将一部分实验搬到了ZED-Board上进行验证。对OpenRISC感兴趣的童鞋可以关注Rill的专栏进一步获得学习资源。  先简要介绍下OpenRISC软件开发,参考了雷思磊书上建立开发环境的步骤。1.下载GNU开发环境,可以直接下载配置好的VirtualBox镜像,链接为ftp://openrisc.opencores.org/vir

2、tualbox-image/,FTP用户名和密码都是openrisc。下载2011-12-15版本。2.下载安装VirtualBox。新建虚拟机,配置为Linux,Ubuntu,512MB内存(需求并不高),使用现有虚拟硬盘(OpenRISC_Ubuntu_2011-12-15.vdi)安装完成即可启动。GNU工具链为or32-elf-...(可以是ar,as,g++,gcc等等)。root密码:openriscVirtualBox中设置Windows和虚拟机的共享文件夹。关闭Ubuntu系统,在VirtualBox主界面中选择“设置”,在“数据空间”中增

3、加Windows共享文件夹E:Share,在Ubuntu中名称为Share。设置完成后,启动Ubuntu系统,终端输入命令sudomount-tvboxsfShare/mnt/sharefolder  虚拟机运行后如图(如果图太大看不完全,可以右键另存为图片后在本地查看)。    3.编写简单测试汇编代码example.s#Commentslikethis#Begin.secTIon.text,“ax”  .org0x100  .global_start_start:l.andir0,r0,0l.extwzr1,r0l.extwzr2,r0l.addir

4、1,r1,0x0Al.addr2,r2,r1l.nop0x0001#End  4.编译:or32-elf-asexample.s-oexample.o链接:or32-elf-ld-Tram.ldexample.o-oexample.or32链接输入脚本ram.ld内容如下:MEMORY{ram:ORIGIN=0x00000000,LENGTH=0x00005000}SECTIONS{.text:{*(.text)}>ram  .data:{*(.data)}>ram  .bss:{*(.bss)}>ram}  ENTRY(_start)  OR1KSim模

5、拟器运行:sim-texample.or32-m1M>example.trace  生成的跟踪文件example.trace内容如下:Seedingrandomgeneratorwithvalue0x88a2d16eOr1ksim2011-08-15Buildingautomata...done,numuncovered:0/213.Parsingoperandsdata...done.ResetTIngPIC.loadcode:filenameexample.or32startaddr=00000000virtphy_transl=00000000Not

6、COFFfileformatELFtype:0x0002ELFmachine:0x005cELFversion:0x00000001ELFsec=5SecTIon:.text,vaddr:0x00000000,paddr:0x0offset:0x00002000,size:0x00000118S00000100:a4000000l.andir0,r0,0r0=00000000flag:0S00000104:e020004dl.extwzr1,r0r1=00000000flag:0S00000108:e040004dl.extwzr2,r0r2=000000

7、00flag:0S0000010c:9c21000al.addir1,r1,0xar1=0000000aflag:0S00000110:e0420800l.addr2,r2,r1r2=0000000aflag:0exit(0)@reset:cycles0,insn#0@exit:cycles5,insn#6diff:cycles5,insn#6  从上述结果可以看到软件仿真的结果,注意r1,r2的值变化情况,后面硬件仿真时会看到。  导出二进制文件:or32-elf-objcopy-Obinaryexample.or32mem.bin  上述步骤、命令行参

8、数具体含义请参考原书,此处略过不提。  为了将mem.bin文件转

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。