Running RTEMS on a LEON2 from ROM

Jiri Gaisler jiri at gaisler.se
Tue Jul 25 12:42:13 UTC 2017


On 07/25/2017 02:36 PM, Mike Looijmans wrote:
> On 25-07-17 12:51, Mike Looijmans wrote:
>> On 25-07-17 12:13, Jiri Gaisler wrote:
>>> I haven't looked at this for a while, but I remember that the trap
>>> table
>>> usually sits in the beginning of the .text segment. RTEMS overwrites
>>> the
>>> trap entries at boot so if the trap table is in PROM, you will get a
>>> memory exception trap. To run from PROM, you will need to allocate a
>>> new
>>> trap table in RAM (4k aligned) and change the %tbr register to point to
>>> it. This has to be done early before the trap table is initialized by
>>
>> Any hint on where this trap table allocation should happen in RTEMS
>> code?
>>
>>> RTEMS. An elegant way of doing this would be to place the trap table in
>>> a separate linker section, and then putting it to the desired place
>>> with
>>> a custom linker file. The %tbr register should then be initialized to
>>> the start of the trap table section.
>>
>> Simplest would be to put the trap table at the start of RAM (which
>> will always have page alignment) and let the data segment follow on
>> that.
>>
>> Simply directing the table into the data segment would work as well,
>> I guess, the init code copies it on boot along with the rest of the
>> initialized data then.
>>
>
> I did just that, the trap table now is at start of RAM, I left a small
> init vector at address 0 in ROM to jump to the startup code.
>
> After copying the .data segment into RAM, I set the %tbr register,
> enable traps and continue. The table is indeed there at the first 4k
> of RAM now.
>
> This executes okay, but no improvement yet. It does not even reach a
> breakpoint at "bsp_pretasking_hook".
>
> Still RTEMS silently locks up. I'm soft of bisecting now how far it
> goes, since the backtrace is still blank ....

Why don't you run your code in the sis simulator? If you build RSB from
git, you will also get sis with leon2 support. You can then enable a
large trace buffer and execute the prom image until it crashes ...

Jiri.

>
> M.
>
>
> Kind regards,
>
> Mike Looijmans
> System Expert
>
> TOPIC Products
> Materiaalweg 4, NL-5681 RJ Best
> Postbus 440, NL-5680 AK Best
> Telefoon: +31 (0) 499 33 69 79
> E-mail: mike.looijmans at topicproducts.com
> Website: www.topicproducts.com
>
> Please consider the environment before printing this e-mail
>
>
>
> _______________________________________________
> users mailing list
> users at rtems.org
> http://lists.rtems.org/mailman/listinfo/users




More information about the users mailing list