SOC FPGA之HPS模型设计(二)

这篇具有很好参考价值的文章主要介绍了SOC FPGA之HPS模型设计(二)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

根据SOC FPGA之HPS模型设计(一),
Quartus工程经过全编译后会产生Handoff文件夹、SOPCINFO文件、SVD文件

二、生成Preloader镜像文件

通过信息交换文件Handoff文件生成Preloader,需要用到SOC EDS

Preloader也被称为spl(Second Program Loader)或u-boot-spl

在SOC EDS安装目录下双击Embedded_Command_Shell.bat文件启动嵌入式命令Shell窗口,输入bsp-editor启动BSP编辑器

SOC FPGA之HPS模型设计(二),一般人学不会的FPGA,fpga开发,嵌入式硬件,SOC,HPS

选择File->New BSP,选择工程目录下的\hps_isw_handoff\soc_system_hps_0子目录,该目录包含Qsys产生的xml文件(描述了定制SOC的外设和DDR设置) ,点击OK创建BSP设置文件setting.bsp以及子目录\software\spl_bsp,该目录为Preloader工程目录

SOC FPGA之HPS模型设计(二),一般人学不会的FPGA,fpga开发,嵌入式硬件,SOC,HPS 点击Generate产生Preloader源代码及makefile文件,然后退出BSP编译器,可以查看沈城的.h文件

SOC FPGA之HPS模型设计(二),一般人学不会的FPGA,fpga开发,嵌入式硬件,SOC,HPS

SOC FPGA之HPS模型设计(二),一般人学不会的FPGA,fpga开发,嵌入式硬件,SOC,HPS

在Shell窗口进入到software\spl_bsp文件夹,输入make指令进行编译,编译完成后在spl_bsp\uboot-socfpga\spl文件夹下会生成Preloader的ELF文件u-bbot-spl和二进制文件u-bbot-spl.bin
(也可以输入make uboot命令,编译出Preloader.img和U-Boot.img文件)

这里出了点问题,会提示find_fast_cwd: WARNING: Couldn't compute FAST_CWD pointer
解决方法有两个:

【解决】find_fast_cwd: WARNING: Couldn't compute FAST_CWD pointer_0 [main] find 7136 find_falst_cwd_好像不对劲的博客-CSDN博客

win10下解决编译环境find_fast_cwd: WARNING: Couldn't compute FAST_CWD pointer_find_fast_cwd couldn't compute_清浅灬的博客-CSDN博客 因为我装了多个版本的Quartus和SOC DES,因此用了第一个,亲测有效

之后又出现了一个问题,在生成preloader报错Failed to open gdrive/……/uboot-socfpga.tar.gz 

在windows下make 生成 preloader 时报错 (18.1 版本的SOCEDS) - Doreen的FPGA自留地 - 博客园 (cnblogs.com)

然后又又出现了问题,提示什么make: *** No rule to make target ` ‘, needed by xxx. Stop

这里首先要到Qsys中的HPS组件中取消勾选Use default MPU clock frequency,重新生成Qsys系统

SOC FPGA之HPS模型设计(二),一般人学不会的FPGA,fpga开发,嵌入式硬件,SOC,HPS

然后在bsp-editor中boot——FAT_SUPPORT——勾选spl.boot、将Advanced——spl 取消勾选

SOC FPGA之HPS模型设计(二),一般人学不会的FPGA,fpga开发,嵌入式硬件,SOC,HPS
SOC FPGA之HPS模型设计(二),一般人学不会的FPGA,fpga开发,嵌入式硬件,SOC,HPS

解决完报错之后再输入make就直接生成.bin文件了

SOC FPGA之HPS模型设计(二),一般人学不会的FPGA,fpga开发,嵌入式硬件,SOC,HPS

在spl文件中就可以看到生成的spl文件夹下的u-boot-sol.bin

SOC FPGA之HPS模型设计(二),一般人学不会的FPGA,fpga开发,嵌入式硬件,SOC,HPS

 将spl下的u-boot-spl.bin文件复制到spl_bsp下,在Shell中进入spl_bsp,输入mkpimage -hv 0 -o preloader_with_header.img u-boot-spl.bin指令(必须要-hv 0),即可在spl_bsp下产生preloader_with_header.img镜像文件,镜像文件可在linux环境下通过输入相应命令更新到电脑boot SD卡中

SOC FPGA之HPS模型设计(二),一般人学不会的FPGA,fpga开发,嵌入式硬件,SOC,HPS

 SOC FPGA之HPS模型设计(二),一般人学不会的FPGA,fpga开发,嵌入式硬件,SOC,HPS

三、生成设备树(Device Tree)

设备树是一种有关硬件系统描述的数据结构,可以描述整个系统上挂载了多少种类的硬件。设备书系统上的硬件信息可以传递给linux操作系统,就不需要在内核Kenel中进行大量的编码。

Qsys产生出FPGA的系统(.sopcinfo)后,通过SOC EDS中的Device Tree产生器生成设备树的源文档(dts),该文档描述了有关HPS的外设以及使用到的FPGA软核IP和用户自定义的外设等信息。

生成设备树源文件.dts需要.sopcinfo、hps_clock_info.xml、xxx_board_info.xml文件
Shell窗口进入Quartus工程目录,输入以下命令产生.dts文件 

sopc2dts --input xxx.sopcinfo --output xxx.dts <--board xxx_board_info.xml -board hps_clock_info.xml -bridge-removal all> //<>为可选项

SOC FPGA之HPS模型设计(二),一般人学不会的FPGA,fpga开发,嵌入式硬件,SOC,HPS

SOC FPGA之HPS模型设计(二),一般人学不会的FPGA,fpga开发,嵌入式硬件,SOC,HPS

 .dtb文件是.dts文件经Device Tree编译后生成的二进制格式的Device Tree描述,可被Linux内核解析。通常在为目标板制作NAND、SD卡启动镜像时,会为.dtb文件预留一个很小的存放区域(FAT分区),之后bootloader在引导Kernel过程中会先读取该.dtb到内存中(如DDR3存储器)。

在Shell窗口输入以下命令产生.dtb文件 

dtc -I dts -o dtb -o xxx.dtb xxx.dts

SOC FPGA之HPS模型设计(二),一般人学不会的FPGA,fpga开发,嵌入式硬件,SOC,HPS

 SOC FPGA之HPS模型设计(二),一般人学不会的FPGA,fpga开发,嵌入式硬件,SOC,HPS

此外,由于工程文件夹下有 Makefile,因此可以直接采用 make 命令产生两个文件文章来源地址https://www.toymoban.com/news/detail-618750.html

make dts
make dtb

到了这里,关于SOC FPGA之HPS模型设计(二)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 基于SmartFusion2系列FPGA SOC的开发1——概要说明

    在中科院XX所的时候,就从SRAM型FPGA,切换到Flash型FPGA的编程和调试。 最近几年,因为工作关系,需要找到一款类似于Zynq,但性能可以略低,并且货期和价格较为美丽( 担心美帝断供,但这款不是很高端,不会有太大风险 ),但也要有ARM+FPGA架构的SOC芯片,可以方便的在嵌入

    2024年02月03日
    浏览(32)
  • 单周期-开发过程【FPGA模型机课程设计】

    2023-5-25 08:24:28 以下内容源自《【FPGA模型机课程设计】》 仅供学习交流使用 0集中实践环节计划书【FPGA模型机课程设计】 工程迭代过程 README.txt 1FPGA模型计算机整体方案设计【FPGA模型机课程设计】 2模型计算机各功能电路设计【FPGA模型机课程设计】 实现基本20条指令 3模型机

    2024年02月09日
    浏览(31)
  • 【2021集创赛】Arm杯三等奖:基于FPGA的人脸检测SoC设计

    本作品参与极术社区组织的 有奖征集|秀出你的集创赛作品风采,免费电子产品等你拿~ 活动。 团队介绍 参赛单位:合肥工业大学 队伍名称:芯创之家 指导老师:邓红辉、尹勇生 参赛杯赛:Arm杯 参赛人员:王亮 李嘉燊 金京 获奖情况:全国总决赛三等奖 人脸检测系统在诸多

    2024年02月08日
    浏览(31)
  • FPGA/SoC控制机械臂

    机器人技术处于工业 4.0、人工智能和边缘革命的前沿。让我们看看如何创建 FPGA 控制的机器人手臂。 机器人技术与人工智能和机器学习一起处于工业 4.0 和边缘革命的最前沿。 因此,我认为创建一个基础机器人手臂项目会很有趣,我们可以回过头来添加几个功能,例如: 逆

    2024年04月17日
    浏览(22)
  • 三种芯片:ASIC、FPGA、SoC

    ASIC,全称Application-Specific Integrated Circuit,即 应用特定集成电路 。它是一种根据特定应用需求而设计和定制的集成电路。ASIC芯片由电子设计自动化软件(EDA)工具进行设计,采用定制的硅片制造工艺生产。 ASIC相对于通用的集成电路,具有更高的集成度、更低的功耗和更高的

    2024年04月26日
    浏览(25)
  • FPGA验证学习(五):SoC的总线架构

    SoC的发展离不开应用领域的需求牵引。在根据需求进行片上系统设计时,不仅要考虑SoC本身,而且还要考虑SoC应用产品的需求,重点关注特定IP获取和系统总体结构(性能、功耗、成本、可靠性、适用性)的评估。 为了提高开发模块的重复利用率,降低开发成本, 用户采用

    2024年02月07日
    浏览(29)
  • 【FPGA】基于C5的第一个SoC工程

    本文是在毕业实习期间学习FPGA的SoC开发板运行全连接神经网络实例手写体的总结。 声明:本文仅作记录和操作指南,涉及到的操作会尽量细致,但是由于文件过大不会分享文件,具体软件可以自行搜索相关资源。 首先,既然提到了软件开发,那么我们就需要在FPGA的SoC开发板

    2024年02月16日
    浏览(33)
  • FPGA验证学习(四):SoC的验证与测试

    验证和测试是两个不同的概念。 前面的三篇嘞,咱们对整个开发的流程有了个了解,这里就来看看验证与测试,芯片这个东西流片一次可太贵了,所以一次芯片的开发流程有超级多的时间都花在了验证上。 一般验证是指检验电路的逻辑、功能、时序等是否满足设计者在设计

    2024年02月16日
    浏览(26)
  • FPGA经验谈系列文章——FPGA开发方向以及算法开发模型

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 FPGA开发笼统的说可以分为两个方向,一个是接口方向、一个是算法方向。 接口方向可不是简单的uart、IIC、SPI等这些简单接口,这些东西不足以支撑一个方向,大部分都是基于serdes的高速复杂接口,例如

    2023年04月10日
    浏览(54)
  • PLC原理及PLC+FPGA(SOC)架构方案简介

    工业生产和科技的发展都离不开PLC的自动化控制,PLC可以广义的理解为: 集中的继电器延伸控制柜,实际的生产应用中,PLC大大的节省了工业控制的成本,加强了设备的集中管理和自动控制。 PLC (Programmable Controller,可编程程序控制器)它是一个以微处理器 为核心的数字运

    2024年02月10日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包