Nios® V/II Embedded Design Suite (EDS)
Support for Embedded Development Tools, Processors (SoCs and Nios® V/II processor), Embedded Development Suites (EDSs), Boot and Configuration, Operating Systems, C and C++
12745 Discussions

uClinux kernel for NIOSII build error

Altera_Forum
Honored Contributor II
1,213 Views

Hello, 

 

I have been using the "test-nios2" build release for my uClinux kernel. I can make a successful build when I do a fresh git checkout. I can make modifications via make menuconfig and have been able to get network communication working, create a kernel driver to work with my hardware and read data from my board. However, on several occasions now, if I go into menuconfig to add something new to the kernel such as POSIX Message Queues which is what I did this last time. I get the following build error. It is always the same. The mm.h file is being included and on line 599, I get" implicit declaration of function `virt_to_phys'" see below. 

 

In file included from /home/jkealty/nios2-linux/linux-2.6/arch/nios2/kernel/traps.c:33: 

/home/jkealty/nios2-linux/linux-2.6/include/linux/mm.h: In function `lowmem_page_address': 

/home/jkealty/nios2-linux/linux-2.6/include/linux/mm.h:599: error: implicit declaration of function `phys_to_virt' 

/home/jkealty/nios2-linux/linux-2.6/include/linux/mm.h:599: error: implicit declaration of function `virt_to_phys'  

/home/jkealty/nios2-linux/linux-2.6/include/linux/mm.h:599: warning: return makes pointer from integer without a cast 

make[3]: *** [arch/nios2/kernel/traps.o] Error 1 

make[3]: *** Waiting for unfinished jobs.... 

make[2]: *** [init] Error 2 

make[2]: *** Waiting for unfinished jobs.... 

make[2]: *** [arch/nios2/kernel] Error 2 

make[2]: *** wait: No child processes. Stop. 

make[1]: *** [sub-make] Error 2 

make[1]: Leaving directory `/home/jkealty/nios2-linux/linux-2.6' 

 

 

The only way I can resolve this is to remove my nios2-linux folder and all folders underneath and extract from the tar file and git checkout the test-nios2 branch for /nios2-linux/linux-2.6 and /nios2-linux/uClinux-dist. Again! 

 

I can then start off with a basic make menuconfig, make Vendors_HWSelect SYSPTF= my hardware image ptf, then a final make. I then bring back in my kernel driver and user app source code.  

 

So, my question to the forum: Is anyone else getting this same type of behaviour? 

If so, what did you do to resolve it? What is causing the problem with mm.h? 

 

Thanks, 

 

John
0 Kudos
0 Replies
Reply