It's... alive!

Discussions and support about ChibiOS/NIL, the almost nil RTOS.
mobyfab
Posts: 483
Joined: Sat Nov 19, 2011 6:47 pm
Location: Le Mans, France
Has thanked: 21 times
Been thanked: 30 times

Re: It's... alive!

Postby mobyfab » Thu Sep 19, 2013 9:53 am

After a quick test is seems LTO does not work with NIL. The app just hangs at start.

I will try to debug it when I have some time.

User avatar
Giovanni
Site Admin
Posts: 14457
Joined: Wed May 27, 2009 8:48 am
Location: Salerno, Italy
Has thanked: 1076 times
Been thanked: 922 times
Contact:

Re: It's... alive!

Postby Giovanni » Thu Sep 19, 2013 5:35 pm

Hi,

This is strange, LTO is the default now and it works here. Are you using the makefiles taken from the new repository? there are differences with the old makefiles.

Giovanni

pito
Posts: 199
Joined: Sun Nov 06, 2011 3:54 pm

Re: It's... alive!

Postby pito » Thu Sep 19, 2013 7:41 pm

I've been trying to compile the Cb3.0 nil example NIL-STM32F303-DISCOVERY while getting this (ChibiStudio, not the latest):

Code: Select all

mkdir -p build/obj
mkdir -p build/lst
Compiling nilcoreasm_v7m.s
Compiling crt0.c
cc1.exe: error: LTO support has not been enabled in this configuration

Where I have to enable it?

User avatar
Giovanni
Site Admin
Posts: 14457
Joined: Wed May 27, 2009 8:48 am
Location: Salerno, Italy
Has thanked: 1076 times
Been thanked: 922 times
Contact:

Re: It's... alive!

Postby Giovanni » Thu Sep 19, 2013 8:11 pm

Hi,

Try downloading the latest ChibiStudio, apparently the older compiler does not support it. Alternatively disable LTO in the makefile.

Giovanni

mobyfab
Posts: 483
Joined: Sat Nov 19, 2011 6:47 pm
Location: Le Mans, France
Has thanked: 21 times
Been thanked: 30 times

Re: It's... alive!

Postby mobyfab » Thu Sep 19, 2013 8:25 pm

Yes i'm using the latest makefiles

pito
Posts: 199
Joined: Sun Nov 06, 2011 3:54 pm

Re: It's... alive!

Postby pito » Thu Sep 19, 2013 8:51 pm

ok, I've downloaded the CBS5 and it compiles now..
PS: would it be possible to create a CBS package without the "chibios" folder? When doing svn from trunk into CBS..
PS1: is there a STM32VLDisco demo for Nil somewhere, plz? The only board missing is mine :cry:

User avatar
Giovanni
Site Admin
Posts: 14457
Joined: Wed May 27, 2009 8:48 am
Location: Salerno, Italy
Has thanked: 1076 times
Been thanked: 922 times
Contact:

Re: It's... alive!

Postby Giovanni » Thu Sep 19, 2013 9:13 pm

Not yet, it is work in progress.

Giovanni

User avatar
DeusExMachina
Posts: 223
Joined: Tue Apr 03, 2012 5:08 am
Location: South Korea
Has thanked: 3 times
Been thanked: 3 times

Re: It's... alive!

Postby DeusExMachina » Wed Dec 11, 2013 1:50 am

Giovanni wrote:Hi,
...

Main differences:
1) In Nil threads cannot be created and cannot terminate, totally static. RT can start-terminate threads.
2) In Nil priorities are fixed, threads cannot change priority, this makes it impossible to implement proper mutexes with priority inheritance support.
3) Internal algorithms are less computationally efficient, Nil is basically even faster than RT (something I didn't expected to see being RT already about the fastest thing on earth right there with Road Runner) but RT scales better, so Nil is only faster when few threads are involved.


I have some questions :)
2) - Threads have priorities? But where I can set thread priority? I don't find priority field in thread_t structure.
3) - What type of task scheduler NIL uses?

User avatar
Giovanni
Site Admin
Posts: 14457
Joined: Wed May 27, 2009 8:48 am
Location: Salerno, Italy
Has thanked: 1076 times
Been thanked: 922 times
Contact:

Re: It's... alive!

Postby Giovanni » Wed Dec 11, 2013 9:50 am

2) The order of threads in the table is the priority.
3) The most lame scheduler ever written but it does the job of executing threads by priority preemptively.

Giovanni


Return to “ChibiOS/NIL”

Who is online

Users browsing this forum: No registered users and 28 guests