|
B.lu BOS Operating System |
This project is discontinued
Movies
In this page are described some movies showing BOS in action.
When applicable is shown the serial port output.
This material can be useful to compare source code provided with a
real working hardware.
All movies are DivX (DivX 5.2.1 codec - Build b1328-WaffleDay) compressed.
Movies can be downloaded from
Download Area.
Movie 1 : complete.avi
|
This movie shows "Complete" example in action from board boot.
Frame 10 |
First green debug led on.
This led is Debug led 0 driven by UMN_Sub1Task() .
|
Frame 11 |
Red debug led is on.
This led is Debug led 1 driven by UMN_MainTask() .
Display is still off because not yet initialized.
|
Frame 12 |
Display is initialized and is showing "MSG 0 " on the
first line (UMN_Sub5Task() ), indicating no messages
are received from serial port and "Tmp: " on the second
line (UMN_MainTask() ) indicating current temperature.
In this frame temperature value is missing because
temperature is not yet read from sensor.
|
Frame 22 |
Temperature is shown on display.
Displayed value is 22.50 °C, correct laboratory
temperature. |
Frame 71 |
First SIPO led (indicated with D3 on board silk screen)
is on, and on sequent frames SIPO leds are toggled slowly
in a top-bottom sequence. SIPO sequence is driven by
UMN_Sub2task() task
|
Frame 111 |
SIPO led sequence is stopped till frame 192.
UMN_Sub2task() driving led sequence is destroyed
by UMN_Sub1Task() .
|
Frame 192 |
Last SIPO led is switched on and a fast bottom-up led sequence
is shown. This fast sequence is driven by
UMN_Sub3Task() and is never stopped.
|
|
Serial port received data is shown :
Console Ready
Sub 2 create
Sub 2 OK
Double test : OK : 3.100
Sub 2 destroy
Sub 3 create
Sub 3 waiting for Event1
Set Event 1
Sub 3 set
Movie 2 : complete-messages.avi
|
This movie shows "Complete" example in action from board boot.
Main difference from Movie1 is receiving messages from serial
port. Every five bytes received (five bytes is defined as a message)
data is shown on display and number of received messages
and bytes is also shown.
Frame 132 |
First message is received from serial port and 'hello '
received string is shown in the second display line at left. In
the first line is shown the number of received messages (1) and
received bytes (5). Task dedicated to manage serial port is
UMN_Sub5Task() .
|
Frame 233 and 234 |
A second message is received from serial port. New received
string ' bos ' is shown and received messages and
bytes count is updated. Task dedicated to manage serial port is
UMN_Sub5Task() .
|
|
Serial port received data is identical to Movie1 data.
Messages sent are not reported back on serial port.
Movie 3 : complete-temperature.avi
|
This movie shows "Complete" example in action while temperature
sensor is warmed up by a finger. It is possible to observe
a temperature increase when finger touches sensor and a decrease
when finger leaves device.
Frame 30 |
Finger is coming on temperature sensor. Shown temperature is
23.50 °C and no increase is still observed
|
Frame 43 |
Finger is on temperature sensor and shown temperature is
24.25 °C. An increase is observed. Task designed to read
temperature is UMN_MainTask()
|
Frame 63 |
Finger is going away. Temperature shown is 25.50 °C
|
Frame 74 |
Finger is away but temperature is still increasing and value
shown is 25.75 °C
|
Frame 83 |
Temperature is decreasing and value shown is 25.50 °C. From this
frame temperature goes down to 25.25 °C at the end of movie.
|
|
Serial port received data is identical to Movie1 data.
Temperature changes are not reported on serial port.
Movie 4 : keyboard.avi
|
This movie shows "Complete" example while pressing a keyboard button.
Frame 33 |
A keyboard button is pressed. First display line shows
"Key : 40 " indicating is pressed button number 7
(0x40 = 0x00000040 = 0000.0000.0000.0000.0000.0000.00100.0000
just one bit is set, one button is pressed).
On display second line, at left, is shown '0 '
indicating this is the first pressed button.
As can be noted from movie, after pressing button, led
sequence is stopped for a while; this is due to the fact debug driver
stops preemption to read tasks data and send to serial port
all information before restoring task preemption.
|
|
Serial port received data is shown :
Keyboard status : 0x0
Display Line 0: Key : 40
Display Line 1: 0 Tmp: 23.75
TASK Dump at tick 5015
Critical Counter : 2
Task count 7
Task 0x1300 - Next 0x1120 - State 0 - Stack Size 12 - max stack used 11 - Stack addr 0x12F6 - is Idle - is Head
Task 0x1120 - Next 0x21FA - State 2 - Stack Size 70 - max stack used 23 - Stack addr 0x11D6
Task 0x21FA - Next 0x157E - State 1 - Stack Size 300 - max stack used 71 - Stack addr 0x1826
Task 0x157E - Next 0x1F7C - State 1 - Stack Size 300 - max stack used 17 - Stack addr 0x1A7E
Task 0x1F7C - Next 0x15A4 - State 0 - Stack Size 300 - max stack used 57 - Stack addr 0x1CFC - is Running
Task 0x15A4 - Next 0x1F56 - State 2 - Stack Size 300 - max stack used 40 - Stack addr 0x1F54
Task 0x1F56 - Next 0x1300 - State 1 - Stack Size 300 - max stack used 16 - Stack addr 0x157C - is Tail
End of Dump.
Keyboard ON
Task dump shows the following information :
- Tick 5015 is the system time when debug dump is called
- Critical counter is the number of critical sections open in the system
- Task count is the number of tasks in memory (running or in pause)
Following lines show task details :
- Task memory address
- Next task memory address in the task list
- Task state according to
TSK_STATUS_
definitions
- Stack size in number of stack cells
- Stack used space in number of stack cells (this is useful to reduce stack
size in release code version to save memory space)
- Stack memory address
Moreover are evidenced some tasks conditions :
is Idle
indicates the task is the Idle task
is Running
is the current running task
is Head
is the first task in the task list
is Tail
is the last task in the task list
Movie 5 : display.avi
|
This movie shows "Display" example from boot. This example is very
simple and only shows 'Welcome to BOS ' string on the
display. SIPO leds are not initialized and at every boot are randomly
switched on or off.
Frame 11 |
Some SIPO leds are switched on. Board is powered and
microcontroller is in its boot reset phase.
|
Frame 13 |
In the first display line on the right it is slightly visible a
'W '.
|
Frame 19 |
'Welcome ' string is on the display
|
Frame 29 |
'Welcome to BOS ' is completely visible on the display.
Now display will be cleared and a new cycle starts.
|
Frame 40 |
Display is clear. New string will soon come from right.
|
|
Display example do no produce serial port output.
BOS - B.lu operating system - Luca Bertossi
|
hosts B.lu BOS operating system
|