Sep 2
[2008.08.04]
同时使用EDK和Sysgen,有两种流程:
1、在Sysgen中做hw co-sim;
2、用Sysgen生成pcore然后手动添加到EDK工程中。

参考文档:
- Sysgen User Guide --> Hardware/Software Co-Design --> Design with Embedded Processors and Microcontrollers
- API Documents (在生成PCORE的src目录中)
Tags: ,
Sep 2

Profile 不指定

RickySu , 10:53 , 技术经验 , 评论(0) , 引用(0) , 阅读(776) , Via 本站原创
[2008.01.11]
一直没有做成功Profile,原来输在最后一步上。

Profile的主要流程如下:

1. 在硬件中添加用于Profile的timer。方便的方法是在做BSB的时候直接添上,那么中断控制器INTC也就自动连上了。
2. 在Software Platform Settings中设置OS and Libraries --> Enable SW instructive profiling = True --> Profile time
3. 打开SDK,设置project的版本属性为Profile(不是Debug和Release):右键Project --> Properities --> C/C++ Build --> Configuration = Profile
4. 设置Download ELF为Profile的ELF:Device Configuration --> Program Hardware Settings --> ELF in Profile folder
5. Run Profile: Run --> Run... --> New --> C/C++ Application = Profile/executable.elf --> Profiler --> Enable Profiling --> Scratch Memory Address = Free Memory
按OK后SDK开始Profile。但是有时候会停在%XMD %XMD,Progress一直显示在80% -- 此时按一下回车就可以了

问题
在ISE 9.2自带的edk_prof.pdf中说在SDK的project中也要设置允许interrupt。但是我没有在main program中打开Interrupt Enable,为什么也能成功?


[2008.09.02]
一篇新发布的White Paper - WP348 MicroBlaze System Performance Tuning
http://www.xilinx.com/support/documentation/white_papers/wp348.pdf
从一个实例开始讲述如何检查系统瓶颈,如何用Profile工具查看,如何解决问题。
FPGA系统不是通常的系统,它最大的优势是可以用硬件加速软件计算。



[参考资料]
EDK Profiling User Guide - \EDK\doc\usenglish\edk_prof.pdf
Tags: , ,
Aug 28
通常一个嵌入式系统总有分硬件工程师和软件工程师。
在FPGA上,生成bitstream之前的工作被认为是硬件的,开发C代码被认为是软件的。

如果硬件工程师做完了,要把硬件平台交给软件工程师使用的话,首先他当然可以把整个工程打包给软件工程师,但是除了这种做法外,还有更简单的做法,以下就是交付软件工程师必要的文件列表:

引用
system.xmp  -- 工程文件
system.mhs  -- 硬件描述
system.mss  -- 软件描述
implementation/system.bit  --硬件bit文件
implementation/system_bd.bmm  --BRAM的memory map
etc/download.cmd  -- 描述JTAG链信息


这是最精简的组合了。
如果用XPS打开xmp工程,会显示XPS新建了pcores目录,并拷贝了两个文件:
etc/bitgen.ut
etc/fast_runtime.opt

之后,软件工程师点击工具栏的SDK图标就可以开始开发软件拉。
Tags: ,
Aug 28

关于XmdStub 不指定

RickySu , 10:29 , 技术经验 , 评论(0) , 引用(0) , 阅读(523) , Via 本站原创
在用BSB Wizard建工程的时候,会让你选择是HW的Debug Module还是SW的,或者是None。
平时都用HW的,心血来潮研究一下SW的。

首先,不管是选HW的还是SW的,只要有debug module都可以用XMD连接MicroBlaze进行下载或调试。

如果是HW的,那么生成的软件在set compiler option菜单中需要选择executable,并且applications中的 microblaze_0_xmdstub不能选中。

如果是SW的,那么有两种方法分别是用JTAG Interface和Serial Interface
具体介绍看这里:d:/Xilinx101/EDK/doc/usenglish/platform_studio/ps_c_dbg_xmdstub_based_debugging.htm
Set Compiler Option要设置成XmdStub,microblaze_0_xmdstub选择为Mart to Initialize BRAM。

这样就类似于BRAM中有一个Load/Debug程序,把真正的工程当作自程序跑。

注意SW Debug不能设Hardware Breakpoint。


结论:如果不是一定要省这点MDM的资源,还是用HW的吧。
Tags: ,
Aug 19
在vsim后,run之前,输入命令
引用
log -r /*

可以将所有信号的翻转情况记录下来,如果需要在Wave窗口再添加信号,就不用restart,添加信号,然后再重新run了。
Tags: ,
分页: 9/28 第一页 上页 6 7 8 9 10 11 12 下页 最后页 [ 显示模式: 摘要 | 列表 ]