Anyone have a favored (probably nix-based) setup for doing CI-like builds for and tests on an embedded system? Eg, I build and push to a separate box for running tests. I feel like maybe hercules-ci could do this, but I’m not familiar with it.
Conversation
Replying to
Maybe I'm just used to the pain of having no tools, but what do you need besides rsync + ssh?
1
1
Replying to
You’re right, really. I’m not sure if I should cross compile or build on the target. The last time I used cross compilation with nix was maybe two years ago, and I’m not sure how it’s changed since.
1
1
Replying to
Can't say. I rolled my own buildroot Nix wrapper a couple of years ago and that was a real pain. Mostly doing bare metal these days, where the firmware reload + board reset is all custom scripts triggered from the incremental build. I use NFS when possible (pull instead of push).
1
1
Replying to
That sounds like a good setup. Can you say what your target is? I’d love to see a bunch of examples of how people set this up.
1
1
Replying to
Nix+buildroot+ssh+rsync was VF6xx + AM335x. Later raw buildroot+ssh+rsync was SAMA5. Most of that later code I can test on x86, which uses separate build host + test PC mounting NFS. Bare metal is STM32 with gdbstub + relay board for power cycle + udev rule for firmware load.
My build tool builds on save + runs rsync/ssh test or triggers power cycle relay.
1
The gdbstub runs on /dev/ttyACMx as a special mode of the device's normal terminal interface, which auto-switches to application protocol once it recognizes a non-gdb packet.
1
Show replies

