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 enter to supervisor mode?

I am working on DM816x EVM board with CCS V5.2. I am trying to enter supervisor mode of ARM(corter-A8) by asm(" SVC #48"); after ARM executes it, it displays: No source available for "0xc" , it seems PC jumps to address 0xc. but according to the documents the address 0 to 0xff ffff is for boot ROM. the application is only need to hook the address 0x4031d0008. how to solve it? thanks for your help.

below is code:

main()

{

    Arm_Sys_Init();

    asm(" svc #48");

   printf("Supervisor test");

}

asm file:

   .sect ".supvect"               ; set the section to 0x4031d0008

software_int:

        ........

  John

  • Hi John,

    Check the below threads which discuss supervisor mode:

    http://e2e.ti.com/support/dsp/davinci_digital_media_processors/f/716/p/144683/531603.aspx#531603

    http://e2e.ti.com/support/dsp/davinci_digital_media_processors/f/717/p/157711/706547.aspx#706547

    http://e2e.ti.com/support/dsp/omap_applications_processors/f/42/p/56029/202323.aspx

    http://processors.wiki.ti.com/index.php/DM816x_C6A816x_AM389x_DDR3_Init

    • At this point, A8 in in user(USR) mode (marked as USR in the bottom right corner of CCS Status Bar). It needs to be in Supervisor(SPV) mode to run U-Boot and the Linux Kernel. Follow these steps:
    1. Goto menu View -> Registers
    2. Expand CPSR
    3. Select “M” and set it to 0x13
    4. These steps set the CPSR.M to 0x13 (SPV mode).

    Regards,

    Pavel