【米尔-安路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

总结:

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

相关推荐
妙团团14 分钟前
React学习之自定义tab组合组件
javascript·学习·react.js
星火开发设计13 小时前
类型别名 typedef:让复杂类型更简洁
开发语言·c++·学习·算法·函数·知识
Gorgous—l13 小时前
数据结构算法学习:LeetCode热题100-多维动态规划篇(不同路径、最小路径和、最长回文子串、最长公共子序列、编辑距离)
数据结构·学习·算法
Hello_Embed14 小时前
libmodbus 移植 STM32(基础篇)
笔记·stm32·单片机·学习·modbus
●VON14 小时前
Flutter for OpenHarmony 21天训练营 Day03 总结:从学习到输出,迈出原创第一步
学习·flutter·openharmony·布局·技术
香芋Yu15 小时前
【大模型教程——第四部分:大模型应用开发】第1章:提示工程与上下文学习 (Prompt Engineering & ICL)
学习·prompt
LYS_061815 小时前
寒假学习10(HAL库1+模数电10)
学习
runningshark15 小时前
【项目】示波器学习与制作
学习
€81115 小时前
Java入门级教程24——Vert.x的学习
java·开发语言·学习·thymeleaf·数据库操作·vert.x的路由处理机制·datadex实战