Actually I would be very curious how you actually use it with flakes, as I can't get it to work. I'd be very grateful if you left me some more instructions maybe, either here or Mattermost. I got…
Looks good to me. Simple enough.
I'd just ask for updating README instructions with flake with at least a mention - maybe add demo-image derivation there too, although that's not entirely…
Alright, that's some leftover garbage, having added some additional debugging info, the last call to that function yields:
[ 2.986782s] INFO(runtime::kernel::core1): __text_start: 0x0…
If there's no kernel loaded (and the kernel is not the cause of panic), it panics here again.
Why would it take the second branch of the
if
in this case? It should only…
No backtrace (as mentioned in #200 it causes a nested panic).
I don't understand why getting the backtrace would cause another panic - could you elaborate?
Backtrace calls libunwind…
getting eth settings sets up I2C to communicate with the ethernet controller;
I2C setup also resets GPIO: https://git.m-labs.hk/M-Labs/zynq-rs/src/branch/master/libboard_zynq/src/i2c/mod.rs#L57…
Now it's mixed in panic handler code.
coremgt:
[spaqin@hera:~/m-labs/artiq-zynq]$ artiq_coremgmt -D 192.168.1.56 log
[ 0.000067s] INFO(runtime): NAR3/Zynq7000 starting...
[ …
...yeah of course, runtime has its own panic handler too (https://git.m-labs.hk/M-Labs/artiq-zynq/src/branch/master/src/runtime/src/panic.rs) and it already implements nested panic protection (in…
Hm, doesn't seem like multiple layers of panicking is supported in Rust.
At best probably the soft_panic function could be separated further - that is, not require anything besides maybe error…