Hi everyone,
I am not sure what this line is doing...
#define VECTOR_BASE 0xBFC0
#define SWIV (*(volatile int *)(VECTOR_BASE + 0x36)) /* SWI */
This is what I'm guessing it does. It takes the address VECTOR_BASE then adds 0x36 to that address and arrives at another adress which is then defined as SWIV. I don't understand why all that casting is necessary?
Would this also accomplish the same?
#define SWIV (*(unsigned char *)(VECTOR_BASE + 0x36)) /* SWI */
Any help appreciated,
Ted.