原创 FPGA&Verilog_log1

2009-8-17 11:14 2201 10 11 分类: FPGA/CPLD

09/8/15 周日<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />


终于完成了第一个SOPC实验虽然只是一个简单的LED试验,关键是要理解这一系列操作的意义,即清楚每一个步骤实现的是什么.


先讲一下具体的操作流程:


. 硬件环境的建立


1—打开QUARTUS 2 ,新建一个项目.    然后建立一个原理图文件,并设置为顶层.      保存(此时原理图上面是空白的,”save”无效,可以使用”save as…”).   


2—打开 SOPC Builder , 此时软件会要求对即将生产的系统命名, 这里注意了,这个的命名不要跟顶层文件的命名相同. 否则会出错.       然后,就是组合自己的MCU~~


组合完毕之后,记得回到CPU属性里面,把中断向量等那两个地址 的存放方式 修改为所需要的模式..  然后,选择让系统自己分配个单元的地址 以及 中断向量.     最后,生成系统.(此时不用急于关闭SOPC Bulider , 下面还会用到.)


3—回到QUARTUS 2 ,在原理图文件(顶层)里面添加刚才创建的MCU模块,并将你所需要的其他模块放进来,设置好连线和I/O,  然后是分配引脚.      最后,保存然后编译


4—完成上面的操作后,.. 就可以往FPGA的配置芯片上下载 .sof 文件(JATG方式, 临时的 , 复位后 配置丢失下载速度快,一般调试用) 或者 .pof 文件(ASP方式, 长久的, 复位后配置不丢失, 下载速度稍慢,)……



………………….至此, 完成了 SOPC 的硬件环境设置!


 


 


二 软件环境的建立


1—SOPC Bulider 里面(就是刚才生成MCUSOPC Bulider 窗口), 点击”NIOS || IDE”,便直接打开了 NIOS IDE环境..


 


2— NIOS IDE,新建 project , 选择 “Nios ii c/c++ application” .. 然后发现, 刚才生成的硬件环境已经自动嵌入到这个project 里来了..       选择适当的模板,直接”finish”.OK..       


 


3— 看左侧的项目栏, 右键点击 刚才建立的那么项目名, 选择 新建一个 C源文件…. 可以看到一个C文件被加入了项目.      然后在这个C文件里编辑你的CODE~~      CODE完之后就 右键点击项目名 , 开始 build project ……….


 


4—最后, 在 菜单栏“tools”里面选择 “Flash Programmer”, 在新窗口里面 右键点击 Flash Programmer新建立一个下载操作,      设置好相关选项, 比如下载线 ,项目名, ROM映射等等 …. 最后开始下载………..


………至此, 一个 SOPC 就完成了~~~  拔掉所有的连线,REST 一下开发板~~ 暂时爽一下啊````` 不相信自己眼睛的 可以把C程序再改改 ,再 下载看看,,,,,,,,


此外 NIOS IDE 还可以在线调试等等, 具体 右键点击 项目名 看看 ~~~



 


 


 现在具体说一下每一个步骤的意义:


 


硬件环境的建立


1—这个就是建立项目啦~~~


2—


1)生成 .ptf 文件 类似数据库文件,包含MCU系统的所有模块列表;


    每个模块的信息;  以及其他用于SOPC的信息.


2)生成 .bsf 文件 就是往原理图上添加的模块~


3)还有其他的文件..(没具备体研究)


3— 编译后, 生成FPGA的编程文件--- .sof .pof


4—下载咯~


 


软件环境的建立~


1—


2—


3—


4--   建立NIOS 的软件编译环境~ 包括各种库的集成~~ 比较复杂, 说不清~


       具体参考那个PPT…

PARTNER CONTENT

文章评论1条评论)

登录后参与讨论

tengjingshu_112148725 2009-8-16 11:36

谢谢分享经验
相关推荐阅读
用户1528688 2014-10-19 10:55
【博客大赛】汽车电子的容错处理
汽车电子的容错处理随着新能源汽车的逐步上路,车上EMC状况将是一个巨大挑战。软硬件方面都应采取一定的措施提高系统容错性能。下面是笔者的一些经验整理,希望能起到抛砖引玉之作用。  在实验室验证原型的时...
用户1528688 2014-09-08 00:14
背景任务的几种常见调度方式
背景任务的几种常见调度方式   我们喜欢RTOS,因为它足够简单;我们讨厌RTOS,因为它足够复杂。从“裸奔”到RTOS,首先意味着工程师们要去适应这些“新”东西,更要命的是要去给BOSS...
用户1528688 2014-08-18 21:20
工程师应要会讲故事
    是的,我回来了,EDN博客(...好吧,其实没人记得我)     5年之前我还在念书,自认为是那种无师自通的材料,于是乎——大一白天疯玩,晚上熬夜做作业;大二开始沉迷code,以至于去...
用户1528688 2009-12-03 07:33
KeilC 里面慎重对全局变量初始化
首先,这里的全局变量指的是 在main() 之前定义的变量(包括在 .h文件 或者  其他.c文件里面定义的变量)。<?xml:namespace prefix = o ns = "urn:sc...
用户1528688 2009-11-28 23:03
C51外部RAM扩展
//存储模式的选择(small,compect,large),并不直接影响XDATA的使用 -- //使用XDATA,PDATA时,主要注意的是 //参数传递,堆栈的位置--因为这些直接影响到程序的效...
用户1528688 2009-11-28 21:53
特定序列检测
从数据流<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />  010_01101_0_...
EE直播间
更多
我要评论
1
10
关闭 站长推荐上一条 /3 下一条