We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
RVMDK v3.00a, Hello World sample for RealView compiler #pragma pack(1) unsigned char Buf[40]; int main (void) { *((short int *)&Buf[0]) = 0x77ff; *((int *)&Buf[2]) = 0x12345678; /* initialize the serial interface */ PINSEL0 = 0x00050000; U1LCR = 0x83; U1DLL = 97; U1LCR = 0x03; printf ("Hello World\n"); printf("%x %x %x %x \n", Buf[0],Buf[1],Buf[2],Buf[3]); } Hello World 78 56 34 12 ------------ The same thing is for CARM compiler 2.4, 2.5 What I am wrong ?
Well, I am trying to write a word to an address location which is not aligned to a 4-byte boundary. But Is not it compiler realisation's problem/task ? Or as minimum there should be some mention in docs/faqs on how to handle such sitiations
But Is not it compiler realisation's problem/task ? No. It's your task not to try to make your code do something that the CPU can't do.