Target refactoring and cube update (#161)
* Lib: move cube to libs. Firmware: prepare for code base refactoring, detach from cube, port to cmsis_os2. * Firmware, target f2: regenerate project with latest cube package, tim17 for os ticks. * Firmware: unified codebase. * Core: do not include semaphore on old targets. Firmware: dfu uplaod target. * CI: submodules, add firmware build. * CI: proper submodule config. * refactor build system * CI: update chain to use new targets. Documentation: update to match current structure. * CI: clean before rebuild. * Add local test docker-compose exec dev make -C firmware TARGET=local TEST=1 run * Makefile: target specific build directory. CI: updated artifacts path. * Makefile: init git submodules if they don't exists. * Makefile: debug rule now doesn't reset MCU, prevent SIGINT propagation to st-util. * Makefile: proper rebuild sequence in zz and zzz * Makefile: timestamp tracking for flash and upload commands. * Apps: modular build. Input: fix flipper hal inline. * Wiki: proper bootloader link. * Applications: fix broken build for local targets. * add st-flash to docker * fix build * force rebuild app * move app force to firmware part * fix build deps * qrcode build ok * fix example display * add testing routine * update build instruction Co-authored-by: Aleksandr Kutuzov <aku@plooks.com> Co-authored-by: aanper <mail@s3f.ru>
This commit is contained in:
@@ -14,9 +14,8 @@ For simple case as unit tests or integration test that no require hardware we mo
|
||||
|
||||
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
|
||||
* `docker-compose exec dev make -C firmware TARGET=local APP_TEST=1 run` for running tests
|
||||
* `docker-compose exec dev make -C firmware TARGET=local APP_*=1 run` for running examples (see `applications/applications.mk` for list of applications/examples)
|
||||
|
||||
For UI we do "UI emulator" (not implemented)
|
||||
|
||||
@@ -24,6 +23,10 @@ For UI we do "UI emulator" (not implemented)
|
||||
2. Local (linux) version of firmware. All calls, writing data to UI like display or LED, redirects to unix socket writes, and messages from unix socket redirect to firmware (emulates button press, change batt level, insert/remove USB, etc.)
|
||||
3. Webserver that run linux version fw, pass events from webpage to unixsocket and vice versa.
|
||||
|
||||
## F2 build
|
||||
|
||||
`docker-compose exec dev make -C firmware TARGET=f2 APP_*=1 flash` for build and flash dev board (see `applications/applications.mk` for list of applications/examples)
|
||||
|
||||
## Firmware emulation (not implemented)
|
||||
|
||||
For more HW- and RTOS- specific checks we run real FW in [Renode](https://interrupt.memfault.com/blog/intro-to-renode)
|
||||
|
Reference in New Issue
Block a user