双Nios核的cpu总算跑起来了

来源:互联网 发布:单片机如何控制继电器 编辑:程序博客网 时间:2024/05/30 07:12
2007-01-11
    这些天,真是忙得天昏地暗。白天在兼职的公司调试数据采集卡的驱动,晚上一回来就扑到我的那台老计算机前,熟悉Quartus和Nios核,参照别人的技术文档一步步的来。从简单的VHDL及Verilog代码编写,下载,到复杂nios核的实现。最头痛的是编译文件和生成内核的速度,即使一个简单的只有20几行控制led的文件通常也需要5-6分钟以上。更别说我的两个Nios核的系统,用了两条三态总线,两个核之间通过双口ram共享memory通讯,生成nios核大概需要20几分钟,编译生成pof,sof文件需要30多分钟,可怜我的赛扬/256M内存的机器阿,累得和老牛似的。一直在想如果有台AMD双核64位的计算机,哪该多好。也许还得继续等下去,弟弟还在上大学,自己在外面兼职的工作又收入有限,前段时间又生病。真是淘尽门前土,屋上无片瓦,生来就是受苦的命哦。
     采集卡的驱动可谓大动干戈,直接在程序中打印串口调试,一直无法的到中断回应。又用Arm仿真器调试,依然没有什么进展。心里有点发毛,真是怀疑自己的这双手,1天,2天,一周都没有结果。最后没有办法了,找了块Dsp的板子和数据采集卡接口后对调,中断信号依然没有,于是把问题反映给硬件人员,硬件人员自己调试了一下,而且有如果先启动其中一块板子,就采集不上数据来。最后是两块板不共用电源问题,用一个电源给两个器件供电,往内存中读写数据,OK。
     满心以为这下可以了,今天来了又把ARM板的电源和对接一下,问题依旧。只好把能用到的调试器件都用上,二个仿真器,一个信号源,示波器,万用表都接上,有点像个修电视机的,最后仔细对比发现,写的数老是不在对应的地址上。把ARM仔细和原理图对照,发现硬件人员线路修改后A11,A12居然没有连 接到相应的引脚,想省劲也没有这样做的,这写高地址能写对才怪呢。
    不过也有让自己欣慰的地方,自己的双Nios核的cpu总算跑起来了,把uclinux系统写入到flash后,在串口下居然可以调用显示,登陆后可以执行命令。文件系统+内核大概一共有17M那么大,在下载flash文件的时候,由于是两个cpu,在nios编辑器中选择了nios核,可下载命令却提示需要指定device和instance,应该是nios ide的bug。琢磨了半天,用命令行搞定了。下面是命令语句:
nios2-flash-programmer --device=0x01 --instance=0x0 --base=0x00000000 vmlinux.flash
nios2-flash-programmer --device=0x01 --instance=0x0 --base=0x00000000 romfs.flash
但愿能给碰到类似问题的人一点帮助。 
原创粉丝点击