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

总结:

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

相关推荐
代码游侠9 小时前
C语言核心概念复习——C语言基础阶段
linux·开发语言·c++·学习
dingdingfish9 小时前
Bash学习 - 第3章:Basic Shell Features,第5节:Shell Expansions
开发语言·学习·bash
firewood20249 小时前
共射三极管放大电路相关情况分析
笔记·学习
zl0_00_09 小时前
美亚2023
学习
AI_56789 小时前
SQL性能优化全景指南:从量子执行计划到自适应索引的终极实践
数据库·人工智能·学习·adb
zl0_00_09 小时前
pctf wp
学习
Hello_Embed9 小时前
libmodbus STM32 主机实验(USB 串口版)
笔记·stm32·学习·嵌入式·freertos·modbus
学编程的闹钟9 小时前
98【html的php化】
学习
林开落L10 小时前
从零开始学习Protobuf(C++实战版)
开发语言·c++·学习·protobuffer·结构化数据序列化机制
哎呦 你干嘛~10 小时前
MODBUS协议学习
学习