main
で宣言された変数を、コンストラクターの引数として渡さずに、クラスのプライベート変数に取得しようとしています。割り込みインスタンスを再初期化して上書きせずに、割り込みコントローラーを複数のハードウェア割り込みにリンクする必要があります。
XScuGic InterruptInstance;
int main()
{
// Initialize interrupt by looking up config and initializing with that config
ConfigPtr = XScuGic_LookupConfig(INTERRUPT_DEVICE_ID);
XScuGic_CfgInitialize(&InterruptInstance, ConfigPtr, ConfigPtr->BaseAddr);
Foo foo;
foo.initializeSpi(deviceID,slaveMask);
return 0;
}
クラス Foo の実装:
class Foo
{
// This should be linked to the one in the main
XScuGic InterruptInstance;
public:
// In here, the interrupt is linked to the SPI device
void initializeSpi(uint16_t deviceID, uint32_t slaveMask);
};
deviceID と slaveMask は、含まれるヘッダーで定義されます。
これを達成する方法はありますか?