Smartfusion2开发学习记录-开发环境搭建

Smartfusion2开发学习记录-开发环境搭建
张凯博开发环境
硬件平台:Smartfusion2
芯片型号:M2S010T-FG484
电脑系统: Windows 11
FPGA开发:Libero SoC v11.9
ARM开发:Keil4 uVision
由于在学习官方历程时,使用Libero SoC v2024.2.0版本,发现无法打开项目,且按照教程创建的项目出现编译错误的情况因此,使用Libero SoC v11.9版本。若使用最新版本,也可以参考此开发流程。
在使用Keil4 uVision开发ARM程序时,建议使用keil4 uviuVision。生成的keil工程在添加芯片型号时,出现了问题,因此,使用Keil4 uVision进行开发。
Libero SoC v11.9下载链接
Libero SoC可以从官网免费下载,但此版本号较低。
免费license申请
-
首先,注册自己的账号,若无法注册登录,请切换网络。
-
点击
申请免费许可证和管理许可证
。 -
选择申请的许可证。
-
在终端输入
vol c:
,查看C盘的序列号,与安装位置无关。
1 | vol c: |
- 填写相应信息,从填写的邮箱中获取并下载license。将下载的license文件,复制到软件安装的目录下。
- 添加环境变量。
新建三个环境变量,依次为:
变量名: LM_LICENSE_FILE
变量值: 软件安装目录\License.dat
变量名: SNPSLMD_LICENSE_FILE
变量值: 软件安装目录\License.dat
变量名: SYNPLCTYD_LICENSE_FILE
变量值: 软件安装目录\License.dat
一定会用到Modelime,若在破解此软件时,也添加了LM_LICENSE_FILE变量值,使用;
分隔两个变量值。使用此方法可以在同个变量名中同时添加多个变量值。
新建工程
修改工程信息
打开Libero
开发环境,点击Project
>New Project
。输入工程名称,修改存放位置。
选择芯片型号
配置器件
设计样版与向导选择
主要区别在于是否生成图像化界面。
生成的工程
配置MSS系统
选择MSS
系统中的使用模块
双击Key_MSS_0
或在Design Hierarchy菜单中选择Key_MSS,进入配置页面。
使能模块呈现浅蓝色,失能模块呈现灰色;只使用GPIO,只保留GPIO使能,非必要使用模块失能。
设置MSS_CCC
模块
双击MSS_CCC进入参数设置。
设置RESET_Controller
模块
设置IO
口模块
更新配置
修改后点击保存。关闭配置界面,右键更新IP核。
添加CCC
、OSC
、SYSRESET
模块
选择Catalog菜单,搜索CCC
、OSC
、SYSRESET
,添加到主界面中。双击或拖拽都可以添加。
- 配置 FABRIC CCC
修改FCCC_0
参数。
- 配置时钟源
选择Clock&Management中的Chip Oscillators。修改OSC_0
参数。
添加HDL
-
双击create HDL
-
编辑并检查
.v
文件
1 | module led_light ( |
- 进入Design Hierarchy,双击修改文件内容,拖动到smart design中。保存后,添加的HDL文件会自动添加到smart design中。
若已经创建了仿真,新增加的也会自动添加到工程中。
若需要在仿真软件中添加信号线,则需要在仿真文件中添加信号端口
- 添加信号
将信号线添加到顶层。为后续添加管脚约束中能够找到端口。
画布布线
为IO口添加标签,将信号添加到顶层。
使用工具栏的连线工具进行连线,然后点击generate Component
工具,即可生成配置。
添加仿真
- 在设计流中,右键smart design,创建一个仿真。
-
在Stimulus Hierarchy中可以看到,顶层和单独的HDL文件,都被添加到工程了。
-
在设计流中双击仿真
Simlulate
,自动打开软件。
-
开始仿真测试。
编译工程
添加管脚约束
文件构成
若后续生成Keil工程,则会新增加keil文件夹。
导出Keil工程
在使用ARM端(MSS)时,需要对MSS进行编程,因此,需要将工程导出为Keil工程。
-
双击
Handoff Design for Firmware Development -> Configure Firmware Cores
,选择需要添加的库。 -
双击
Export Firmware
,即可导出工程。
-
打开工程,选择
.uvmpw
后缀的文件,即可打开工程。
-
首先编译工程文件,编译后,右键
_app文件夹
,将文件夹Set as Active Project
。 -
打开魔术刷,将设备改为
M2S010
。 -
进入
Debug
,选择Jlink
,开启Reset and Run
,确认M2Sxxx 256kB
。
下载工程
-
点击
Generate Bitstream
,生成需要下载的文件。 -
将下载器连接开发板后,点击
Run PROGRAM Action
,进行下载。 -
若需要生成烧录文件,点击
Export Bitstream
,可以导出.stp
和.bat
文件。
常见错误
在我们更换硬件资源,比如删除了串口后,重新执行synthesis -> compile时,会出现报错。
分析错误信息得之,网络列表中引脚MMUART_0_RXD_F2M -pinname T18错误。
解决方法为,打开I/O Constraint -> constraint \io\program_sb.io.pdc
,手动删除被移除的引脚信息,重新编译即可。
当有时smart design配置正确,且synthesize通过时,但在编译时出现了报错。
可能是自己添加的HDL的引脚没有被操作。
1 | //修改前 |
添加引脚操作后,即可解决报错问题。
若添加了自己的HDL,需要将smart design设置为Root,及顶层,这样才能保证在管教约束时,自己定义的HDL核生成的引脚的引脚都能被检测到。
在编辑HDL时,注意名称和引脚名称不能够相同,否则会出现Generation of'program failed.See message window for details.
错误。
错误代码:
1 | module led ( |
另一种新建工程的方法
修改工程信息和配置器件参考开发环境搭建
工程配置向导
此综合试验,采用新的配置方法,选择Create a system builder based design
,使用此方法,可以依次完成时钟、引脚等配置。