"Illegal instruction" for most trivial of programs
I'm running kernel 2.6.10 on a Coldfire (5484) that I ported from a
Freescale BSP for this family of processors.
Everything seems to work OK but I keep getting the message "Illegal
instruction" after the execution of any program I run. For example:
==========================================================
include <stdio.h>
int main ()
{
struct S1D_REGS
{
unsigned char INDEX;
unsigned long VALUE;
} aS1d_reg;
printf ("sizeof(aS1d_reg): %d bits\n", sizeof(aS1d_reg)*8);
printf ("sizeof(unsigned long): %d bits\n", sizeof(unsigned
long)*8);
printf ("sizeof(unsigned char): %d bits\n", sizeof(unsigned
char)*8);
}
============================================================
Outputs:
sizeof(aS1d_reg): 48 bits
sizeof(unsigned long): 32 bits
sizeof(unsigned char): 8 bits
Illegal instruction
============================================================
The program obviously runs and the instructions seem valid but upon
finishing I always get the very disturbing "Illegal instruction"
message!! I know that typically means your into invalid memory space
but why does it run at all if that's the case. It should stop
executing. Is this a bad memory configuration?
Any ideas or suggestions greatly appreciated.
Reply to: