RISC-V/HiFive memory limitations

Joel Sherrill joel at rtems.org
Sun Jun 25 13:56:27 UTC 2017


That doesn't appear to do much more than clear the bss. So no hints on more
to do there. The atexit() call and init/fini are handled by RTEMS in
portable code.

On Jun 25, 2017 6:24 AM, "Denis Obrezkov" <denisobrezkov at gmail.com> wrote:

> 2017-06-25 2:50 GMT+02:00 Denis Obrezkov <denisobrezkov at gmail.com>:
>
>> 2017-06-25 2:15 GMT+02:00 Joel Sherrill <joel at rtems.org>:
>>
>>> They are supposed to use the installed linkcmds.
>>>
>>> On Jun 24, 2017 6:04 PM, "Denis Obrezkov" <denisobrezkov at gmail.com>
>>> wrote:
>>>
>>>> 2017-06-23 21:03 GMT+02:00 Denis Obrezkov <denisobrezkov at gmail.com>:
>>>>
>>>>> 2017-06-23 20:16 GMT+02:00 Denis Obrezkov <denisobrezkov at gmail.com>:
>>>>>
>>>>>> 2017-06-23 16:39 GMT+02:00 Joel Sherrill <joel at rtems.org>:
>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> On Jun 23, 2017 9:29 AM, "Gedare Bloom" <gedare at rtems.org> wrote:
>>>>>>>
>>>>>>> On Thu, Jun 22, 2017 at 8:32 PM, Denis Obrezkov <
>>>>>>> denisobrezkov at gmail.com> wrote:
>>>>>>> >> Ok, then I will try to adapt the default linkcmd file today.
>>>>>>> >>
>>>>>>> >> --
>>>>>>> >> Regards, Denis Obrezkov
>>>>>>> >
>>>>>>> >
>>>>>>> > Hello all,
>>>>>>> > It seems that data section wasn't copied from ROM, so I've added
>>>>>>> the
>>>>>>> > initialization code
>>>>>>> > and now I have a proper value. Thus, I can proceed further to new
>>>>>>> errors.
>>>>>>> >
>>>>>>> > I haven't started to develop new linkcmd file, general for the
>>>>>>> architecture
>>>>>>> > + specific
>>>>>>> > for the BSP. Should I? Hesham?
>>>>>>> >
>>>>>>> You may want to just get it working first, and then refactor the
>>>>>>> linkcmds.
>>>>>>>
>>>>>>>
>>>>>>> +1 just make sure it is working when you start doing this. :)
>>>>>>>
>>>>>>>
>>>>>>> > Also, I have a question:
>>>>>>> > there is a section called 'rwbarrier' and it is placed in data.
>>>>>>> Should it be
>>>>>>> > also initialized?
>>>>>>> > (copied from rom)
>>>>>>> Everything up to the bss probably should be copied from ROM.
>>>>>>>
>>>>>>>
>>>>>>> Agreed. Is there a crt0 in libgloss for this architecture to check
>>>>>>> against?
>>>>>>>
>>>>>>> Just remember that the order and layout of sections may have
>>>>>>> implicit ties to the code in the startup.
>>>>>>>
>>>>>>>
>>>>>>> > And is it possible to decrease a required memory amount by
>>>>>>> restricting a
>>>>>>> > user to C language usage?
>>>>>>> > (no C++ sections in linkcmd)
>>>>>>> >
>>>>>>> I don't think so. They shouldn't really be having an impact anyway
>>>>>>> except for C++ applications.
>>>>>>>
>>>>>>>
>>>>>>> All you end up with is a loop to iterate over the list of empty
>>>>>>> global constructors.
>>>>>>>
>>>>>>>
>>>>>>> >
>>>>>>> > --
>>>>>>> > Regards, Denis Obrezkov
>>>>>>> >
>>>>>>> > _______________________________________________
>>>>>>> > devel mailing list
>>>>>>> > devel at rtems.org
>>>>>>> > http://lists.rtems.org/mailman/listinfo/devel
>>>>>>>
>>>>>>>
>>>>>>> I have a little question: is there any connection between RTEMS
>>>> linker files
>>>> and example-v2 applications' linker files?
>>>> I think I have a similar mistake there: .data section is not
>>>> initialized.
>>>>
>>>>
>>>>
>>>> --
>>>> Regards, Denis Obrezkov
>>>>
>>> Ok, I will investigate this and libgloss question.
>>
>> Since, I was a bit lazy, I moved the low_ticker example into the rtems
>> testsuite folder and built it
>> Now, I have no mistakes with uninitialized data section and I was able to
>> proceed till the rtems_io_initialize function.
>>
>> --
>> Regards, Denis Obrezkov
>>
> There is a crt0.s for RISC-V architecture.
> https://github.com/riscv/riscv-newlib/blob/riscv-
> newlib-2.5.0/libgloss/riscv/crt0.S
>
>
> --
> Regards, Denis Obrezkov
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/devel/attachments/20170625/d1bf7195/attachment.html>


More information about the devel mailing list