随着对FPGA的深入学习,感觉应该学学NIOS了,可是,没想到,刚开始出了这么多问题,真的让一个新手有点不知所措,从内存的不足,到手上虽然有Xilinx板子,但是又不熟悉,再到借了一同事的板子,学习NIOS,真的我费了好大的周折,不过没事,解决一个问题,就说明技术长进了一步。
最近用Win7开发NIOS,发现了一些编译问题,出现了如下提示
make -s all includes
3 [main] ? (3732) c:\altera\90\quartus\bin\cygwin\bin\make.exe: ***fatal error - couldn't allocate heap, Win32 error487, base 0x9E0000, top 0xB30000, reserve_size 1372160, allocsize 1376256, page_const 4096
2 [main] make 7588 fork: child -1 - died waiting for longjmp before initialization, retry 0, exit code 0x100, errno 11
make: vfork: Resource temporarily unavailable
去网上搜了一下,有解决方法,如下
Under your Quartus II folder, go to “bin->cygwin->bin” folder, select the following files in the list below and then right-click and choose Properties. Under the Compatibility tab, check “Run this program in compatibility mode for:” and choose “Windows XP (Service Pack 2)”. Check “Run this program as an administrator”, as well.
Here is the list of files that you can select to change their compatibility mode under the Quartus II->bin->cygwin->bin folder:
1. Make.exe
2. Sh.exe
3. Echo.exe
4. Cygstart.exe
5. MakeInfo.exe
6. Perl.exe
7. Collect2.exe (under nios2eds\bin\nios2-gnutools\ H-i686-pc-cygwin\libexec\gcc\nios2-elf\3.4.6)
8. Nios2-elf-g++.exe (under nios2eds\bin\nios2-gnutools\ H-i686-pc-cygwin\bin)
方法就是将上面8个.exe文件改成XP兼容模式和以管理员模式运行,慢慢的发现用WIN7做电子有点合适啊,好多时候有兼容性的问题,整的我装了好几次软件,郁闷呢……
最后一个问题,当用了这句话:
int main (void) __attribute__ ((weak, alias ("alt_main")));
之后居然一直在alt_main上报错,最后注释,用了main()之后就好了,这个问题还有带深入研究。
#include "system.h"
#include "altera_avalon_pio_regs.h"
#include "alt_types.h"
//int main (void) __attribute__ ((weak, alias ("alt_main")));
int main (void)
{
int led = 0;
int i;
while (1)
{
led = 1-led;
IOWR_ALTERA_AVALON_PIO_DATA(LED_BASE, 1-led);
for(i = 0;i<1000000;i++);
}
return 0;
}
最后当看着该程序运行起来起来,灯一闪一闪的时候,心中还是有点成就感,想想在自己从51的LED,C8051的LED,再到61的LED,之后到FPGA的LED,再到ARM9的LED,之后再到STM32的LED,一直到今天的NIOS II的LED,自己确实比别人少睡了好多懒觉,比别人在买书和硬件的投入上话的更多,比别人拿的手机烂了一点,比别人逛的街少了很多,那是因为自己一直在点“灯”,愿LED能给我自己树立一座灯塔,指引自己一直向前,谁让自己选择了这行,渐行渐累,但依然执着,执著的守望你,守望技术……
文章评论(0条评论)
登录后参与讨论