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.

AM2634: AM2634 vectors size

Part Number: AM2634

Tool/software:

Hi.

Recently, our project has encountered a problem during development, which concerns the size of the vector table of the software. Now, let me describe this issue.

Since we need to use the MPU, we need to modify the interrupt service function of SVC in the vector table. So we will switch the vector table from the SDK vector table to the MCAL vector table.

As shown in the figure below, after the switch, it was found that the header data of the generated RPRC file had an additional 48 bytes.This caused the position of our version number to shift backward, which had an impact on the upgrade of our software.

For this issue, I compared the map files and found that there were significant differences between them.

The image below is a map file generated using SDK Vectors.

The picture below is the map file generated using MCAL Vectors.

It can be seen from the map file that the size of Vectors has increased by 48 bytes.

In order to ensure that our upgrade function remains consistent with the previous version, I would like to adjust the size of Vectors to 0x40. How should I proceed?

  • Hi,

    Since we need to use the MPU, we need to modify the interrupt service function of SVC in the vector table. So we will switch the vector table from the SDK vector table to the MCAL vector table.

    Sorry for the delay in response here. Could you elaborate on why are you switch SDK vector table with MCAL vector table?

    Thanks and Regards,

    Nikhil Dasan

  • Because we need to incorporate the functions of the MPU, we have to modify the SVC interrupt service handling function.We cannot modify the Vectors of the SDK because it has been packaged as a library. Therefore, we switch to MCAL. So we switch to MCAL Vectors.

  • Hi,

    The init vectors for MCAL is available in {MCAL}\mcal\examples\Utils\CLANG\sys_intvecs.asm

    Have you tried modifying the same?

    For SDK, you could find the same at C:\ti\mcu_plus_sdk_am263x_10_02_00_13\source\kernel\nortos\dpl\r5\HwiP_armv7r_vectors_nortos_asm.S

    Thanks and Regards,

    Nikhil Dasan

  • I attempted to modify the vector table of MCAL according to the SDK's method, but failed.

    I modified the vector table of MCAL according to the writing method of the SDK shown in the following figure, but CCS reported an error.

    Here are the points of my changes.

    ① I modified the vector table of MCAL according to the writing method of the SDK.

    ② I moved _sysFiqEntry_ from sys_intvecs.asm to sys_startup.asm.

    ③ Modify cmd

    After following the above steps for modification, the CCS compilation reported an error as shown in the following figure.

    I'm not sure if my modification is correct. Could you please provide me with a revised version of the vector table directly?

    Thanks.

  • Hi,

    Because we need to incorporate the functions of the MPU, we have to modify the SVC interrupt service handling function.We cannot modify the Vectors of the SDK because it has been packaged as a library.

    Regarding the modification in the SDK package, I see that the same could be modified and the library could be rebuilt right? i.e.

    Making changes in the svc handler "HwiP_svc_handler" and then rebuilding the nortos.am263x.r5f.ti-arm-clang.release.lib?

    Am I missing something here regarding why we need to go for the additional effort needed for mcal ?

    Also, for the changes related to mpu, can't these changes of mpu in __mpu_init which is called in the boot_armv7r_asm.S, which would further call MpuP_init() API in MpuP_armv7r.c

    Thanks and Regards,

    Nikhil Dasan