Hallo everybody, I'm an accelerator physicist from Germany. I've got interested in F' through my hobby - building small robots and drones. These are typically powered by a variety of microcontrollers (e.g. Teensy) or Rasperries. I thought it would be really cool to control these toys using a flight-proven stack. So after a few evenings of reading up I've given it a try.
I've cloned the repository, installed everything following the tutorial - and got stuck already with te REF deployment. Generate and build ran without problems, but then fprime-util install -> "argument command: invalid choice: 'install'". What I figured out was - the default branch of the repository points to devel, maybe no good idea. After checking out the master branch I could build an run REF without problems.
OK, what I mainly want is small embedded targets. So I went on to the RPI example. All by the book - install toolchain, cross build, no problems. Then I forst put the executable on a Raspberry Pi ZeroW. The executable starts but almost immediately crashs with a segmentation fault. What it prints:
Hit Ctrl-C to quit
Assert file "/home/ulf/Programming/fprime/Drv/LinuxGpioDriver/LinuxGpioDriverComponentImpl.cpp": Line: 263
Assert file "/home/ulf/Programming/fprime/RPI/build-fprime-automatic-raspberrypi/RPI/RpiDemo/RpiDemoComponentAc.cpp": L
Segmentation fault
OK, I thought it might be the same problem as before. So I went back to the commit tagged NASA-v1.5.3 which I assume should be stable. After re-building I got the same result.
Next try was on a Raspberry Pi 3 - maybe the ZeroW is causing trouble. The same executable prints one more line of an assertion before the segmentation fault.
The tutorials nowhere say something about the oerating system on the Pi. Mine was a quite old Raspbian. So I went on setting up the ZeroW from scratch with the newest Pi OS. Exactly the same result.
Now I feel kind of stuck. In order to find out what goes wrong I would have to re-compile the deployment including debug information and try to figure out what happens. I doubt the success of that attempt given how little knowledge I have about the software. But most likely I'm just overlooking something simple. I'd really appreciate some hint what I should try. The software still looks great to me and I'd hate to drop it so soon.
Ulf