Split fw doc and add environment page (#94)
* wip * small fixes * remove link to empty applications list * remove unused flipper libraries page * mark some sections, add link to examples * add environment page
This commit is contained in:
@@ -52,14 +52,14 @@ Files location: `/app/app_hal.[ch]`
|
||||
|
||||
We use FreeRTOS 10.0.1 for sheduling. Documentation available on [freertos.org](https://www.freertos.org/a00106.html).
|
||||
|
||||
Files location for L476 version: `/target_prod/Middlewares/Third_Party/FreeRTOS`
|
||||
Files location for L476 version: `/target_f1/Middlewares/Third_Party/FreeRTOS`
|
||||
|
||||
**[Timers map](Timers)**
|
||||
|
||||
# Platform code
|
||||
|
||||
CMSIS, Freertos and HAL files are generated by CubeMX.
|
||||
You can find platform code for L476 version in `target_prod` folder:
|
||||
You can find platform code for L476 version in `target_f1` folder:
|
||||
|
||||
* `Drivers/STM32L4xx_HAL_Driver` – hardware abstraction layer
|
||||
* `Drivers/CMSIS` — ARM specific code
|
||||
@@ -80,12 +80,6 @@ You can regenerate platform code:
|
||||
|
||||
There are some arduino-style defines (digitalWrite, delay, etc.). Include `Arduino.h` from `/app/Arduino.h`
|
||||
|
||||
## Debug print
|
||||
|
||||
You can use `pintf` to write any message to debug UART. UART specify in `Makefile` as `-DDEBUG_UART=<>`.
|
||||
|
||||
Implementation of write method located at `/app/write.c`
|
||||
|
||||
# Flipper Universal Registry Implementation (FURI)
|
||||
|
||||
FURI is used to:
|
||||
@@ -96,7 +90,7 @@ FURI is used to:
|
||||
|
||||
Read more at [FURI page](FURI)
|
||||
|
||||
# FS
|
||||
# FS (not implemented)
|
||||
|
||||
File system is used to volaile storage some files (config, application data, etc.). There are some folders mounted to different volumes:
|
||||
|
||||
@@ -110,19 +104,13 @@ File system is used to volaile storage some files (config, application data, etc
|
||||
|
||||
Each flipper functionality except OS/HAL/FURI doing by Flipper application. Some application are called at startup, the rest are called by the user (for example, from menu).
|
||||
|
||||
**[List of Flipper applications](Flipper-applications)**
|
||||
(you can see some [examples](Application-examples))
|
||||
|
||||
For exchange data between application each app expose own record in FURI. You can subscribe on/read record to get data from application and write to record to send data to application.
|
||||
|
||||
**[List of FURI records](FURI-records-list)**
|
||||
|
||||
# Flipper libraries
|
||||
|
||||
Unlike applications that run after startup, libraries are a collection of constants, types, or functions that the user can call from within the application.
|
||||
|
||||
**[List of Flipper libraries](Flipper-libraries)**
|
||||
|
||||
# Bootloader
|
||||
# Bootloader (not implemented)
|
||||
|
||||
After start, bootloader run first. It can:
|
||||
|
||||
@@ -130,26 +118,3 @@ After start, bootloader run first. It can:
|
||||
2. Reflashes firmware from temporary area after updating from usb/bluetooth
|
||||
3. Restores factory default firmware for protected flash area
|
||||
4. Restores application settings to default by clearing `/etc` volume
|
||||
|
||||
# Building
|
||||
|
||||
## Build in docker container (main way)
|
||||
|
||||
1. Install [docker compose](https://docs.docker.com/compose/install/)
|
||||
2. After startup you should run `docker-compose up -d` to run the container.
|
||||
3. Then you can run `docker-compose exec dev make -C <target_dir>` to build application.
|
||||
|
||||
If Dockerfile is changed you should run `docker-compose down` and `docker-compose build` for rebuild the image.
|
||||
|
||||
### Local build and run
|
||||
|
||||
You can run firmware locally (with HAL stub).
|
||||
|
||||
* `docker-compose exec dev make -C target_lo` for build
|
||||
* `docker-compose exec dev target_lo/build/target_lo` for run
|
||||
* `docker-compose exec dev make -C target_lo test` for running tests
|
||||
|
||||
## Build in IDE
|
||||
|
||||
* Arduino IDE (in progress)
|
||||
* PlatformIO (in progress)
|
||||
|
Reference in New Issue
Block a user