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

转—— SOC初体验之HPSFPGA

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
转—— SOC初体验之HPSFPGA
7 G3 q% p2 q+ s" B4 l
拿到板子有2 3天了,板子到手第一件事情当然跑跑例程  熟悉开发流程  希望这块帖子能帮助一些初学者熟悉FPGA到HPS的通信  |$ r# X" Y5 f) a
开发环境:WIN7 64位  quartus 14.0以及相关的组件  本次实验只用到了QSYS和SoC EDS 14.0 Command Shell0 d9 h  L, w+ P
硬件:PC机一台      DE1-SOC 开发板一块     网线 usb jtag各一根   一张4G以上的TF卡
7 G, W% b2 }, ], N& ?6 Z- W8 y在开始之前先稍微介绍下de1-soc和其配套资料 , t# A3 R+ w% q& a

& o% k: h: U9 n6 o大概框图就是酱    HPS FPGA   其实要了解的多太多 soc的内部结构真的需要好好研究  没事就看看文档吧
  P0 l8 g% ?6 u/ j7 ~友晶的板子在大家的眼里不外乎2个印象   第一个当然就是精美  高大上 第二个就是价格了
  o* w3 [' t: ^' o) d但是这块板子的性价比我可以说除了某些淘宝初学者的低端板卡  性价比是相当高的
' Q% U. s) A: h8 y2 r% I. v1 I , ^' W* K4 o$ ]5 O- w
大部分资料均在友晶官网下载$ F% W! u. O: e% y6 Y
http://www.terasic.com.cn/cgi-bi ... 182&No=870&PartNo=4
. n- K1 X" Y  S' i/ o基本够用  除了opencl暂时用不到  其余的都下下来吧  本次实验用到了DE1_SoC_SD.img(yocto linux)和tools里面的一些小工具 驱动。  
: B- v1 ?; s& t; s% J, K$ r$ X
/ T" s: O& M6 I# E0 X/ b大概看了一下   FPGA一侧的资料和以往友晶的de1 de2系列差不多  之前玩过的可以跳过了
) @7 Q& ?1 X+ A: w1 A0 |1 e: G: L# Q亮点是给OPENCL开发的资料  不过暂时玩不转   等待牛人出的书 希望能在活动结束前出版(据我了解至少有2本OPENCL的书 一本是西电已经出版的DE1soc配套书籍  讲得不多   另外一本是一名成电教师所编写 估计明年年后能出来)" a/ j- E: ~1 K: d: ]) i6 p
* l. ?/ L  D; V# m
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------8 s0 D% {# i7 O" r0 q( R  U+ Y
闲话到这里了  现在开始本次HPSFPGA实验
. Q* E: a* x8 g' a首先开始第一部分
, N+ S7 l& N5 o6 A9 F2 p/ K- j* F * J$ B" K: q. M7 T4 f7 h
系统架构如图所示; H. X& n: ]& f! K7 w
1.新建一个工程HPSFPGA  器件选取什么的就省略啦
0 W& j. i8 S, L2.点击assignmens中的inport assignmens  选择附件中的DE1SOC.QSF 点击OK
) e" l; b: e! I; F, z9 k7 O ; }- d3 ]. T# b" K6 E
3.点击右上角qsys按钮
# H3 m$ F9 Z* I9 C将一个勾点掉
3 ?3 n* M* G  s$ F" `
. y5 }7 P; T3 O+ b将框中的清空: i. S& S2 n3 v! p; G

8 j, S: U1 I1 v: S然后点击左上角ip目录  processors and Peripherals---Peripherals--- PIO (Parallel I/O)  $ H2 |7 [: p1 s, x8 O1 ?* a
按顺序新建2个10位的外设  分别命名为led和sw
* n+ e) ]& o5 [! G1 U# `2 l5 n# K参数分别如图 led------ output  10bit  将地址最后3为改为3ff
/ X0 _% Q: c) }3 v) h" N
# L; A) e$ q& b  L5 o9 u) k/ Z连接CLK  RESET  S1  双击后面的external_connection 名字改为如图所示( L4 K& {( R6 t  ^6 u) p
3 E0 y( A" J2 |- \* \/ p. `% ^

3 T% p7 D( ]8 l% I# j& N' Msw--------input  10位
" }4 Y5 Z% _6 y# ?/ O5 C6 i/ w2 }
4 a+ D1 y8 s: W2 f- _4 d0 F& ^连接CLK  RESET  S1  双击后面的external_connection 名字改为如图所示+ p( S( [' w0 ~( _" [& F- u

( M) [. d9 \* \) T4 G* H0 s% k/ |8 O! F
然后点击System----Assign base address、- A$ k3 {! f8 r0 ~9 {

- [% q. X  y& Y$ ^
' g/ d' F! x% ~0 ?( \( H9 B5 b; K4 y& _
接下来开始繁琐得设置各个参数 双击HPS_00 ?8 k- P$ J. d1 Y8 d" a

5 }0 a- X/ z2 }6 }
( y" K! Z$ j" x0 ?
- J, q) b: [/ ]- { 0 f; W4 U4 y( _; _. s

' [: A2 n* j/ T' a: d& i/ r% z6 w ; P% i! n% c# m  h+ K: j
4 ^+ B' \( Y, U: n5 f* [

4 h$ A0 d* b) x * Q! `, _# W) f
$ l. j3 v0 T7 A6 @
; @( N' c9 H; q* x/ V/ q7 p' o+ H
到这里qsys的设置就完成了   generate hdl
. v/ Y) _9 _" V" K; ^回到quartus 将附件中的HPSFPGA.vhd加入工程之中    点击TOOLS----TCL script
8 @& n7 Q1 R) e8 _. G- n7 g0 ~* v运行图中第一个和第二个文件2 @. E0 G1 N0 U1 R
, H: E, W8 k6 t: I, \, L4 x0 v9 n6 a
然后编译工程   生成sof文件  工程到此成功3 j0 a! a: F  F
-----------------------------------------------------------------------------------------------------------------------------------------------------------------
' c5 @* Y! F* S0 ~2 f/ X* f接下来开始第二部分7 B/ M4 Q: e: _6 Z* B
编写llinux yocto下的程序,运行在hps中
" t5 [) R1 i7 J首先是sh文件   可以参考附件中的generate.sh$ ]7 P) R" X! \+ K0 a+ z
#!/bin/sh
7 `4 n( u: l6 a+ Jsopc-create-header-files \' H# v; `  U; P
"./hps_fpga.sopcinfo" \
: K3 n8 f9 }' B5 y' N- x--single hps_0.h \
3 u! D. o7 H. z4 ]' ?--module hps_0
4 J9 b" W9 N5 N3 U* S. o) R% q; ^. p- F
打开SoC EDS 14.0 Command Shell  按图所示生成hps_0(这个文件包含了qsys组件的信息,我们这次用的是led和switch)
4 U; {1 m! _" b0 g4 m( [8 v 4 U; N; v6 o8 g7 O
然后编写程序  也可以直接拷贝附件中的main.c和makefile* B) z6 f1 L. F3 i3 W3 O; }
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------
, D5 x; r2 P" a+ P* Z9 ?第三部分
4 D  H! [: ]$ E! Q2 }: x& A按照官方文档制作sd卡的image  电脑安装串口通信软件和驱动  
0 J1 p$ E# t. _$ E然后将sd卡放入开发板  打开电源
% \2 x" M$ f& f: s% F5 b7 f  I可看到如下信息
3 W& }4 j$ E! s7 r, @: Q
1 p9 U0 x% ^' {- c, o& A6 {: |+ ]9 I系统为yocto 1.3
6 k8 G/ a% B0 ^. n# A: S0 K回到quartus 将soc文件下载进开发板
) j" M% a5 W. G; M0 ]( _; `1 i " ^+ W6 D3 q! c) Z" H8 }; m1 Q

* `( c4 j7 H: ~7 Y5 o& d7 O
" I1 c" o( `, e! J/ O& k, \' H/ J& {% e: g
在按图串口输入一下命令 root    ifconfig eth0 192.168.110.10
! W# Q1 S0 l- U1 z
) P! S) T# ]3 w$ `- `5 i用网线将PC机和开发板相连   并将PC本地IP设置为192.168.110.9
9 b. V8 w6 A/ D0 |& t, kping一下
5 p  N! i2 l- M& R# q6 s4 s5 S7 \ 8 R% P1 z, q& O& t
输入 scp FPGAHPS root@192.168.110.10:/home/root; O  b) V: U' R# ?

( V( P' f6 O$ a* B! F; L0 a( e( z- w9 {+ `0 s. t
密码默认为:terasic
8 L; Y' a# b% f3 t+ @6 l9 V. l; Y7 Y$ D# {( Y) l
串口输入ls   可以看见HPSFPGA文件* N- F. U* `+ U0 S0 l/ [+ I( o

- L8 r7 f6 {5 \! \按图所示输入命令   实验成功完成
% \! b" h+ [: o2 |+ T( }
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-7-31 00:47 , Processed in 0.125000 second(s), 23 queries , Gzip On.

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

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

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