FreeRTOS Support Archive
The FreeRTOS support forum is used to obtain active support directly from Real
Time Engineers Ltd. In return for using our top quality software and services for
free, we request you play fair and do your bit to help others too! Sign up
to receive notifications of new support topics then help where you can.
This is a read only archive of threads posted to the FreeRTOS support forum.
The archive is updated every week, so will not always contain the very latest posts.
Use these archive pages to search previous posts. Use the Live FreeRTOS Forum
link to reply to a post, or start a new support thread.
[FreeRTOS Home] [Live FreeRTOS Forum] [FAQ] [Archive Top] [March 2017 Threads]
I am using cortex m4 along with gcc. I have create 4 threads in freeRTOS, 3 of which are periodic with periods of 10ms, 100ms and 1000 ms. My application runs all 4 threads for 1 instance and then experiences a hardfault.
Here is a log report generated with respective register values
HARDFAULT:ERROR:START OF FULL LOG
HARDFAULT:ERROR:R0 R1 R2 R3 R12 : 0x0 0x20001950 0x10000 0x200020c8 0xa5a5a5a5
HARDFAULT:ERROR:LR PC PSR BFSR : 0x8 0x8 0x6000000b 0x200
HARDFAULT:ERROR:CFSR HFSR DFSR AFSR MMAR BFAR : 0x20000 0x40000000 0x0 0x0 0xe000ed34 0xe000ed38
HARDFAULT:ERROR:END OF FULL LOG
I have tried changing the stack size for threads but that hasnt helped in anyway. Here is a link to freeRTOS config file : https://drive.google.com/open?id=0B5lr6ikuuOsxWnBTNjgyNmRZeWc
And this is the main.c that I am using https://drive.google.com/open?id=0B5lr6ikuuOsxb01PbkZDNWkwcEE
Kindly help me out.
What happens if you take out the calls to Task10ms(), Task100ms(),
Task_1000ms()? Does the code continue to run then? You could replace
the calls with simple incrementing variables to see if the tasks are
still running.
If that does not help, what happens if you set configUSETICKLESSIDLE to 0?
Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.