build: W600-SDK importiert, Firmware-Build und Hello am EVK

Docker-Build mit gcc-arm-none-eabi 4.9-2014q4 (statt Homebrew-Cask) verwendet,
Dockerfile/tools/docker.sh dafür aus Task 13 vorgezogen. cmake/sdk.cmake schont
gcc 4.9 (kennt -fcommon/-Wno-error=... nicht). Zwei zusätzliche SDK-Stubs
(EarlyInit, pre_gpio_config) in src/sys/sdk_stubs.c ergänzt, siehe sdk/PATCHES.md.
This commit is contained in:
Michael Sauer
2026-09-11 12:52:26 +02:00
parent 4e7ff78fc6
commit 1b0501179d
610 changed files with 224089 additions and 0 deletions
+10
View File
@@ -0,0 +1,10 @@
#include "sys/nl_fwup_hook.h"
/* Until OTA support (plan 3) provides a strong definition, every update is rejected. */
__attribute__((weak)) bool nl_fwup_verify_tail(const uint8_t sha256[32], const uint8_t *tail, uint32_t tail_len)
{
(void)sha256;
(void)tail;
(void)tail_len;
return false;
}
+12
View File
@@ -0,0 +1,12 @@
#ifndef NL_FWUP_HOOK_H
#define NL_FWUP_HOOK_H
#include <stdbool.h>
#include <stdint.h>
/* Called by the SDK updater (sdk/Platform/Common/fwup/wm_fwup.c) after the image CRC
* matched. sha256 covers the T_BOOTER header plus payload, tail is the 512 byte block
* appended to the image. Return true to accept the image. */
bool nl_fwup_verify_tail(const uint8_t sha256[32], const uint8_t *tail, uint32_t tail_len);
#endif
+14
View File
@@ -0,0 +1,14 @@
/* ninlight: minimal stand-ins for the two board-init hooks that
* sdk/Platform/Sys/wm_main.c expects the application to provide
* (`extern void EarlyInit(void);` / `extern void pre_gpio_config();`).
* The old QConnex firmware (qconnex_sdk/src/qc_main.c) defined pre_gpio_config()
* as an empty no-op, and used EarlyInit() only to call into its own QConnex
* hardware layer (QCXH_EarlyInit()), which ninlight does not use. See sdk/PATCHES.md. */
void EarlyInit(void)
{
}
void pre_gpio_config(void)
{
}