HiFive1 BSP current state

2017-07-17 Thread Denis Obrezkov
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@rtems.org
http://lists.rtems.org/mailman/listinfo/devel

Re: HiFive1 BSP current state

2017-07-17 Thread Gedare Bloom
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
 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@rtems.org
> http://lists.rtems.org/mailman/listinfo/devel
___
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel


Re: HiFive1 BSP current state

2017-07-17 Thread Denis Obrezkov
2017-07-17 19:03 GMT+02:00 Joel Sherrill :

> 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"  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
>>  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@rtems.org
>> > http://lists.rtems.org/mailman/listinfo/devel
>> ___
>> devel mailing list
>> devel@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
___
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel