码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 御神楽的学习记录之SoC FPGA的第一个工程-Hello World


    文章目录

    • 一、Soc环境配置
      • 1.镜像烧录
          • 1)格式化TF卡:
          • 2)使用工具: Win32DiskImager
          • 3)启动并使用串口调试
    • 二、Soc 的黄金工程
          • 1.黄金工程简介
          • 2.使用黄金工程的好处
    • 三、Soc之hello world
      • 1.SSH配置
      • 2.网络配置
          • 配置Soc板子静态地址
          • 配置电脑网络地址
      • 3.软件代码编写
          • 代码编写
          • 环境配置
      • 4.代码编译及运行
          • 编译代码
          • 运行


    一、Soc环境配置

    1.镜像烧录

    1)格式化TF卡:

    先将TF卡格式化为一个卷

    2)使用工具: Win32DiskImager

    将事先准备好的linux简单镜像烧入TF存储卡中
    在这里插入图片描述

    3)启动并使用串口调试

    1、首先需要将串口连线连接好,然后打开电脑设备管理器。
    如下:
    在这里插入图片描述
    一般可以在端口处找到,如果在其他设备中发现(一般带有黄色感叹号)则代表驱动有问题,更新即可。
    2、使用MobaXterm连接板子
    Session设置如下:
    在这里插入图片描述
    3、连接完成后按下板子上的RST按键,可以看到加载如下:
    在这里插入图片描述
    4、登录用户即可
    在这里插入图片描述
    到此SoC的linux环境已经搭建完成。


    二、Soc 的黄金工程

    1.黄金工程简介

    什么是Soc黄金工程呢,其实就是在对特定板子做好的模板工程,已经把相关的外设和HPS等配置在项目中,引脚也相应的绑定完成了的工程。

    2.使用黄金工程的好处

    使用黄金工程,可以极大的减轻初学开发者的SoC工程建立难度,免去了去写相关的顶层文件,开发者只需要在黄金工程的项目中,按需舍去或者是添加自己想要的外设或者接口。


    三、Soc之hello world

    1.SSH配置

    进入ssh配置目录

    cd /etc/ssh/
    
    • 1

    在这里插入图片描述
    配置ssh设置

    vi sshd_config
    
    • 1

    在这里插入图片描述
    将第44行配置为红框中的PermitRootLogin yes
    到此为止则SSH配置完成

    2.网络配置

    配置Soc板子静态地址

    进入网络配置文件夹

    cd /etc/network
    
    • 1

    在这里插入图片描述
    修改interfacces配置文件

    vi interfaces
    
    • 1

    如下:
    在这里插入图片描述
    这里将板子的地址可以任意配置
    配置完成过后可以使用重启命令重启板子

    reboot
    
    • 1

    重启完成后输入

    ifconfig
    
    • 1

    查看配置是否成功
    在这里插入图片描述
    可以看到配置完成

    配置电脑网络地址

    在这里插入图片描述
    修改网络设置
    在这里插入图片描述
    这里的地址也可以随意配置,不过要主要需要在一个网络当中。
    到此相关网络配置完成

    3.软件代码编写

    代码编写

    打开位于Quartus目录中embedded/ds-5/bin中的eclipse
    在这里插入图片描述
    在之前的黄金工程中新建app文件夹存放软件项目
    在这里插入图片描述
    在打开的eclipse中新建C 项目
    在这里插入图片描述
    在项目中添加源文件hello_world.c
    编写代码

    #include
    int main(){
    	while(1)
    	{
    		printf("Hello World\n");
    		//sleep(1);
    	}
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    环境配置

    在这里插入图片描述
    需要配置的文件如上:

    hps_0.h
    
    • 1

    将黄金文件中的hps_0.h复制到项目中即可
    在这里插入图片描述
    其余include配置
    在这里插入图片描述
    Project — Properties

    在这里插入图片描述
    选择设置选择C++ 常规,点击右侧add添加如图的路径即可

    4.代码编译及运行

    编译代码

    在这里插入图片描述
    编译完成后会出现如下二进制文件
    在这里插入图片描述
    如果出现报错,需注意在代码编写完成后注意保存文件,eclipse不会自动保存代码

    运行

    使用eclipse的远程SSH连接到板子
    在这里插入图片描述
    打开如上图所示的窗口
    在这里插入图片描述
    选择Remote System Explorer
    在这里插入图片描述
    注意红框中的地址为板子配置的ip地址,eclipse访问linux,主机为linux。
    输入登录用户名和密码即可
    然后将之前编译产生的二进制文件hello_world复制到
    在这里插入图片描述
    根目录的opt文件下
    在该目录打开终端

    chmod +x hello_world
    
    • 1

    在这里插入图片描述
    修改文件的可执行权限

    ./hello_world
    
    • 1

    运行即可
    在这里插入图片描述


  • 相关阅读:
    python单元测试框架(继承、unittest参数化、断言、测试报告)
    周记-20220827
    【数据结构】二叉树
    偶数科技发布 OushuDB 5.0,多活主节点、多虚拟集群等特性完美支持实时湖仓一体
    自定义类型:结构体、位段、枚举、联合
    gRPC之gateway集成swagger
    计算机毕业设计微信小程序地摊租赁管理平台
    macOS 中 Apple Distribution 与 Apple Development 证书不受信任解决方法
    HTML5七夕情人节表白网页制作【幻化3D相册】HTML+CSS+JavaScript
    全民拼购模式:无论成败皆有所得
  • 原文地址:https://blog.csdn.net/YuKaguraNe/article/details/125855964
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号