找回密码
 注册
关于网站域名变更的通知
查看: 866|回复: 1
打印 上一主题 下一主题

转—— SOC初体验之HPSFPGA

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2019-4-23 09:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
转—— SOC初体验之HPSFPGA

. a* M6 ]7 |  A拿到板子有2 3天了,板子到手第一件事情当然跑跑例程  熟悉开发流程  希望这块帖子能帮助一些初学者熟悉FPGA到HPS的通信8 L) D, Z4 B! X5 n
开发环境:WIN7 64位  quartus 14.0以及相关的组件  本次实验只用到了QSYS和SoC EDS 14.0 Command Shell9 E9 q0 B0 H( G
硬件:PC机一台      DE1-SOC 开发板一块     网线 usb jtag各一根   一张4G以上的TF卡: R- o5 u! c! z% m# `
在开始之前先稍微介绍下de1-soc和其配套资料
: U. j- z4 a! M: L3 M# f
* L, f" C1 [/ l( [大概框图就是酱    HPS FPGA   其实要了解的多太多 soc的内部结构真的需要好好研究  没事就看看文档吧. Y4 i- z) M; A& x3 E0 _. ?5 Y
友晶的板子在大家的眼里不外乎2个印象   第一个当然就是精美  高大上 第二个就是价格了 ' X  d$ W9 G0 l4 F4 _8 R, x, A
但是这块板子的性价比我可以说除了某些淘宝初学者的低端板卡  性价比是相当高的( y6 I/ f  m8 D0 x7 v: o

. f; l8 Q% r( h# ?2 p大部分资料均在友晶官网下载2 [1 s/ s; U4 v6 g9 K
http://www.terasic.com.cn/cgi-bi ... 182&No=870&PartNo=4
7 l0 D7 q9 g+ p2 M3 V9 b4 O基本够用  除了opencl暂时用不到  其余的都下下来吧  本次实验用到了DE1_SoC_SD.img(yocto linux)和tools里面的一些小工具 驱动。  
9 h4 e# r4 }7 z: C/ `6 e% e5 s; @& y9 ]1 l' ~
大概看了一下   FPGA一侧的资料和以往友晶的de1 de2系列差不多  之前玩过的可以跳过了
6 T, M; r, i) T6 {$ N8 w* o亮点是给OPENCL开发的资料  不过暂时玩不转   等待牛人出的书 希望能在活动结束前出版(据我了解至少有2本OPENCL的书 一本是西电已经出版的DE1soc配套书籍  讲得不多   另外一本是一名成电教师所编写 估计明年年后能出来)
/ b9 H8 z# X6 V& Z4 Z
  G* ?* R- Y" N1 Q---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
& R; O. x0 A9 X( U闲话到这里了  现在开始本次HPSFPGA实验. d! q- b1 A8 \0 c7 o
首先开始第一部分
/ R8 l3 N' ^9 j
0 R2 A+ Q- j, r( n6 Q# S系统架构如图所示
1 c2 B3 Q) q- \% [. b8 l1.新建一个工程HPSFPGA  器件选取什么的就省略啦
. Z; i; a8 W. W3 a' k( N6 H2.点击assignmens中的inport assignmens  选择附件中的DE1SOC.QSF 点击OK
' R) z# w$ H0 M( F, ]; ~ 6 r0 `; K# A% }  V9 u
3.点击右上角qsys按钮 1 a2 z1 c. k7 P" a$ I2 D
将一个勾点掉
. l+ z  p! S: p& N0 Q- ?8 ?  D
) D' @; j4 ~- o; K, H; C将框中的清空
# G2 U) G$ K5 n9 _. e3 M4 x
3 ]; R2 X% G* t1 e2 u然后点击左上角ip目录  processors and Peripherals---Peripherals--- PIO (Parallel I/O)  . A1 u- g, c, D# V1 g* W7 E: j. k
按顺序新建2个10位的外设  分别命名为led和sw7 b% }! c7 F' K
参数分别如图 led------ output  10bit  将地址最后3为改为3ff
2 J; u! ?. c& a( x6 a/ D
$ @4 p6 \9 t7 P. i2 p连接CLK  RESET  S1  双击后面的external_connection 名字改为如图所示
' {* ~( l6 D& e3 K! p$ P) x1 @
, Q' `$ j! }& ^: {6 D$ h' p6 U+ M8 _5 t
sw--------input  10位
& C/ a; ?. @' |6 }" t
  X* w; C/ l- k( a5 M连接CLK  RESET  S1  双击后面的external_connection 名字改为如图所示
  w& ^; q; S+ t * o! J, k9 U; l- i' q+ m
, B: N+ e* y9 Q
然后点击System----Assign base address、
& X' [% B  B+ g5 v& }, n . q: ~, _0 c- h7 B
; i0 ?/ F' h1 q5 c3 K6 o
7 ?+ z2 a+ R! s! `5 z8 \
接下来开始繁琐得设置各个参数 双击HPS_06 g: c( D; }+ p8 v

# f3 `4 w3 A& Y/ m8 @) \ - m1 J1 `. q1 ^  v  m

% z) s* v& j; C9 S$ e" F. e ) ?9 O0 F7 C1 N* T2 M' d3 a

) v. n8 W9 ~0 v5 U! [7 K/ F ( g( t2 S, i  U& S# a
* v. l+ b0 \& S# R( z1 A9 x
% c4 z. t9 A; w

5 ^) ~$ D$ f; x
9 _# B5 n$ U+ M4 } : O! P$ y+ e% M/ n
到这里qsys的设置就完成了   generate hdl
4 ]5 O' j" g) D# x4 r: l  R) y回到quartus 将附件中的HPSFPGA.vhd加入工程之中    点击TOOLS----TCL script
# w# i3 N3 \2 }$ g7 ]; Q- c( @4 U运行图中第一个和第二个文件: Y+ F3 I$ ~3 ~

. v) S/ d8 W( X# f然后编译工程   生成sof文件  工程到此成功  x: Q3 Z* H" h! w# z
-----------------------------------------------------------------------------------------------------------------------------------------------------------------
; R' h! ^% b+ l3 S& K' T9 a' N接下来开始第二部分
3 t/ A5 t/ a; j编写llinux yocto下的程序,运行在hps中
1 g) r+ l( e( h首先是sh文件   可以参考附件中的generate.sh* n! G1 l2 `- n  B8 u( R
#!/bin/sh9 H* E% M( r( R+ s( i( w; Y+ j. }
sopc-create-header-files \
& v7 w) w, Y, z8 a3 S) H" y"./hps_fpga.sopcinfo" \
! K4 c( g( J7 L+ G% @8 h, ?. C--single hps_0.h \, k4 W& E8 Z6 |
--module hps_0; u3 m! L! H5 ?- E( S
6 G( `# D8 \! Z8 D
打开SoC EDS 14.0 Command Shell  按图所示生成hps_0(这个文件包含了qsys组件的信息,我们这次用的是led和switch), a0 V3 W' b) L& {1 w) v

3 \6 q8 I/ p0 k2 a* A* q然后编写程序  也可以直接拷贝附件中的main.c和makefile. P0 t- r9 v& D- Y9 O: h
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------
: X0 J) {: X+ T. G. g% c$ P; K第三部分
1 r4 Q( h/ y/ P, u  Q# b4 S按照官方文档制作sd卡的image  电脑安装串口通信软件和驱动  7 j+ T1 \. h/ b% @
然后将sd卡放入开发板  打开电源: p2 @* Q1 ?! J3 s+ {) M( L+ {
可看到如下信息  I7 J) ]# @/ A! M- i: A% x4 T
( m# B/ L& c3 w- h# D
系统为yocto 1.3! C% Z2 ]0 e0 \- }4 Z2 N
回到quartus 将soc文件下载进开发板: d- k2 a' s( z' f( ]3 K8 a: }8 m
/ Z2 Q, n! `  z/ w9 W. U) y

8 J$ y9 r* v2 u( R& v9 Z, y% W7 u  K9 c
% |5 L* Q6 W3 [1 k
在按图串口输入一下命令 root    ifconfig eth0 192.168.110.10
( I' l9 {6 w8 D+ {
3 R& h: U! u, q) C用网线将PC机和开发板相连   并将PC本地IP设置为192.168.110.9$ U" F3 c3 `4 y$ W. E$ E
ping一下0 S- q' t2 o8 X- V/ V; S9 e. a
7 E0 C! s, c* O, U, p- t
输入 scp FPGAHPS root@192.168.110.10:/home/root
, Q: t' ~* o4 Y% D- r + j) H/ O3 Y+ U% y

2 n+ w7 X+ d" \7 P( a( `密码默认为:terasic$ Y' j  h# [5 Y) v

- Q5 n) n8 s& R/ P$ I/ V串口输入ls   可以看见HPSFPGA文件2 V- h4 S* j- `) O) L8 p( j

1 w' E! q/ T0 p& c按图所示输入命令   实验成功完成6 u% s9 X( I. X' E- Q, k+ i7 E( R
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-10-9 05:38 , Processed in 0.125000 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表