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] [December 2014 Threads] "static clustering" option on IAR optimization causes hard fault Posted by kilombo on December 7, 2014 Hello all...
I am using STM32L151 family with IAR 6.21 on my FreeRTOS project and I have encountered some problems with "xQueueSend" and "xQueueSendFromISR" functions.
When using these functions from my tasks, it causes the CPU generate a "hard fault" interrupt.
I traced the problem to the function that copies the data to the queue( where the number of bytes to copy is messed up). After a lot of debugging time, I have found that when I un-check the box of "static clustering" option on IAR optimizer, the program runs fine without the "hard fault".
So, I have a few qeustions regarding this phenomena. Have anyone encountered a similar problem?
Anyone knows what is "static clustering" option on IAR optimizer (I have looked on IAR documentation but the explanation is hardly satisfaing)?
And the most important, what can I do to make it work? Assume I want to keep the level of optimization as high as possible.
Thank you.
Itay
"static clustering" option on IAR optimization causes hard fault Posted by rtel on December 7, 2014 This is a known thing, and is 'normally' the case. Generally in EWARM you can set optimisaiton to maximum, then manually uncheck the static clustering option. I have never worked out why, and, as you say, the documentation on what static clustering does is not informative (just something like "makes statics cluster", or "clusters statics when turned on", ...). I would guess it was doing something to place certain variables near each other for faster access, but it is a guess.
All demos are tested with zero, maximum speed and maximum code size optimisations, and this one option (specific to IAR) is the only one we are aware of that causes an issue.
Regards.
"static clustering" option on IAR optimization causes hard fault Posted by kilombo on December 7, 2014 Thank you very much for the quick response.
Itay.
Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.
|