Repository navigation
Conversation
Signed-off-by: Sercan Erat <sercan.erat@rakwireless.com>
Signed-off-by: Sercan Erat <sercan.erat@rakwireless.com>
macOS ships bash 3.2 without mapfile and a BSD grep without -P, so splitting a board's zephyr_args failed there. On darwin, split them with perl, using the same regular expression.
Signed-off-by: Sercan Erat <sercan.erat@rakwireless.com>
- Arduino pin map - Three USB CDC ACM ports: the sketch's Serial, plus shell and logging ports that only debug builds use - LoRaWAN through the SX1262 on the module - A flash layout and boot-mode retention area shared with MCUboot for a 1200-bps touch serial recovery Signed-off-by: Sercan Erat <sercan.erat@rakwireless.com>
Signed-off-by: Sercan Erat <sercan.erat@rakwireless.com>
Signed-off-by: Sercan Erat <sercan.erat@rakwireless.com>
a73cce3 to
5f312e7
Compare
Built
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Artifact | Board | Core | Tests | RAM | Sketches | Warnings | Errors |
|---|---|---|---|---|---|---|---|
🔥 zephyr_contrib |
ek_ra8d1
| 1 🏷️ | ✅ |
12.0% |
2 | - | - |
frdm_mcxn947
| 7 🏷️ | ✅ |
53.4% |
2 | - | - | |
frdm_rw612
| 3 🏷️ | ✅ |
76.5% |
2 | - | - | |
rak4631
| 🔥 | Core build failed! | |||||
✅* zephyr_main |
giga
| 11 🏷️ | ✅* |
39.6% |
74 | 2 | - |
nano33ble
| 6 🏷️ | ✅ |
78.8% |
42 | - | - | |
nano_connect
| 4 🏷️ | ✅ |
48.5% |
32 | - | - | |
nano_matter
| 4 🏷️ | ✅ |
|
22 | - | - | |
nicla_sense
| 4 🏷️ | ✅ |
|
18 | - | - | |
nicla_vision
| 11 🏷️ | ✅ |
38.7% |
58 | - | - | |
opta
| 11 🏷️ | ✅ |
42.3% |
68 | - | - | |
portentac33
| 6 🏷️ | ✅ |
|
72 | - | - | |
portentah7
| 10 🏷️ | ✅* |
40.7% |
86 | 2 | - | |
✅ zephyr_unoq |
unoq
| 2 🏷️ | ✅ |
43.5% |
56 | - | - |
ventunoq
| 5 🏷️ | ✅ |
23.7% |
48 | - | - | |
Legend
Board Test Status description 🔥 🔥 Test run failed to complete. ❌ 🔴 Test completed with unexpected errors. ⁉️ ⁉️ Test was expected to fail but passed; exception entry is outdated. ✔️* 🚫 Test completed with errors, but all are known/expected. ✅* 🟡 Test completed with some warnings; no errors detected. ✅ 🟢 Test passed successfully, with no warnings or errors. 🌑 🌑 Test was skipped.
Caution
zephyr_contrib is blocked due to failures on rak4631!
|
Memory usage change @ 5f312e7
Click for full report table
Click for full report CSV |
|
Hi @srcnert , thanks a lot for the contribution! We'll be merging the PR as soon as we can test the basic funcionality on one board 🙂 The build is failing at the moment with |
That should be fixed by adding |
Signed-off-by: Sercan Erat <sercan.erat@rakwireless.com>
Signed-off-by: Sercan Erat <sercan.erat@rakwireless.com>
Signed-off-by: Sercan Erat <sercan.erat@rakwireless.com>
Signed-off-by: Sercan Erat <sercan.erat@rakwireless.com>
|
Hi @facchinm, Thank you very much for the kind words! I'm really happy to hear that sysbuild loader work is useful. Thanks @pillo79 for the hint. I also added cryptography to bootstrap.sh file. cryptography python tool is used by imgtool to sign image. Also, MCUmgr is added to this PR under tools folder. Testing on a board: We are happy to send you a RAK4631 + RAK19007 kit. Could you share a shipping address if possible? My e-mail address is sercan.erat@rakwireless.com. I can arrange the shipment. Also, I'll be at the Zephyr Developer Summit in Prague next week (Oct 7–9). If anyone from the Arduino team is there, I'd be happy to give a board in person. 🙂 Dependabot is also updated because CI was failed. Thanks. |
Signed-off-by: Sercan Erat <sercan.erat@rakwireless.com>
032a860 to
156afc1
Compare
Signed-off-by: Sercan Erat <sercan.erat@rakwireless.com>
Signed-off-by: Sercan Erat <sercan.erat@rakwireless.com>
|
Memory usage change @ e8f1d41
Click for full report table
Click for full report CSV |
Summary
This PR adds the RAK4631 WisBlock Core module (nRF52840 + SX1262 LoRa radio). Its zephyr target is
rak4631/nrf52840.Unlike the other boards, the RAK4631 has no factory bootloader that the core can use, so its loader boots through MCUboot, built with sysbuild. Sketches and the loader are uploaded over USB through MCUboot's serial recovery with mcumgr. This is important to add support for other RAKwireless boards like RAK3172 (STM32LE5), RAK11720 (Apollo3 BLUE + SX1262 LoRa radio) and so on. All RAKwireless base core modules will use MCUboot.
Changes
west.yml: addzcbor(MCUboot serial recovery) andloramac-node(Zephyr's LoRaWAN stack).extra/build.sh: boards with--sysbuildinbuild.zephyr_argsget MCUboot. The loader is built as the sysbuildloaderimage, the EDK and the signed images come from there, and MCUboot is saved asfirmwares/zephyr-<variant>.mcuboot.hex, sopackage_core.shships it with the core. The build stops if a signed image is missing.CONFIG_RETENTION_BOOT_MODEflag is used to activate MCUboot bootloader with a 1200-bps touch.CONFIG_LORAWAN),bootmode_set()andsys_reboot().mcumgrtool.programmers.txt: anMCUmgrprogrammer.Flash layout
mcuboot0x00000image-0(slot0)0x10000image-1(slot1)0x80000storage0xF8000Open questions for maintainers
arduino:mcumgrin the package index yet. We have a small Go wrapper aroundapache/mynewt-mcumgr-cliready for a separate PR. Is it okay?--> It is added inside this PR under tool/mcumgr folder.
Testing
All following sketches are tested with RAK4631 + RAK19007 duo: https://github.com/srcnert/ArduinoCore-zephyr/tree/rak-main/sketch