Tra*_*ggs 1 c embedded arm isr
我的SAMD21 ARM M0 +有一个"默认"resetVectors.c文件.它有一些看起来像:
__attribute__ ((section(".vectors")))
const DeviceVectors exception_table = {
...
};
Run Code Online (Sandbox Code Playgroud)
在其中定义不同的处理程序存根的位置.出于测试目的,我想使用其中一个未使用的外设IRQ.
默认情况下,未使用的设置为NULL地址.我已向自己证明我可以修改该文件,并在编译时更改我未使用的IRQ(21)以触发处理程序.但是,是否可以在编译时间之外完成此操作?
我观察到该表似乎是基于偏移0.所以我尝试了这个:
DeviceVectors *table = 0x0000000;
table->pvReserved21 = PV21Handler;
Run Code Online (Sandbox Code Playgroud)
但这只是挂板.是否有动态方式在运行时分配处理程序?