Aug
28
通常一个嵌入式系统总有分硬件工程师和软件工程师。
在FPGA上,生成bitstream之前的工作被认为是硬件的,开发C代码被认为是软件的。
如果硬件工程师做完了,要把硬件平台交给软件工程师使用的话,首先他当然可以把整个工程打包给软件工程师,但是除了这种做法外,还有更简单的做法,以下就是交付软件工程师必要的文件列表:
这是最精简的组合了。
如果用XPS打开xmp工程,会显示XPS新建了pcores目录,并拷贝了两个文件:
etc/bitgen.ut
etc/fast_runtime.opt
之后,软件工程师点击工具栏的SDK图标就可以开始开发软件拉。
在FPGA上,生成bitstream之前的工作被认为是硬件的,开发C代码被认为是软件的。
如果硬件工程师做完了,要把硬件平台交给软件工程师使用的话,首先他当然可以把整个工程打包给软件工程师,但是除了这种做法外,还有更简单的做法,以下就是交付软件工程师必要的文件列表:
引用
system.xmp -- 工程文件
system.mhs -- 硬件描述
system.mss -- 软件描述
implementation/system.bit --硬件bit文件
implementation/system_bd.bmm --BRAM的memory map
etc/download.cmd -- 描述JTAG链信息
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图标就可以开始开发软件拉。
Aug
28
在用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的吧。
平时都用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的吧。





