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

总结:

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

相关推荐
saoys18 小时前
Opencv 学习笔记:创建与原图等尺寸的空白图像
笔记·opencv·学习
晓幂1 天前
【2025】HECTF
笔记·学习·web安全
慕云紫英1 天前
基金申报的一点经验
学习·aigc
微露清风1 天前
系统性学习C++-第十八讲-封装红黑树实现myset与mymap
java·c++·学习
宝贝儿好1 天前
【强化学习】第六章:无模型控制:在轨MC控制、在轨时序差分学习(Sarsa)、离轨学习(Q-learning)
人工智能·python·深度学习·学习·机器学习·机器人
大、男人1 天前
python之asynccontextmanager学习
开发语言·python·学习
做cv的小昊1 天前
【TJU】信息检索与分析课程笔记和练习(8)(9)发现系统和全文获取、专利与知识产权基本知识
大数据·笔记·学习·全文检索·信息检索
盐焗西兰花1 天前
鸿蒙学习实战之路-蓝牙设置完全指南
学习·华为·harmonyos
hkNaruto1 天前
【AI】AI学习笔记:MCP协议与gRPC、OpenAPI的差异
人工智能·笔记·学习
笨鸟笃行1 天前
0基础小白使用ai能力将本地跑的小应用上云(作为个人记录)
人工智能·学习