This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Bootcode geneartion from C testcase for Cortex_R4

Have existing setup for CortexM3 to generate bootcode from C tetscases.

Able to use same setup  to generate bootcode for Cortex-M4 with minimum changes.

But seeing issue while using same setup for Cortex-R4.

Added "--apcs /interwork"  and changes cpu name " --cpu=Cortex-R4" in armcc command .

getting below error.

Error: L6242E: Cannot link object common_function.o as its attributes are incompatible with the image attributes.

   ... arm-isa clashes with m-profile.

Error: L6242E: Cannot link object default_handler.o as its attributes are incompatible with the image attributes.

   ... arm-isa clashes with m-profile.

Error: L6242E: Cannot link object vector_table.o as its attributes are incompatible with the image attributes.

   ... arm-isa clashes with m-profile.

Error: L6242E: Cannot link object qspi.o as its attributes are incompatible with the image attributes.

   ... arm-isa clashes with m-profile.

Let me know if you have any idea.

  • Hi,

    Cortex-M3 and Cortex-R4 have completely different architecture and

    Cortex-M3 procedure cannot apply to the Cortex-R4.

    Cortex-M3 follows ARMv7-M architecture.

    Cortex-R4 follows ARMv7-R architecture.

    ARMv7-R architecture is very similar to ARMv7-A architecture which is implemented by 32 bit Cortex-A cores.

    Best regards,

    Yasuhiko Koumoto.

  • Hi Yasuhiko,

    Thanks for response.

    I do understand that M3 and R4 have different architecture.

    But from bootcode generation point of view, once we modify vector table file and scatter file as per R4 (ARMv7-R) architecture wouldn't it be possible to reuse M3 arm compiler/linker  commands(cpu=Cortex-R4)??

    regards,

    raj

  • Hi raj,

    I wonder how you modified the vector table.

    The vector table structure of Cotex-R4 is not the same as one of Cortex-M3.

    For Cortex-R4, the vector table includes instructions.

    For Cortex-M3, the vector table includes handler addresses.

    The vectors are not compatible with each other.

    I cannot believe that Cortex-R4 boot codes can be generated from Cortex-M3 boot codes.

    Best regards,

    Yasuhiko Koumoto.

  • HI Yasuhiko,

    I got your point.. I was trying create vector file(with handler address) for R4 also.

    As you mentioned above, that is NOT Correct.

    Thanks for your response.

    regards,

    Raj

  • Hi All

    IF anyone in forum have Cortex-R4 related bootcode setup example(C based)  or document that explain bootcode setup .. Please share.

    regards,

    Raj