【米尔-安路MYD-YM90X创意秀】飞龙派学习和PS串口实践

一. 产品介绍

安路科技 SALDRAGON®(以下简称 DR1)系列器件延续安路 FPSoC® 家族,集成了硬

核处理器系统双核 ARM Cortex-A35 或 64 位 RISC-V、FPGA 可编程逻辑和可编程加速引擎,

形成了硬核高性能 ARM v8 处理器产品或高性能 RISC-V 64bit 处理器

板子的外观图:

二.芯片介绍(DR1M90GEG484)

拥有1GB DDR3内存,8GB eMMC 存储器,QSPL 32MB

PL部分:可编程逻辑 95k LEs,10K DFF,5.4Mb Bram,240 DSP48

可编程 IO:支持 LVCMOS1.5V-3.3V I/O LVDS_18 LVDS 25,200xIC

PS部分:2xCortex-A35@1GHz

集成 0.4 TOPS NPU,完整端侧部署工具链

集成 JPU,支持 JPEG 压缩解压缩

2xCAN-FD,2xUART,2xSPI,2x12C

2x 三速以太网,2xUSB2.0,2xSD/SDIO/Emmc5.1 控制器

三. 软件资源

米尔官方提供了大量的资源可以参考,可以获取全部的 Baremetal 开发程序,BSP 源码及丰富的软件开发手册。

多套操作系统镜像文件

myir-image-core:米尔定义的一个精简的,启动快速,稳定,实时的系统,它是以 Yocto

构建的不包括 GUI 界面的镜像,但包含完整的硬件驱动,常用的系统工具,调

试工具等。

myir-image-full:以 Yocto 构建的全功能的镜像,包含所有的完整的硬件驱动,常用的

系统工具,调试工具等,支持使用 Shell, C/C++,QML, Python 等应用开发环境。

四. 快速入门

4.1 软件的准备

因为之前我也是接触过ZYNQ的芯片,所以他们都是有各自芯片的开发环境的,所以我们现在要安装安路的TD和FD工具

TD开发工具只包含FPGA工程开发,新版本TD_5.9.1_DR1_ES1.1既包含普通FPGA芯片开发也包含DR1系列芯片开发,如果使用的是DR1器件,最好下载TD_5.9.1_DR1_ES1.1版本或者更高的版本

FD工具为ARM端的裸机开发工具,主要使用裸机来测试PS端的外设接口,比如

UART,IIC,SPI,CAN接口等,对于DR1芯片来说,主要用于PL和PS交互使用

4.2 TD/FD软件的安装

TD/FD软件的安装可以在安路的官方网站上注册帐号https://www.anlogic.com,也可以在我自己找到的这个网站下直接下载,安装的步骤都很简单,这个就不细说了

https://www.uisrc.com/forum.php?mod=forumdisplay&fid=352&filter=sortid&sortid=21&searchsort=1&download=3

4.3 启动方式介绍

4.4 PS部分ARM的串口输出打印测试

  1. 新建Hello_World 工程,在TD软件下创建

①新建的工程名

②工程存储路径,也就是我们上面新建的hello_world空白文件夹路径

③芯片系列,我们这个开发板属于DR1系列

④芯片型号,开发板型号为DR1M90GEG484

⑤芯片速度等级为-2

(2)创建好的工程界面

(3)新建Design Integrator工程

方便用户在TD中使用IP,避免手写IP端扣间连接的重复操作,开发了Design Integrator工具,其主要功能是:根据用户定制的ip以及端口,在连线后生成对应RTL代码)

  1. 新建Design 工作区
    1. 在新界面点击点击Flow-->Create Design新建Design工作区
    2. 填写填写Design工作区名称和存储路径。要选择一致

添加ARM的CPU模块

​​​​​​​

添加arm端配置

①设置arm端bank200电源为1.8V

②设置arm端bank201电源为1.8V

③使能Quad SPI Flash,工程添加qspi设备

④使能SD_0,工程添加sd卡接口

⑤使能uart,工程添加uart串口

因开发板有JTAG,SD,QSPI三种启动方式,我们添加sd和qspi,后续可以使用这两种启动方式启动

创建好的RAM核心

导入PS端的配置,检查PS端工程设计是否正确

将PS的配置生成IP

  1. arm端生成的ip模块

①arm端综合后生成的ip模块

②arm端ip模块的.v文件,fpga可以例化arm模块,从而和arm端进行数据交互

添加顶层文件

生成bit文件

导出hpf文件

新建FD工程文件夹

新建BSP文件

①填写工程名为bsp

②添加hpf文件

新建 fsbl文件

①填写工程名为fsbl

②选择FSBL模板

编译fsbl文件

新建 Hello_world工程

①填写工程名为hello_world

②选择HELLOWORLD模板

生成bin文件设置

输出bin文件

程序固化

SD卡启动

调试结果

putty串口输出打印hello_world

总结:

本次的开发板调试之旅比较艰难,在找资料和开始学习都不是很顺利,但是好在米尔官方的资料比较明确和齐全,帮我踩了很多坑,总体来说入门还是很简单的,以上就是我对这个开发板的串口调试,技术有限,仅供参考。

相关推荐
Aaron15882 小时前
基于RFSOC+VU13P+GPU架构在雷达电子战的技术
人工智能·算法·fpga开发·架构·硬件工程·信号处理·基带工程
车载测试工程师2 小时前
CAPL学习-SOME/IP交互层-符号数据库访问类函数
学习·tcp/ip·以太网·capl·canoe
暗然而日章3 小时前
C++基础:Stanford CS106L学习笔记 13 特殊成员函数(SMFs)
c++·笔记·学习
小智RE0-走在路上3 小时前
Python学习笔记(6)--列表,元组,字符串,序列切片
笔记·python·学习
d111111111d3 小时前
什么是内存对齐?在STM32上面如何通过编辑器指令来实现内存对齐。
笔记·stm32·单片机·嵌入式硬件·学习·编辑器
蒙奇D索大4 小时前
【数据结构】考研408 | 伪随机探测与双重散列精讲:散列的艺术与均衡之道
数据结构·笔记·学习·考研
舞动青春884 小时前
Ubuntu安装QEMU过程及问题记录
linux·学习·ubuntu
知识分享小能手4 小时前
Ubuntu入门学习教程,从入门到精通,Ubuntu 22.04的基本配置 (3)
linux·学习·ubuntu
黑客思维者4 小时前
机器学习012:监督学习【回归算法】(对比)-- AI预测世界的“瑞士军刀”
人工智能·学习·机器学习·回归·逻辑回归