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.

How to enable NEON and VFP coprocessors on a bare metal 8148 processor?

Hi,

     I'm working on a bare metal system running on an 8148 processor and I'm trying to enable the NEON and VFP coprocessors to help improve the performance of the system. I'm using CCS 5 and have it correctly generating NEON instructions but my application crashes with an unknown instruction exception when it reaches the first NEON instruction. From reading the Cortex A8 TRM I think I need to enable cp11 and cp10 in the Coprocessor Access Control Register but I'm not entirely sure how to do that.

Currently I have the following assember in my startup code: -

  ldr r0, _NEON_ENABLE ; Load value to enable CP10 and CP11 (0xF00000)

  mcr p15, #0, r0, c1, c0, #2 ; Set the value in the CACR

but this doesn't work. The A8 TRM mentions a relationship with CPEXIST inputs and the need to execute an IMB sequence but I cannot find any further information either of these?

Does anyone have any example code that shows how to get these coprocessors running?

Many Thanks,

Ross