感谢EEWORLD给了我这样一个机会,板子到了很多天了,一直都没时间写东西,觉得有点对不起大家,今天正好大运放假期间,补上相关资料。 由于microblaze资料相对比较少,加上大部分硬件和相关驱动安装sdjntl都已经贴出,我也就不详加介绍了,我介绍的都是与MICROBLAZE有关的东西。 一。驱动安装,具体可以参考官方网站的指导文档,分别到Digilent公司下载USB JTAG软件和Silicon Labs网站下载USB TO UART装好,就可以开始下面的MICROBLAZE之旅了。 二。microbalze开发环境的搭建 点击setup.exe一路下去,到这里选择时候需要注意一下
因为microblaze的开发一定需要包含EDK那个套件,所以这里只能选择如图所示或者system那个选项,具体可看下面那个图
装好后,然后利用ID可以到官网申请一年的正式版本期限,下面就可以开始microblaze的开发了
第一步,硬件系统构建,在XPS 集成开发环境下,利用BSP(Base System Builder ) 向导自动创建一个以Mi2croBlaze 处理器为核心的简单硬件系统, 设置处理器时钟频率为50 MHz ,总线时钟频率为50 MHz ,设置片上读/写调试模块为调试接口,在处理器IP 中,只加入MDM 和GPIO。根据向导逐步 操作,即可完成硬件系统的构建。 具体如下图所示: 一。打开EDK下的XPS平台
spartan6 51内核试用时间过得真快,最近很忙,不好意思,这块板子的pico,microblaze,51内核我都玩过了,项目也完成了,一直没时间传,下面传点51内核的建立的东西 相信很多人都很喜欢51,因为很多人都从那里走过来,那么我们的板子能不能用51的程序驱动呢,下面就此展开讨论 目前网上公开发布的几个比较典型的805l IP核,如DW8051核.OpenCore组织的0C8051核及T51核,MC805l核等。这些IP核都是采用HDL语言描述的软MCU内核,其与工艺无关,能够在多种FPGA上进行逻辑综合及实现。 我使用的是Oregano公司开发的1.5版本免费的MC8051 IP核,它具有如下特点: 1)完全同步的设计; 2)指令集与标准的8051 MCU完全兼容; 3)采用优化的内核结构,指令周期较原MCS-51系列大幅提高,每一个指令仅占用1~4个时钟周期; 4)256字节内部的RAM,最大可提供64KB的ROM和64KB的RAM资源。 在FPGA中嵌入的8051内核,具有与51单片机类似的存储器结构,这些存储器的设计均使用FPGA芯片中的Block RAM资源,通过Xilinx提供的Core Generator工具实现。Core Generator是一个完整的设计工具,用来生成设计所需要的IP核,它既可以单独运行,也可以在ISE设计工具内执行。在设计中,要用到单片机中的三种存储区,分别为DATA,XDATA和CODE,这些存储区都是通过配置RAM & ROM中的单端口Block RAM(Single-Port Block RAM)IP核实现的。 MC8051 IP核的设计过程共包括如下5个步骤: 1)用Keil 编译8051的代码。 2)将生成的hex文件用hex->bin工具转成bin文件; 3)用bin->coe工具将hex文件转成coe文件; 4)在core generator 生成的ROM中指明coe文件的位置; 5)编译、下载到FPGA芯片。 这个是别人的步骤,下面我写下整体步骤首先,从mc官网下载51内核vhdl版本,然后解压缩到一个文件夹然后用ise新建一个工程,把刚才下载的文件里面所有vhd的文件拷贝到你工程目录下,然后把mc51内核top文件加入工程中,修改该工程文件的元件声明,包括rom,ram和时钟设计声明你会发现会出现很多的?号在工程下面,你根据提示添加各种文件在该工程下有一个ram和rom,必须用core generator来生成,需要注意点的是版本不同,生成以后需要修改相关目录下的定义,例如clk需要改为clka等等,改完后编译在生成ram时候,有一个地方需要注意点,有一个好像是we的,需要改成wea std_logic_vector(0 downto 0)等等,也要勾上前面51程序编译出来的东西hex文件转换成的coe文件,有一个init file的,然后建一个ucf文件,51程序用到的引脚定义一下,再加上时钟,复位按键就可以了,另外要加一个CONFIG VCCAUX='3.3';定义最大电压,定义输出引脚如下所示NET 'p1_o<0>' LOC = 'P4' | IOSTANDARD = LVCMOS18; ,输入为p1_i,大家自己慢慢去体会,弄这个我只用了几个小时,所以相对还是很简单的,呵呵下面贴点图片,没图没真相 别人文章
1、 用Keil编译8051的代码 这里的8051程序与普通的8051程序一样。由于是用keil编译,所以只能生成hex文件,如果使用其他编译器,如伟福,能直接生成bin文件,就能省略第二步。 2、 将生成的hex文件用hex->bin工具转成bin文件 点击重新加载 也可以用另一个hex->bin工具转换。 3、 用bin->coe工具转成coe 输入文件(二进制)在:D:\工作文档\电子设计基本\数字电子电路\...... 输出文件(*.coe)output.coe在D:\根目录下,而不在原来bin文件所在目录下。 4、 在core generate生成的rom中指明coe文件的位置 在ISE中打开8051 for Xilinx中的mc8051.ise(不能直接双击打开mc8051.ise) 点击重新加载 打开i_mc8051_rom,在rom中load入刚才生成的coe文件 5、编译、下载到spartan-3e starter kit板上,你将会看到流水灯的效果 Synthesize(综合)、Translate(翻译)、map(映射)、Place&Route(布局布线)和Generate Programming File,这几步都需要很长时间(大约20~30分钟),最后可以看到整个MC8051所消耗的资源 spartan6 pico试用Xilinx公司的嵌入式解决方案已三类RISC结构的微处理器为核心可裁剪的软核处理器(PicoBlaze、MicroBlaze)硬核处理器(PowerPC) MicroBlaze采用功能强大的32位流水线RISC结构,包含32个32位通用寄存器和一个可选的32位移位寄存器,时钟可达150MHz。占用资源不到1000个Silice。 PicoBlaze是由VHDL语言在早期开发的小型8位软处理器内核包,其汇编器是简单的DOS可执行文件KCPSM6.exe,用汇编语言编写的程序经过编译后放入FPGA的块RAM存储器区。 PicoBlaze是的程序使用汇编来编程的,不过有个小小问题呵呵,汇编器最新版本不支持EDK12.4,所以要下载以前版本的,这个大家注意了,否则会出错,hoho 首先新建一个工程文件和一个vhdl文件,然后从xilinx提供的pico下载文件的例程中拷贝相关元件和声明定义文件到该文件下,主要一个主体和编程两部分的声明 然后下面就会出现一些?号,这时侯把从xilinx下载的pico包中各东西拷贝过来,然后添加相应的源码,就可以了,添加后如下图所示 相应元器件例化 添加后,然后用记事本打开一个txt文件,相关汇编指令在xilinx下载的包中有指导文件 保存为psm文件,用汇编器编译,最终会生成vhd文件,加载到程序中,编译下载,就可以看到 你的汇编代码作用了,具体我就不说了,以后有空再更新,今天先到这里,呵呵,这些都是之前 的经验,板子已经不在我这里了,所以叙述不详之处敬请谅解. web服务器和linux还有ucosII移植的下次再更新,下面留几个标题。 |
|