unaligned userspace access error for a memory mapped register in linux
I'm a novice c programmer that got the responsibility of writing a simple function for an embedded system(superH architecture, running linux). i have a memeory-mapped register (it's a DRAM controler status & control registers) which i'm interested to write to and read from. the datasheet gives me their offset address and I have the base address, which i believe means i have their physical address in hand.
here is my program which is just one line reading this register:
BOOL LMI_SET_FREQUENCY(parse_t *pars_p,char *result)
U32 Ddiv = 0;
Ddiv = *((volatile unsigned int *)(0xfe001012); /* base address+ offset */
InitialFrequency = 30*Ddiv*5;
when i call this function, it give me UNALIGNED USERSPACE ACCESS in xxxx.c .
I don't see any executable binary file called map or mmap in my files.
could you please tell me how to approach to the solution? any comment, word which can give me the idea what to rad or to do is very apprecated