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++
12600 Discussions

LCD 16207 + NIOS2 MMU - Kernel Panic

Altera_Forum
Honored Contributor II
1,335 Views

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: http://www.alterawiki.com/wiki/lcd_16207 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
Altera_Forum
Honored Contributor II
349 Views

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.
0 Kudos
Altera_Forum
Honored Contributor II
349 Views

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.
0 Kudos
Reply