DE2_115(DAY2)用niosii和switch还有NiosII console去控制板子上的led
承接DAY1做的事情(https://ithelp.ithome.com.tw/articles/10283378),这次我想将板子上的switch作为输入
去控制板子上的led,还有使用niosII console 去输入值来操控led显示。
#实验构想:
实验一(板子上的switch作为输入来控制led)
step1:用qsys拉好niosii和板子上pl的连结
step2:在eclipse中将switch的address的值assgin给led的address的值
step3:烧上板子以後开关switch就会让在其上的led也跟着开关
实验二(使用niosII console输入值来控制led的明暗)
step1:sopcinfo同实验一,只有.c档的code要改
step2:烧上板子以後再在console中输入值led的灯就会随着改变了
实作(实验一):
第一步:
qsys的拉法跟day1很像,但是多了一个pio是要设为input,是用来给switch当作输入
这边提醒一下,onchip memory不能用预设的4096bytes,在quartus这边生成sopcinfo档案时不会有问题
但是到eclipse那边build project时会提示(什麽overflow的),这边的原因我还没有搞清楚,但是我猜就是memory给太小了,所以我回到qsys那边把onchip_memory size调成409600bytes就可以过了,之後搞懂再回来补解释
第二步:
1.在qurtus中要呼叫出刚拉好的qsys档案和.v档,并新增一个.v档叫做lights.v,其内容如下图,只是把要用的port宣告进来,还有Instantiate the Nios II system module generated by the Platform Designer tool
2.这样即可以去做analysis&synthesis
第三步:
1.要做pin assignment,这次我就是直接在qsf那边输入我要用的脚位,储存以後就会直接在pin planner那边进行更动了,图中的altera_reserved 那四个pin角是给jtag使用的,不需要自己再去assign脚位
2.做完了以後就可以compile design,如果过了的话就可以在上方工具栏中开启tools=>
nios software buils tools for eclipse了
第四步:
1.开启之後会是空的,在右上角选择file=>new=>niosii application and bsp from template选择在quartus中生成的sopc(system-on-a-programmable-chip)info file,然後在system.h档案中找到LEDS_BASE的address是0x81000,SWITCHES_BASE的address是0x81010,然後改.c档的内容如下图烧录以後就可以看到led会随着switch的开关而明暗
实作(实验二):
第一步:将.c档里面的code改成下图
第二步:在niosII console中输入0-127的值led就会随着输入的值进行变化
实验影片连结:
实验一:https://youtu.be/CECFKGfduHE
实验二:https://youtube.com/watch?v=x4F6k7sC8Mc&feature=share
参考资料:
https://ftp.intel.com/Public/Pub/fpgaup/pub/Teaching_Materials/current/Tutorials/Introduction_to_the_Qsys_Tool.pdf
https://www.cnblogs.com/oomusou/archive/2008/10/02/nios2_console_ledg.html
<<: 虎你快乐啦!自己的新年图自己做 (React+Fabric.js) -上
大家好~~欢迎来到第二十六篇 聊聊学习方向讨论 本篇呢 会跟大家分享,平时本人会怎麽训练自己的程序。...
前言 今天来加入更多的Dependencies,以及聊天开发的准备 Cocoapods 那麽我们先来...
实作 所谓读了原始码却不实作与验证, 那不过就是对原始码的意淫而已, 所以在这个系列文的结尾总是还要...
-进程的记忆体布局 **缓冲区(Buffer)**是指用於存储特定大小数据的一段内存。如果数据大小...
前篇提到可以利用 waitForElementVisible() 去等待一个物件的 display ...