This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
I've been using HALCoGen for the past months, during which I encountered some possible bugs, summarised below. For reference, I'm using GCC tools.
FreeRTOS RTI Compare 0 ISR name
From what I could infer from reading some old posts, the name of the ISR for the RTI Compare 0 interrupt was refactored from vPreemptiveTick to vPortPreemptiveTick over time. The refactoring seems to be incomplete, as the following files still reference vPreemptiveTick
This causes problems, for example, when unchecking and checking the "Use Task Preemption" checkbox in the "OS" tab in HALCoGen (for a FreeRTOS project), as the default name vPortPreemptiveTick will be changed to vPreemptiveTick, and the VIM module will call a function (vPreemptiveTick) that is not implemented.
Undefined __interrupt keyword in FreeRTOS file os_port.c
In the above file, the function vPortNonPreemptiveTick is defined as
__interrupt void vPortNonPreemptiveTick( void )
but the __interrupt attribute is not defined anywhere. For instance, for use with the GCC compiler, that would have to be defined as
#define __interrupt __attribute__((interrupt("IRQ"))
Weak notification functions when using GCC tools
The notification functions in the file HL_notification.c should be marked as weak (for GCC that is __attribute__((weak))), as it's already done for TI tools, such that the user can re-define these functions somewhere else without getting a "multiple definition" linking error.
Are you planning on fixing these issues in the next release? When is the next release planned for?
Thanks,
Carlo
Hello Carlo,
Thank you so much for pointing those out. I will ask our SW development team to verify. if they are the bugs, we will fix them in next release or add them to known issues. Thanks again.