Microsemi Libero使用技巧——使用FlashPro单独下载程序
前言
在工程代码编译完成之后,如果需要给某个芯片下载程序时,或者是工厂量产烧录程序时,我们不需要把整个工程文件给别人,而只需要把生成的下载文件给别人,然后使用FlashPro就可以单独下载程序文件了。本文介绍如何从工程目录中提取下载文件,并使用FlashPro软件来单独下载程序。
关于FlashPro
Microsemi FlashPro编程系统是Microsemi的FlashPro软件和硬件编程器的组合。它们可以为PolarFire,IGLOO2,SmartFusion2,RTG4,IGLOO®系列和ProASIC3系列(包括RT ProASIC3)以及SmartFusion,Fusion,ProASIC PLUS和 旧版和停产闪存FPGA中的所有FPGA提供系统内编程(ISP)。
这里说的FlashPro有两种含义:1.下载器FlashPro 3/4/5,2.下载软件FlashPro。
- FlashPro5下载器

- FlashPro 4下载器

- FlashPro 软件

程序文件的路径
工程目录下,默认会生成一个designer文件夹,打开designer\impl1\led_driver_fp,这个文件夹就是下载程序所需要的FlashPro文件,其中包含pdb程序文件和FlashPro的工程。

也就是说,当需要下载程序时,我们只需要把这个文件夹拷贝给别人就行了,而不用拷贝整个庞大的工程文件夹。
使用FlashPro下载程序文件
1.打开FlashPro软件
在Microsemi软件列表中找到FlashPro并打开,或者在安装目录找到FlashPro程序:F:\Microsemi\Designer\bin\flashpro.exe。

2.打开FlashPro工程
选择Open Project,打开工程目录下的FlashPro工程文件:D:\FPGA_Study\Microsemi\Blog\LED_Blink\designer\impl1\led_driver_fp\led_driver.pro

如果已经连接了下载器,会显示下载器的信息,如果没显示,要查看下载器是否连接正确。

3.加载程序文件
默认是没有加载pdb程序文件的,我们需要手动指定。点击Configuration->Load Programming File,加载pdb程序文件。

选择工程目录下的D:\FPGA_Study\Microsemi\Blog\LED_Blink\designer\impl1\led_driver_fp\led_driver.pdb文件

如果加载成功,会在底部显示加载成功的状态信息,并且在右下角会显示当前加载的pdb文件的路径。

4.下载程序
连接FlashPro下载器和开发,点击PROGRAM按钮,就可以下载程序了,会显示下载进度,最后下载成功,会显示RUN PASSED

如果显示红色SCAN CHAIN FAILED或者RUN FAILED,说明下载器和芯片的连接不正常,此时需要检查下载器是否正常,下载器和目标芯片的连接排线是否正常,目标芯片是否供电,USB连接等等。
编程方式配置
FlashPro默认是配置为PROGRAM编程方式,这也是最常用的一种编程方式,主要包括:验证芯片ID,擦除,编程,复位M3等操作,根据pdb文件大小,耗时几十秒,如果我们只想执行其中一项或者几项应该怎么操作呢?
选择Configure Device,进入编程配置选项,可以通过Action下拉来选择进行哪种编程方式。

- DEVICE_INFO:获取芯片的信息
- ERASE:擦除FPGA程序和ARM程序
- READ_IDCODE:读取芯片的ID号
- RESET_CORTEXM3:复位ARM Cortex-M3硬核
这里有一个经常使用的配置模式,是PROGRAM eNVM选项,这个选项是只给内部的ARM Flash区进行编程,如果我们的工程中用到了M3硬核,这里会显示这个选项。使用这种编程方式的好处就是,如果FPGA配置没有更改,而只修改很小部分的ARM程序,那么就没有必要使用PROGRAM选项,编程时间会很长,如果只使用PROGRAM eNVM编程配置,则速度会非常快。
独立的FlashPro软件安装
FlashPro软件默认是和Libero一起安装,如果想单独安装FlashPro软件,而不想安装体积庞大的Libero也是可以的,不需要注册就可以使用。
官方下载地址:FlashPro v11.9安装包
官网信息:
Starting with Libero SoC v12.0, The FlashPro programming software will no longer be included in the Libero design software nor will it be available in stand-alone mode. Microsemi will be supporting the FlashPro Express v12.0 programming software, which replaces the FlashPro programming software. The last versions of Libero that supports FlashPro are Libero SoC v11.9 and Libero SoC PolarFire v2.3.
中文翻译:
从Libero SoC v12.0开始,FlashPro编程软件将不再包含在Libero设计软件中,也不会以独立模式提供。Microsemi将支持FlashPro Express v12.0编程软件,该软件将替代FlashPro编程软件。支持FlashPro的Libero的最新版本是Libero SoC v11.9和Libero SoC PolarFire v2.3。
从以上官网的说明可以了解到,12.0版本之后的版本将不再包含FlashPro,而只包含Flash Pro Express,这个软件的功能和Flash Pro软件的功能几乎一样。
菊花链拓扑实现多芯片同时编程
通过JTAG协议的菊花链拓扑可以实现多芯片的同时编程,对于同一块PCB上有多块FPGA时,可以节省多个JTAG口所占用的PCB空间。对于嵌入式封闭环境中,有时需要对系统中的FPGA程序进行在线或远程升级,必须将JTAG口引到机箱外,显然这种单JTAG口的菊花链结构是最佳选择。
传统的JTAG下载程序

JTAG菊花链拓扑实现多芯片编程

这种方式虽然好,但是对硬件设计也提出了要求:
- TMS和TCK的驱动能力
TMS和TCK由于连接了多个器件,所以要求驱动能力要足够,可以采用缓冲器的方式增强驱动能力,当器件较多,通过降低频率,即使不增加缓冲器,也可以提高信号的完整性。
- TDI到TDO的贯通延时
JTAG协议规定TCK下降沿输出TDI数据有效,并在TCK上升沿采集TDO数据,因此,在整个JTAG链中必须保证TDI至TDO的贯通延时(Propagation Delay)TCPD必须小于TCK的1/2周期TCLK/2,即△T=TCLK/2 –TCPD>0。也就是说,在增加缓冲驱动的情况下,JTAG链路中的芯片总数与每个芯片的TDO延时TDOV(FPGA为TTCKTDO)和TCK频率有关。在芯片总数确定以后,为保证△T>0,可以降低TCK的频率。
将处理器中的JTAG仿真接口连接成菊花链的方式,使用一个JTAG仿真控制器便能访问菊花链中任何一个处理器。如此,只需通过一个JTAG接口便能访问JTAG菊花链中的任何一个器件.但是由于菊花链的串联特性,如果任何一个设备从链路中移走,则链路便断裂开。
Microsemi FlashPro也支持菊花链拓扑方式来进行多芯片编程,但由于手上没有这样连接的硬件,所以没办法进行操作演示,具体的使用方法可以参考FlashPro使用手册:FlashPro 用户手册
FlashPro下载器的其他功能
- 配合Synopsys Identity Debug实现在线调试
- 支持多种编程选项:擦除、编程、验证、复位M3、编程M3等
- 配合Microsemi SoftConsole实现ARM程序的调试和下载
- 支持导出或运行TCL脚本文件,或通过命令行下载程序
- 支持菊花链拓扑同时编程多个目标芯片
- 只更新ARM Cortex-M3的Hex程序
- 设置编程密钥和AES密钥,增强安全性
- 导出stp格式单程序文件
以上都是很实用的功能,具体的使用方法可以参考:FlashPro 用户手册,里面介绍的很详细。
本来只想写FlashPro下载程序的部分,没想到这一写就停不下来了。有错误的地方,欢迎指正。
资料下载
推荐阅读
- Microsemi Libero使用技巧——使用第三方编辑器Notepad++
- Microsemi Libero使用技巧——查看芯片资源占用情况
- Microsemi Libero系列教程(一)——Libero开发环境介绍、下载、安装与注册
- Microsemi Libero系列教程(二)——新建点灯工程
- 详解串行通信协议及其FPGA实现
- 我的个人博客:www.wangchaochao.top
- 我的公众号:mcu149

Microsemi Libero使用技巧——使用FlashPro单独下载程序的更多相关文章
- Microsemi Libero使用技巧——使用FlashPro生成stp程序文件
前言 在工程代码编译完成之后,如果需要给某个芯片下载程序时,或者是工厂量产烧录程序时,我们不需要把整个工程文件给别人,而只需要把生成的下载文件给别人,然后使用FlashPro就可以单独下载程序文件了. ...
- Microsemi Libero使用技巧——使用命令行模式下载程序
前言 在工程代码编译完成之后,如果需要给某个芯片下载程序时,或者是工厂量产烧录程序时,我们不需要把整个工程文件给别人,而只需要把生成的下载文件给别人,然后使用FlashPro就可以单独下载程序文件了. ...
- Microsemi Libero使用技巧——FPGA全局网络的设置
前言 刚开始做Microsemi FPGA+SoC开发时,会用到几个ARM专用的IP Core,功能一复杂起来,就会遇到某些信号如rst_n不能分配到指定的引脚上的情况,IO类型为CLKBUF,并不是 ...
- Microsemi Libero使用技巧——使用第三方编辑器Notepad++
前言 与Xilinx的ISE和Altera的Quartus一样,Microsemi的编辑器也支持指定第三方编辑器. Microsemi自带的编辑器,没有自动补全功能,也不支持中文注释,非常不好用,为了 ...
- Microsemi Libero使用技巧——查看芯片资源占用情况
前言 与MCU不同,FPGA的资源主要包括:逻辑资源,IO资源,Flash大小,PLL资源,SoC硬核处理器资源等,其中逻辑资源和IO资源是我们主要关心的,本篇文章将介绍,如何通过Microsemi ...
- Jlink使用技巧之单独下载HEX文件到单片机
前言 上一篇文章介绍了使用Keil下载单独的Hex文件到单片机内,本篇文章介绍,如何使用SEGGER官方软件JFlash来进行程序的下载,支持Hex和Bin文件. JFlash的下载和安装 首先,安装 ...
- Microsemi Libero系列教程(二)——新建点灯工程
前言 上一篇文章,介绍了Microsemi Libero系列教程(一)-Libero开发环境介绍,下载,安装与注册,作为嵌入式开发中的Hello World,点灯是再也基础不过的实验了,通过点灯实验, ...
- 高效开发技巧:为什么你下载Git项目这么慢?
文章首发于[博客园-陈树义],点击跳转到原文<高效开发技巧:为什么你下载Git项目这么慢?>. 笔者所在公司采用的是 GitLab 进行版本管理,但许多同事下载 Git 项目的路径是这样的 ...
- android 怎样单独下载一个项目
起因,"网络"不太好."比方铁通的就是不如联通的" 每次运行一边repo sync,十分蛋疼,假设不做full build无需所有下载,着急看某个项目的修改但是 ...
随机推荐
- HDFS之DataNode
DataNode工作机制 1)一个数据块在datanode上以文件形式存储在磁盘上,包括两个文件,一个是数据本身,一个是元数据包括数据块的长度,块数据的校验和,以及时间戳. 2)DataNode启动后 ...
- NTP服务编译安装报错:ntpd.c:124:29: 致命错误:sys/capability.h:没有那个文件或目录
缺少libcap-devel [root@localhost libcap]# cd /mnt/ [root@localhost mnt]# rpm -Uvh libcap*
- EFK教程(4) - ElasticSearch集群TLS加密通讯
基于TLS实现ElasticSearch集群加密通讯 作者:"发颠的小狼",欢迎转载 目录 ▪ 用途 ▪ ES节点信息 ▪ Step1. 关闭服务 ▪ Step2. 创建CA证书 ...
- VS2019提示scanf不安全问题
VS2019提示scanf不安全问题 我们现在学的就是使用scanf()语句进行输入,但是vs2019中却报错显示不安全 首先我先来说一下scanf和scanf-s的区别 scanf()函数是标准C中 ...
- Chrome插件安装的3种方法,解决拖放不能安装的情况,并提供插件下载
本文摘录于Chrome插件网站 方法一:拖放安装 下载插件的crx文件后,打开Chrome的扩展页面(chrome://extensions/或按Chrome菜单图标>更多工具>扩展程序) ...
- Python面试180道题
版权声明:本文为CSDN博主「CSDN学院官方账号」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明. 原文链接:https://blog.csdn.net/csd ...
- 华为路由交换-DHCP
DHCP 一. 配置基于接口地址池的DHCP 1.1实验原理 随着网络规模的扩大和网络复杂程度的提高,计算机位置变化(如便携机或无线网络)和计算机数量超过可分配的IP地址的情况将会经常出现.DHCP( ...
- ggplot2|玩转Manhattan图-你有被要求这么画吗?
本文首发于“生信补给站”,ggplot2|玩转Manhattan图-你有被要求这么画吗?更多关于R语言,ggplot2绘图,生信分析的内容,敬请关注小号. Manhattan图算是GWAS分析的标配图 ...
- IO到NIO的一个转变
本内容来源:Jack视频讲解和自己的一个理解. 1.故事还得从网络模型或者IO开始聊起 2.你有想过传统IO真正存在的问题吗? 3.如果你是设计者,IO可以怎样改进? 4.NIO原理分析以及代码实现 ...
- 基于VMware Workstation下CentOS的搭建
网络安全学习内容 二.VMware安装CentOS系统 需要准备的文件: 从http://mirrors.huaweicloud.com/centos/7.7.1908/isos/x86_64/中下载 ...