SoC学习篇—实现hello FPGA打印

本文详细介绍了SoC的学习过程,包括SOCEDS软件安装、SD卡格式化和镜像烧录工具的使用,以及设备树制作、程序编写、开发板连接和Eclipse远程连接的步骤。通过一个简单的‘helloFPGA’打印程序,展示了从创建工程到在FPGA上运行的完整流程。
摘要由CSDN通过智能技术生成

一、软件安装

下载资源:
https://pan.baidu.com/s/1CYWWSbSk1oZ3T23U84qzKg
提取码:hq25

1、安装SOCEDS

下载完成后,双击可执行文件,进入如示界面
在这里插入图片描述
同意协议
在这里插入图片描述
编辑安装路径
在这里插入图片描述

1.建议只修改盘符,保留其他默认路径;
2.路径中不要有中文和空格;
3.与quartus同安装路径。

点击next
在这里插入图片描述
再次点击next,进行安装
在这里插入图片描述
耐心等待,安装完成,点击finish
在这里插入图片描述
驱动安装向导
在这里插入图片描述
配置完成
在这里插入图片描述
CMD驱动
在这里插入图片描述
点击下一步,点击同意许可协议,再次点击下一步
在这里插入图片描述
设备驱动安装导向
在这里插入图片描述
安装ARM DS
在这里插入图片描述
同意协议,下一步
在这里插入图片描述
安装版本,路径;点击next
在这里插入图片描述
重启提示,点击next
在这里插入图片描述
点击安装install
在这里插入图片描述
驱动导向,点击下一步
在这里插入图片描述
弹出对话窗,点击安装
在这里插入图片描述
设备驱动安装完成,后面一步点击finish
在这里插入图片描述
验证成功安装,出现【Eclipse】和【SOC EDS command shell】
在这里插入图片描述
在这里插入图片描述

2、小工具分享

SD卡格式化工具

网盘链接:https://pan.baidu.com/s/1XBh7f1-FxXM6W2EBYCz3RA
提取码:8o8i

作用:用作SD卡格式化,选取需要格式化的磁盘空间即可。【格式SD卡,方便烧录镜像】
双击可执行文件,选择需要格式化的磁盘,点击格式化即可。
在这里插入图片描述
集成工具Mobaxterm

百度网盘:https://pan.baidu.com/s/1eoCpxJs1duwC-n6Wf3L0Lg
提取码:96o6

它是一款增强型终端、X 服务器和 Unix 命令集 (GNU/ Cygwin)工具箱。

SD卡镜像烧录工具

百度网盘:https://pan.baidu.com/s/1v-9JZmeCBotYNqGrz0S3EA
提取码:jbm9

黄金参考工程

至此,本次小实验所需要的工具资料就分享完成了,接下来进入正题。

二、镜像烧录

1、格式化SD卡

将sd卡插到读卡器,并打开格式化磁盘的小工具
在这里插入图片描述
将此三个磁盘格式化【非主机磁盘】
在这里插入图片描述
点击格式化,格式化完成后,点击完成,关闭小程序
在这里插入图片描述
格式化完成如示
在这里插入图片描述

2、镜像烧录

打开镜像烧录工具
在这里插入图片描述
找到镜像文件所处路径
在这里插入图片描述
点击打开,点击【write】
在这里插入图片描述
弹出警告,点击yes;静待烧录完成
在这里插入图片描述
烧录完成,点击Exit退出
在这里插入图片描述
查看烧录结果【点击非加密磁盘】
在这里插入图片描述

3、设备树制作

打开参考工程,进行全编译
在这里插入图片描述
打开shell脚本,回车,进入指令输入行
在这里插入图片描述
切换磁盘,进入参考工程路径
在这里插入图片描述
指令说明:

cd E: //进入E盘(根据参考工程路径选择)
cd filename //进入该文件
ls //查看该文件下所有文件
make dtb //生成设备树二进制文件

生成设备树二进制文件
在这里插入图片描述
查看生成文件
在这里插入图片描述
打开文件【output_files】,双击脚本文件【sof_to_rbf.bat】
在这里插入图片描述
生成文件
在这里插入图片描述
替换SD卡中的【.rbf】和【.dtb】文件
在这里插入图片描述
弹出读卡器,将SD卡插入开发板
在这里插入图片描述

三、程序编写

1、创建测试文件

使用shell,创建文件mydemo

mkdir mydemo

在这里插入图片描述
使用指令,打开eclipse

eclipse

在这里插入图片描述
更改路径,mydemo文件夹所在路径
在这里插入图片描述

注意:不需要破解。直接创建文件即可。

点击【file】->【new】->【C project】
在这里插入图片描述
填写工程名称,选择GCC联合编译器,点击finish
在这里插入图片描述
出现工程文件夹
在这里插入图片描述
鼠标选择文件夹右键,【new】—>【C source file】
在这里插入图片描述
添加文件名【注意后缀】
在这里插入图片描述
查看创建工程
在这里插入图片描述
至此,工程创建完成。

2、程序编写

一个简单的打印小程序

#include<stdio.h>
#include<unistd.h>
int main()
{
	while(1)
	{
		printf("hello FPGA!\n");
		sleep(1);
	}
	return 0;
}

点击小锤子图标,进行编译【Ctrl+S保存后编译】
在这里插入图片描述
生成如示文件【二进制文件和Debug文件】
在这里插入图片描述

3、开发板连接

打开设备管理器,查看端口是否连接正常
在这里插入图片描述
打开网络适配器,更改ipv4协议ip
在这里插入图片描述
具体如下
在这里插入图片描述
选择以太网属性;双击协议版本
在这里插入图片描述
打开mobaxterm,创建端口连接
在这里插入图片描述
连接成功,登录
在这里插入图片描述
修改配置文件

cd /  //进入根目录
vi etc/ssh/sshd_config //修改配置文件

在这里插入图片描述
修改第44行
在这里插入图片描述
修改如示【ESc+:wq保存退出】
在这里插入图片描述
点击开发板复位键,进行编译

在这里插入图片描述
修改ip

ifconfig eth0 192.168.0.2

查看ip
在这里插入图片描述
查看windows是否ping通【ping +ip】
在这里插入图片描述

4、eclipse创建连接

点击【Windows】—>【perspective】—>【open perspective】—>【others】
在这里插入图片描述
点击【Remote System Explorer】,点击【OK】
在这里插入图片描述
鼠标右键【new connection…】
在这里插入图片描述
选择【SSH only】,点击【next】
在这里插入图片描述
填入端口连接名称或ip
在这里插入图片描述
ssh连接
在这里插入图片描述
输入用户名+密码
在这里插入图片描述
出现如示界面,连接成功
在这里插入图片描述

5、编译程序

复制二进制文件
在这里插入图片描述
粘贴到【opt】目录下
在这里插入图片描述
打开opt所在目录
在这里插入图片描述
编译test文件【./test】
在这里插入图片描述
许可问题,赋予该文件可写可读可执行权限

chmod 777 test //赋予test文件可写可读可执行权限

在这里插入图片描述
再次运行test【Ctrl+C终止】
在这里插入图片描述

为什么要学学习指导: 对于FPGA初学者来说,什么是FPGA?为什么要学习FPGA?怎么学习FPGA?这三个是我们最先会面对的大问题,我们只有搞明白、弄清楚了这三个问题,才能有目的、有计划的去掌握这门技术,否则,我们学习FPGA的愿望只是空中楼阁而已。学习指导包含哪些内容:该以什么是FPGA、为什么要学习FPGA、怎么学习FPGA为主线,详细的讲解了FPGA是什么、FPGA有什么用, FPGA发展前景,以及FPGA职业待遇,并且在该基础上,我们还进一步详细讲解了如何从一个什么都不会的FPGA初学者成长到无所不知、无所不能的一个FPGA工程师。 为什么要学数字电路: 数字电路是FPGA的敲门砖、垫脚石,为什么这样说呢,因为数字电路主要的内容就是逻辑和时序,而逻辑与时序就是FPGA设计的核心。逻辑无非就是与门、或门、非门 ,时序无非就是锁存器、触发器、寄存器等等,再复杂的设计也就是用这些基本电路搭起来的,那么我们只有知道了这些基本电路的功能才能搭建出想要的电路。数字电路包含了哪些内容:该是从数字逻辑最基础的0和1入手,以逻辑代数为基础详细来讲解与门、或门、非门等基本门电路的功能,又以基本的门电路为基础,进一步学习了组合逻辑电路,其中不同的与或非门组合,可构造出不同的组合逻辑电路,例如编码器、译码器、数据选择器等。接下来在组合逻辑电路的基础上,我们又进一步了解学习时序逻辑电路,时序逻辑电路不同于组合逻辑电路,时序逻辑电路能做到组合电路做不到的事情,那就是让电路具有“记忆”功能,如寄存器、计数器等。最后,我们深入探讨读者最为关心的可编程器件的内部结构和原理,为进一步学习FPGA原理打下了基础。 为什么要学硬件语法: 大家都知道软件设计使用软件编程语言,例如我们熟知的C、 Java等等,而FPGA设计使用的是HDL语言,例如VHDL和Verilog HDL,说的直白点, FPGA的设计就是逻辑电路的实现,就是把我们从数字电路中学到的逻辑电路功能,使用硬件描述语言Verilog/NHDL)描述出来,这需要设计人员能够用硬件编程思维来编写代码,以及拥有扎实的数字电路功底。硬件语法包含了哪些内容:该不仅仅是介绍了Verilog HDL基本概念和语法,更着重讲解了Verilog HDL的基本设计思想及优良的代码书写规范和风格。 为什么要学软件工具: Altera的开发环境为Quartus ll, xilinx的开发环境为ISE( IntegratedSoftware Environment ),这里我们选择的是Altera的器件,所以开发环境为Quartus ll, Quartus11开发软件是Altera公司为其FPGA芯片设计的集成化专用开发工具,是Altera最新一代功能更强的集成EDA开发软件,使用Quartus 1l可完成从设计输入,综合适配,仿真验证到下载调试的整个设计过程。Quartus 11集成了Modelsim-Altera, SignalTap工具,可以直接调用来完成设计任务的仿真及调试。软件工具包含了哪些内容:该不仅讲解了如何使用Quartus 1l软件、ModelSim和SignalTapll软件,还讲解了PLL. ROM,RAM,FIFO、 DDRIP核的使用。从第一个新工程建立,管脚分配,程序下载及工程仿真,工程调试等一系列图文操作手把手带领读者掌握软件的操作,更进一步铺开来详细讲解软件的操作界面及菜单说明,功能使用。解决读者在学习上遇到的最棘手的“软”问题,为进一步学习实战奠定了基础。 为什么要学项目实战: 前面的章多为理论知识,而这一是结合开发板实物,从理论上升到实践,将前面的基础知识运用到实际的工程项目当中。项目实战包含哪些内容:我们例举三人表决器、数字时钟、多终端点歌系统、数字示波器、数码相框、USB2.0摄像头和千兆网络摄像头这七个实际的工程项目,手把手带领大家从分析工程、分解工程、到最终实现工程。通过逐个解决工程中的实际问题,来学习原汁原味的FPGA设计。本一改传统教程里逐个讲解外设的方法,巧妙的将所有外设功能放在实际项目当中讲解,使读者1意X上做到了现现,活学活用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值