在下面的Mapper类中,静态成员函数timer0CompA用作中断服务例程。它的名字是" __ vector_14"在中断向量中。
struct Mapper {
static void timer0CompA() __asm__("__vector_14") __attribute__((__signal__, __used__, __externally_visible__));
};
void Mapper::timer0CompA(){}
如果我尝试使用与模板类相同的approch
template<typename T>
struct Mapper {...};
模板成员函数未插入中断向量。
我知道如果它可以工作会有问题:不同的实例化会在汇编代码中得到相同的名称,因此我们会得到一个双重定义的符号。但就我而言,这将是有用的......
任何提示?
答案 0 :(得分:0)
一种运行时解决方案,并非完全理想:
但是,由于您需要一次编写整个Flash页面,因此最好一次完成所有操作。
注意:您可能会发现自己不小心覆盖了应用程序代码,因此请确保用于执行更改的功能不在Flash的该部分中,并且应将未使用的页面部分写回。