FreeRTOS-Kernel icon indicating copy to clipboard operation
FreeRTOS-Kernel copied to clipboard

Fix IA32 compilation with common IRQ entry disabled

Open Ryzee119 opened this issue 1 year ago • 0 comments

Fix IA32 compilation with common IRQ entry disabled

Description

This change fixes compilation errors when using IA32 port when configUSE_COMMON_INTERRUPT_ENTRY_POINT is set to 0. The follow compilation error is generated:

portable/GCC/IA32_flat/port.c:669:14: error: use of undeclared identifier 'xInterruptHandlerTable'
  669 |     else if( xInterruptHandlerTable[ ulVectorNumber ] != NULL )

Test Steps

  • Modify template_configuration/FreeRTOSConfig.h as follows:
-#define configMAX_API_CALL_INTERRUPT_PRIORITY    0
+#define configMAX_API_CALL_INTERRUPT_PRIORITY    2  //Just to pass IA32 port.c checks
  • Compiling will generate the above error.
gcc -m32 -march=pentium -c -o port.o portable/GCC/IA32_flat/port.c -DconfigISR_STACK_SIZE=256 -DconfigUSE_COMMON_INTERRUPT_ENTRY_POINT=0 -Iexamples/template_configuration -Iinclude -Iportable/GCC/IA32_flat

Checklist:

  • [X] I have tested my changes. No regression in existing tests.
  • [ ] I have modified and/or added unit-tests to cover the code changes in this Pull Request.

Related Issue

N/A

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Ryzee119 avatar Sep 07 '24 00:09 Ryzee119