summaryrefslogtreecommitdiff
path: root/fw/app
AgeCommit message (Collapse)Author
18 min.Simplify website structure and drop HugoHEADmainxengineering
A static site generator is currently not really required. A static index.html is currently sufficient.
27 hoursfw: app: Add image signing to Meson buildxengineering
This automates signing the application firmware image for the MCUboot bootloader.
27 hoursfw: sim: Integrate into Meson buildxengineering
This adds a build for the native_sim board of the application firmware to the default Meson build. The resulting Linux binary is also added to the webpage.
28 hoursfw: app: Build with Mesonxengineering
5 daysfw: app: Fix native_sim buildxengineering
To reduce the number of Kconfig options the network hack was added two both boards - the native_sim and nucleo_f767zi one. It reboots the device if the network connection cannot be established since this is a known bug of the nucleo board. Nevertheless it seems that for the native_sim board this command is not defined. Since it is a Linux application this makes somehow sense. This commit introduces the boolean Kconfig option `IOT_CONTACT_NETWORK_HACK` which is only enabled for the nucleo board fixing the native_sim build.
8 daysfw: app: update: Finish first HTTP PUT /updatexengineering
This adds marking the application firmware image in the secondary slot for a permanent update and rebooting the device. It is a known bug that the corresponding HTTP request is never properly closed since the device reboots while handling the request. Nevertheless the current state works and enables remote updates.
8 daysfw: app: update: Write uploaded image to flashxengineering
This write the received firmware image data to the secondary MCUboot slot. This prepares an update. With the MCUboot shell it can be applied with: mcuboot request_upgrade permanent kernel reboot If the signature is valid the device will permanently update to the new application firmware. Otherwise it will refuse the new image and boot the old one.
8 daysfw: app: update: Add data rx on HTTP PUT /updatexengineering
This implements a HTTP handler capable of receiving the full data of the firmware image upload. The data is not handled at all and thus not written to flash. This is just an incremental step towards successful firmware image upload to the secondary MCUboot slot.
8 daysfw: app: update: Add source file and HTTP 204 handlerxengineering
This adds the HTTP PUT /update handler which just returns HTTP 204 No Content. This is the minimal first step towards a working /update handler.
8 daysfw: app: Enable MCUboot shell for nucleo_f767zixengineering
This allows to use all MCUboot related functionality during the development via the shell. Furthermore it allows to inspect the current state of the primary and secondary slot. Both traits are very valuable especially during the development of the remote update system.
8 daysfw: app: Reboot in case of no networkxengineering
Because of an issue likely related to hardware design on the nucleo_f767zi board (see issue [1] for details) the firmware should reboot in case network access cannot be established after 4 seconds. This makes the firmware more robust at the moment. As soon as iot-contact hardware without this issue exists the behavior can be changed again. [1]: https://github.com/zephyrproject-rtos/zephyr/issues/77794
12 daysfw: app: Build as CMake External Projectxengineering
This adopts this pattern from the bootloader build. It adds more flexibility. It is assumed that in this way multiple builds for different boards can easily be achieved.
12 daysfw: app: Move application firmware code herexengineering
This makes the structure of the `fw` folder more clear and separates application-related code from bootloader- or rtos-related code.