|
|
@@ -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)
|