Picolibc 提供用于裸机 ARM 开发的启动例程,包括链接器脚本,使您无需使用 IDE 即可轻松编写小型嵌入式项目。
如何在其下定义中断服务程序?我假设 picolibc 使用弱符号定义 ISR,我可以覆盖这些弱符号,但找不到任何文档或示例。至少,正确的名称是什么?
查看这样做的altos:https://git.gag.com/?p=fw/altos;a=blob;f=src/stm/ao_interrupt.c;h=0d6e450f581b1911e4ae3e3089154c5348ef1577;hb=HEAD有一个中断表充满了一堆与无操作函数弱别名的符号。在其他地方定义其中任何一个,它将取代弱符号。核心 picolibc 代码在这里有一个类似的示例: https://github.com/picolibc/picolibc/blob/main/newlib/libc/picolibc/machine/arm/interrupt.c ,但由于大多数 NVIC 表是特定于 soc 的,不能为函数提供有用的名称。