HiFive1 BSP current state

Denis Obrezkov denisobrezkov at gmail.com
Mon Jul 17 17:16:08 UTC 2017


2017-07-17 19:03 GMT+02:00 Joel Sherrill <joel.sherrill at gmail.com>:

> Take some of the ideas from low ticker and apply them to hello world. Use
> printk for one and unified workspace as a starter. You can switch to the
> simple scheduler and save a few K
>
> There is also a configure option about the init task being the idle
> thread. Try that last.
>
> What's your default stack size?
>
> On Jul 17, 2017 5:59 PM, "Gedare Bloom" <gedare at rtems.org> wrote:
>
>> See if you can produce a further stripped down version of hello world,
>> although I'm not sure there is much else that can be removed...
>>
>> Maybe some more tweaking needs to be done to the CPU specific feature
>> macros in cpukit/score/cpu/riscv/rtems/score/cpu.h and similar?
>>
>> What does riscv-rtems4.12-size report about your executable?
>>
>> Gedare
>>
>> On Mon, Jul 17, 2017 at 11:31 AM, Denis Obrezkov
>> <denisobrezkov at gmail.com> wrote:
>> > I have some bad and good news.
>> > First of all, I was able to receive a message from hello example:
>> > Fatal Error 0.2 Halted
>> > So, uart now works (transmitting), but hello application complains that
>> > there is not
>> > enough workspace.
>> >
>> > Low ticker example, doesn't work neither, and hangs during clock
>> > initialization
>> > routine.
>> >
>> > --
>> > Regards, Denis Obrezkov
>> >
>> > _______________________________________________
>> > devel mailing list
>> > devel at rtems.org
>> > http://lists.rtems.org/mailman/listinfo/devel
>> _______________________________________________
>> devel mailing list
>> devel at rtems.org
>> http://lists.rtems.org/mailman/listinfo/devel
>>
>
Yes, I copied some options from low ticker example, and now Hello World
outputs:
Hello World, oh almost forgot, from RISC-V port ;)
                                                   Fatal Error 5.0 Halted

The last error occurs exiting:
0x20402396 in _Terminate (the_source=RTEMS_FATAL_SOURCE_EXIT, the_error=0)
at
/home/reprofy/Projects/riscv/rtems/development/rtems/kernel/rtems-riscv/c/src/../../cpukit/score/src/interr.c:44
44        _CPU_Fatal_halt( the_source, the_error );
(gdb) i s
#0  0x20402396 in _Terminate (the_source=RTEMS_FATAL_SOURCE_EXIT,
the_error=0)
    at
/home/reprofy/Projects/riscv/rtems/development/rtems/kernel/rtems-riscv/c/src/../../cpukit/score/src/interr.c:44
#1  0x20419198 in rtems_shutdown_executive (result=0) at
/home/reprofy/Projects/riscv/rtems/development/rtems/kernel/rtems-riscv/c/src/../../cpukit/sapi/src/exshutdown.c:21
#2  0x20412828 in _exit (status=0) at
/home/reprofy/Projects/riscv/rtems/development/rtems/kernel/rtems-riscv/c/src/../../cpukit/libcsupport/src/newlibc_exit.c:42
#3  0x20411b1c in exit (code=0) at
../../../../../gcc-7.1.0/newlib/libc/stdlib/exit.c:69
#4  0x204003c2 in Init (ignored=2147486792) at
/home/reprofy/Projects/riscv/rtems/development/rtems/kernel/rtems-riscv/c/src/../../testsuites/samples/hello/init.c:36
#5  0x20407128 in _Thread_Entry_adaptor_numeric (executing=0x80001588)
    at
/home/reprofy/Projects/riscv/rtems/development/rtems/kernel/rtems-riscv/c/src/../../cpukit/score/src/threadentryadaptornumeric.c:25
#6  0x20410056 in _Thread_Handler () at
/home/reprofy/Projects/riscv/rtems/development/rtems/kernel/rtems-riscv/c/src/../../cpukit/score/src/threadhandler.c:73
#7  0x2040fff4 in _User_extensions_Thread_exitted (executing=0x80001588) at
../../cpukit/../../../hifive1/lib/include/rtems/score/userextimpl.h:298

And it seems that it's ok.

I had to use printk version - I haven't implemented general console
initialization.

Now, I want to implement console initialization and make the external 16
MHz oscillator be
default, because it's more precise and stable (it is easier to calculate
the baudrate divider value).

-- 
Regards, Denis Obrezkov
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/devel/attachments/20170717/21856246/attachment.html>


More information about the devel mailing list