lattice propel的使用例子

概述

本文主要介绍 最新的Lattice PropelLattice Propel Builder以及Radiant Software软件搭建一个RISC-V的系统的应用开发环境例子,帮助第一次接触相关软件的开发者熟悉开发和操作流程。

本地开发环境介绍和开发目标

该工程在CrossLink-NX开发板上进行测试,软件安装环境为win10,软件版本分别如下:




一个Soc的工程需要如下开发流程:

开发的需求,搭建一个hello word 系统,可以跑马灯和输出串口信息

工程新建流程

新建Propel Builder工程

在软件栏或者如下图标新建New Soc Design

确认Verilog开发语言,和工程名字:

选择一个模板Scalable RISC-V SoC Project执行下一步:

直接选择开发板子CrossLink-NX Evaluation

配置模板里面的GPIO和UART的数量

项目新建完成如下所示,包含系统必要的IP核,如CPU,RAM,AHB和APB等相关IP核,详细如下图所示,双击Components显示相关的IP配置参数:

上面的配置可以根据需要去IP Catalog搜索常用的IP核进行搭建进系统,然后再操作栏的Design->Validate Design验证系统,然后点击Generate按钮,注意Tcl Console里面有没有报错。

然后切换到Adress那一页,锁死地址信息

然后点击快捷栏里面的Radiant图标,启动后,直接点击Run All进行编译生成文件

大概需要几分钟时间编译,检查串口的绑定的管脚信息,Tools->Device Constraint Editor检查uart管脚信息如下:
还有电路板子上R15R17上有没有连接贴上0电阻位置,用于TP1TP2接入串口测试,注意默认的串口电压是3.3V,管脚电路图如下图:

点击Tools->Programmer进行下位机下载

返回Lattice Propel Builder,点击Tools->Run Propel,然后选择保存工程的workspace如下:


进入SDK工程如下,在while的循环里面新增printf("Hello RISC-V world!\r\n");串口打印信息
配置在线调试参数,在配置栏里Run->Run Configurations...里面的GDB OpenOCD Debugging里执行Scan Device确认上位机软件是否识别到下位机,建议复制一份自己的配置参数debug,操作如下

执行Run debug下载到下位机的内存上,观察串口循环打印和板子的led灯循环闪烁,代表程序成功运行

对于没有串口的硬件测试,可以选择在propel 的调试窗口Console里面打印内容,选择项目的Properties的属性中GNU RISC-V Cross C Linker里面Other linker flags新增参数:--oslib=semihost,如下图所示:

实际打印如下: