-
Notifications
You must be signed in to change notification settings - Fork 100
ISR vectors not linked when NOTHING from zinc crate is used. #295
Comments
For app that uncovered this, see |
I'd prefer to move ISR vectors to PT and zinc_main macros. We currently I'll do up a JSON device and board definition for a Teensy and see how that For app that uncovered this, see app_empty from mcoffin/zinc@b9a9d4f — |
👍 |
@bharrisau Actually, neither of those macros are a good fit. If we're going to take the macro-based approach instead of the linker-based approach, then what we really want is a new crate level attribute, To be honest, this should really come after some kind of comprehensive "board abstraction" RFC because the second you try to implement that attribute, you're going to run in to the exact same problem that the current platformtree does in that you need a significant amount of macro code for every single board (well for platformtree it's for every platform, but still the same basic problem). |
One way we could solve that problem is by doing something like the following hack... quote_item!(cx, include!("path/to/platform/board_isr.rs")); That way it at least appears as if you're writing native code and not macro code for every board. |
We can also make a little dedicated macro to just build the isr table. |
Well, that's what |
I saw this as well, in both the |
If an application uses nothing from the zinc crate, then the ISR vectors will not be linked, despite the
KEEP
directive in the linker script.The text was updated successfully, but these errors were encountered: