NVIC001 Migration to INTERRUPT App in Dave 4

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Not applicable
I am moving a project from Dave 3 to Dave 4 and I am having an issue when remodelling the behaviour of the NVIC001 app of Dave 3 to the INTERRUPT App of Dave 4.
In Dave 3 the generated source code of the NVIC001 app implemented the IRQ handler and called a user defined function. I have used this functionality to call a method which is part of a library:

//in NVIC001.c :
void IRQ_Hdlr_57(void)
{
/* <<>>*/
DBG002_FUNCTION_ENTRY(APP_GID,NVIC001_FUNC_ENTRY);
/* Calling user defined Event handler*/
MyLibraryFunction();
DBG002_FUNCTION_EXIT(APP_GID,NVIC001_FUNC_EXIT);
}


The new INTERRUPT app copies the name of the user defined function and uses it in the context of a macro. Calling a function of a prebuilt library is not possible anymore without using a wrapper routine as the IRQ handler may vary in the several projects which use the library:

//in interrupt_extern.h :
#define MyLibraryFunction IRQ_Hdlr_57


I would like to suggest a modification of the INTERRUPT app so that using a macro for mapping the user interrupt handler is avoided. If the generated source code of NVIC001 is reused, there will be another advantage: the users will get errors during compile time when they forget to implement the user interrupt handler instead of wondering why the misspelled/excluded from build/... function is not entered.
0 Likes
0 Replies