Hi
i would like to create just 2 tasks. But i gor error of vApplicationStackOverflowHook.
~~~
include “stm32f30x.h”
include “FreeRTOS.h”
include “task.h”
//Task functions prototypes
void vTask1
handlder(void *params);
void vTask2handlder(void *params);
TaskHandle
t xTaskHandle1 = NULL;
TaskHandlet xTaskHandle2 = NULL;
int main(void)
{
//1. Reset the RCC clock configuration to the default reset state
//HSI ON,PLL OFF, HSE OFF, system clock = 8 MHz
RCC_DeInit();
//2. update the SystemCoreClock variable
SystemCoreClockUpdate();
xTaskCreate(vTask1_handlder, "Task-1",configMINIMAL_STACK_SIZE,NULL,2,&xTaskHandle1);
xTaskCreate(vTask2_handlder, "Task-2",configMINIMAL_STACK_SIZE,NULL,2,&xTaskHandle2);
for(;;);
}
void vTask1_handlder(void *params)
{
while(1);
}
void vTask2_handlder(void *params)
{
while(1);
}
~~~
as far as I know, this kind of error are connected with FreeRTOSConfig.h. I search something in the forum but changing some parameters value like configUSE
MALLOCFAILED
HOOK, configCHECKFOR
STACKOVERFLOW, i have never solved the issues.
The compiler gives me:
~~~
d:/openstm32/plugins/fr.ac6.mcu.externaltools.arm-none.win32
1.17.0.201812190825/tools/compiler/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/bin/ld.exe: STM32HelloWorld.elf section
.bss' will not fit in region
RAM’
d:/openstm32/plugins/fr.ac6.mcu.externaltools.arm-none.win32
1.17.0.201812190825/tools/compiler/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/bin/ld.exe: region RAM' overflowed by 13736 bytes
Third-Party/FreeRTOS/ong/Source/tasks.o: In function
vTaskSwitchContext’:
D:WorkspaceRTOSworkspaceSTM32
HelloWorldDebug/../Third-Party/FreeRTOS/ong/Source/tasks.c:2988: undefined reference to `vApplicationStackOverflowHook’
collect2.exe: error: ld returned 1 exit status
makefile:38: recipe for target ‘STM32HelloWorld.elf’ failed
make: *** [STM32_HelloWorld.elf] Error 1
~~~
My Config file is:
~~~
….
include “stm32f30x.h”
extern uint32_t SystemCoreClock;
define configUSE_PREEMPTION 1
define configUSEIDLEHOOK 0
define configUSETICKHOOK 0// it was 1
define configCPUCLOCKHZ (SystemCoreClock)
define configTICKRATEHZ ((portTickType) 1000)
define configMAXPRIORITIES (5) //it was ((unsigned portBASETYPE) 5)
define configMINIMALSTACKSIZE ((unsigned short) 130)
define configTOTALHEAPSIZE ((size_t) (75 * 1024))
define configMAXTASKNAME_LEN (10)
define configUSETRACEFACILITY 1
define configUSE16BIT_TICKS 0
define configIDLESHOULDYIELD 1
define configUSE_MUTEXES 1
define configQUEUEREGISTRYSIZE 8
define configCHECKFORSTACK_OVERFLOW 2 // it was 2
define configUSERECURSIVEMUTEXES 1
define configUSEMALLOCFAILED_HOOK 0
define configUSEAPPLICATIONTASK_TAG 0
define configUSECOUNTINGSEMAPHORES 1
define configGENERATERUNTIME_STATS 0
/* Co-routine definitions. */
define configUSECOROUTINES 0
define configMAXCOROUTINE_PRIORITIES (2)
/* Software timer definitions. */
define configUSE_TIMERS 1
define configTIMERTASKPRIORITY (2)
define configTIMERQUEUELENGTH 10
define configTIMERTASKSTACKDEPTH (configMINIMALSTACK_SIZE * 2)
/* Set the following definitions to 1 to include the API function, or zero
to exclude the API function. */
define INCLUDE_vTaskPrioritySet 1
define INCLUDE_uxTaskPriorityGet 1
define INCLUDE_vTaskDelete 1
define INCLUDE_vTaskCleanUpResources 1
define INCLUDE_vTaskSuspend 1
define INCLUDE_vTaskDelayUntil 1
define INCLUDE_vTaskDelay 1
…
~~~
thanks in advance
Fausto