mirror of
git://projects.qi-hardware.com/iris.git
synced 2025-04-21 12:27:27 +03:00
make things work with unfinished new startup procedure
This commit is contained in:
81
plan
81
plan
@@ -42,3 +42,84 @@ te doen:
|
||||
- start programma van filesystem
|
||||
- nand driver
|
||||
- filesystems met backing store
|
||||
|
||||
Boot process:
|
||||
- bootinit and filesystem (and backing store) are started.
|
||||
- bootinit starts run.elf and loads init.elf.
|
||||
- run starts init.
|
||||
- init loads init.config and executes it.
|
||||
- during that process, the initial programs are killed.
|
||||
|
||||
Order:
|
||||
run.elf
|
||||
init.elf
|
||||
init.config
|
||||
load.elf
|
||||
drivers
|
||||
emulations
|
||||
programs
|
||||
|
||||
init.config is a script:
|
||||
|
||||
# load <name> = <filename> load a file into memory. Don't use this after killbootthreads.
|
||||
load session = session.config
|
||||
load driver_lcd = lcd.elf
|
||||
load driver_buzzer = buzzer.elf
|
||||
load driver_gpio = gpio.elf
|
||||
load driver_audio = audio.elf
|
||||
load driver_udc = udc.elf
|
||||
load driver_nand = nand.elf
|
||||
|
||||
load emu_lcd = emu_display.elf
|
||||
load emu_buzzer = emu_buzzer.elf
|
||||
load emu_keyboard = emu_keyboard.elf
|
||||
load emu_audio = emu_audio.elf
|
||||
load emu_udc = emu_udc.elf
|
||||
|
||||
# killbootthreads destroy bootinit, bootfs and bootstore.
|
||||
killbootthreads
|
||||
|
||||
# receive <cap> = <name> (<type> [, <index>]) prepare to accept a capability from a named program.
|
||||
receive display = driver_lcd (display)
|
||||
receive display_bright = driver_lcd (setting)
|
||||
receive buzzer = driver_buzzer (buzzer)
|
||||
receive keyboard = driver_gpio (keyboard, 0)
|
||||
receive sysreq = driver_gpio (keyboard, 1)
|
||||
receive audio = driver_audio (audio)
|
||||
receive udc = driver_udc (udc)
|
||||
receive nand = driver_nand (wstring)
|
||||
|
||||
# driver <name> run a previously loaded program priviledged.
|
||||
driver driver_lcd
|
||||
driver driver_buzzer
|
||||
driver driver_gpio
|
||||
driver driver_audio
|
||||
driver driver_udc
|
||||
driver driver_nand
|
||||
|
||||
# wait wait until all expected capabilities are received.
|
||||
wait
|
||||
|
||||
# sysreq <cap> use a capability as the system request keyboard.
|
||||
sysreq sysreq
|
||||
|
||||
# give <name> (<type> [, <index>]) = <cap> give this capability to this program when it requests it.
|
||||
give emu_display (display) = display
|
||||
give emu_display_bright (setting) = display_bright
|
||||
give emu_buzzer (buzzer) = buzzer
|
||||
give emu_keyboard (keyboard, 0) = keyboard
|
||||
give emu_audio (audio) = audio
|
||||
give emu_udc (udc) = udc
|
||||
|
||||
# run <name> run a previously loaded program (normally).
|
||||
run emu_lcd
|
||||
run emu_buzzer
|
||||
run emu_keyboard
|
||||
run emu_audio
|
||||
run emu_udc
|
||||
|
||||
# include <name> include a loaded file as another config file.
|
||||
include session
|
||||
|
||||
# loop sit and do nothing (respond to system request).
|
||||
loop
|
||||
|
||||
Reference in New Issue
Block a user