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++
The Intel sign-in experience has changed to support enhanced security controls. If you sign in, click here for more information.
12516 Discussions

LCD 16207 + NIOS2 MMU - Kernel Panic

Honored Contributor II

I'm working on tring to run LCD 16207 driver on NIOS2 with MMU. The driver which is included in kernel and relased on this website: is I mean for NIOS2 without MMU. When I try to load the module lcd_16207 I get kernel panic 


root:/> modprobe lcd_16207 

Device /dev/lcd16207 registered 

CPU 0 Unable to handle kernel paging request at virtual address 04001000, epc == c3c66000, ra == c3c6d0a4 

Kernel panic - not syncing: Oops 


In source code I see the write function: 

static void WriteNios(unsigned long addr, unsigned long value) { (* (volatile unsigned long *)(addr))=value; } 


When module is tring run it, then kernel panic shows. I think this code is for no-MMU NIOS2. 


Is anyone who has successfully run lcd module on MMU Nios?
0 Kudos
2 Replies
Honored Contributor II

The 'Unable to handle kernel paging request' error sounds like you are running a system with an mmu. 

A driver written for an mmu-less system won't work (actually, I'm not sure that one works anyway since that write probably need to bypass any data cache as well). 


You need to map the physical addresses into the virtual address space.
Honored Contributor II

All what you said I know. I'm asking if anyone worked with LCD 16207 on NIOS2 with MMU? 


I'm wondering why drivers in uClinux are not marked which one is for MMU and noMMU NIOS2 version.