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.

some questions about C6678 mpax register

Hi,everyone ,

       I use C6678 EVM and want to configure MPAX register ,there is some questions as following :

        In MPAXregister demo,the code as following :

       

     lvMarPtr = (volatile uint32_t*)0x08000024;

     H_Value = 0x90000017    ;

     if (coreNum == 0) L_Value = 0x8100003f    ;
     if (coreNum == 1) L_Value = 0x8110003f    ;
     if (coreNum == 2) L_Value = 0x8120003f    ;
     if (coreNum == 3) L_Value = 0x8130003f    ;
     if (coreNum == 4) L_Value = 0x8140003f    ;
     if (coreNum == 5) L_Value = 0x8150003f    ;
     if (coreNum == 6) L_Value = 0x8160003f    ;
     if (coreNum == 7) L_Value = 0x8170003f    ;


     *lvMarPtr++ = L_Value;
     *lvMarPtr++ = H_Value;

       So we can see for MPAX register ,the value is different between coreNUM,After configure MPAX register above ,the 8 cores can use the same logical address and map to different physical address.and I have following questions :

        1.It is possible to write the above code in IBL code ?I know ,only core 0 execute IBL code ,but above code configured MPAX register not only core 0 but also core 1~core 7.so I don't know how to confihure core1~core 7 MPAX register in IBL code as above code .

        2.For PCIe boot,the linux PC will send project image to C6678,and the image included in .h file,is there some ways to complete 8 cores MPAX register configuration as above code before linux PC send the project image to C6678?

      Thank you,

      Simon

  • I think that the MPAX manipulation should be in the start of the application for each core.

    Depends how you build your project, you would like to have the MPAX routine (the one from the above) at the start of your application code that runs on all the cores.

    Does it make sense?

    Ran
  • Hi,Ran,

           It is possible to configure MPAX register in RBL code ?If it is possible ,can you provide me some document about build RBL and how to program RBL to ROM?

          I want to configure 8 cores MPAX register before execute application code .

          Thank you .

          Simon

  • Sorry Simon, the ROM code is fixed during the manufacturing of the silicon. You cannot change the ROM code

    As I said, change the MPAX in the application code (or have a dummy application code that changes the MPAX and then calls the "real" application code)

    Ran