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.

OMAP L138 (ARM core) Simulation and Pin Connect feature

Hello,

I'm trying to simulate an application that is already running on an OMAP L138 eXperimenter Kit from LOGIC PD, so in the Traget Configuration File I've selected TI Simulator > ARM926EJ-S (which is the ARM core of the OMAP L138), but I've two problems :

  • In debugger (on the simulator target) when I launch the execution and reach the following line of code :

 _call_swi(ARM_PRIV_MODE_KEY);

Instead of jumping to the address 0xFFFF0008 (like when executed on the board) it try to jump to the address 0x00000008 but their is nothing at this address.

And I have no idea why the behavior is different in on the board end in the simulator.

  • My second problem is when I launch the debugger on the simulator target and I try to connect IRQ or FIQ (Pin Connect feature) to a file containing this line :

100 (+100) rpt EOS

but then Code composer simply crash.

I have two questions:

  • Is their any mistake in the line "100 (+100) rpt EOS" ?
  • I'm trying to simulate a timer interrupt which on the OMAP L138 is the IRQ 21 or on the simulator I only have access to IRQ and FIQ pin, how can I specify that I want to trigger the IRQ 21 ?

Thank you for any help you can provide me.

Arthur

  • Hi Arthur,

    As the query is related to Simulation, moving it to Code composer forum.

     

    Regards,

    Shankari.

    • In debugger (on the simulator target) when I launch the execution and reach the following line of code :

     _call_swi(ARM_PRIV_MODE_KEY);

    Instead of jumping to the address 0xFFFF0008 (like when executed on the board) it try to jump to the address 0x00000008 but their is nothing at this address.

    And I have no idea why the behavior is different in on the board end in the simulator.

    926 selects 0x00000008 or ffff0008 based on the v bit in c1 register of cp15 co processor. this bit is set at reset based on the VINITHI signal. it is likely that on the board, this signal is tied to high while on the simulator it is not. as this register is not visible in the debug window, the only way to set this bit would be to program the cp15 register using the following instructions. you can find details of this register and bit in the 926 TRM

    MRC p15, 0, <Rd>, c1, c0, 0 ; read control register

    MCR p15, 0, <Rd>, c1, c0, 0 ; write control register

     

    • My second problem is when I launch the debugger on the simulator target and I try to connect IRQ or FIQ (Pin Connect feature) to a file containing this line :

    100 (+100) rpt EOS

    This simulator is not supported. we cannot fix this. but you can use the following format as work around that gives similar effect

    100 (+100 +100) rpt EOS

  • Hi visu_l,

    Thank you very much for your answer, it helped me to solved my problem with the "_call_swi(ARM_PRIV_MODE_KEY);" instruction:

    Unfortunately the workaround you instructed me to use with my second problem is not working, I've also tried "100 (+100 +100)" without "rpt EOS", but each time I try to load the file CCSv5 simply crash.

    With best regards

    Arthur

  • Arthur,

              Are you still seeing crash with 100 (+100 +100) rpt EOS or it is not working when running the simulation.

     

    BR/Abhilash

  • Hi Abhilash,

    You were right I probably made a mistake this morning, with 100 (+100 +100) rpt EOS, CCS does not crash, but the interrupt handler function is nether executed.

    Best regards

    Arthur