This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TI ARM how to use __MCR and __MRC intrinsics? [v15.12.0.LTS]

Hi,

I tried to use the two new intrinsics to access the CP15 Coprocessor of the Cortex-R4 CPU, but I get errors during compilation.

Here is my C source:

/* Read BTCM Region Register */
__inline uint32_t CP15ReadBTCMRegionRegister(void)
{
/* MRC p15, 0, <Rd>, c9, c1, 0 ; Read BTCM Region Register */
return __MRC(15, 0, 9, 1, 0);
}


/* Write BTCM Region Register */
__inline void CP15WriteBCTMRegionRegister(uint32_t value)
{
/* MCR p15, 0, <Rd>, c9, c1, 0 ; Write BTCM Region Register */
__MCR( 15, 0, value, 9, 1, 0);
}

And that are the errors i get on the command line:

"../CP15Access.c", line 40 (col. 14): error #23: integer constant is too large
"../CP15Access.c", line 48 (col. 7): error #23: integer constant is too large

How to use these intrinsics?

Thanks,
Christian