Comments (5)
Hi @vrabcak,
Thank you for this report. It will be forwarded to our development teams for deeper analysis. We will get back to you as soon as they provide their feedback. Thank you again.
With regards,
from x-cube-azrtos-h7.
Hi @vrabcak,
Our development teams could reproduce the issue and analyse its root cause. They recommend to clean and rebuild the project each time the tx_user.h
file is modified (e.g. after the TX_THREAD_ENABLE_PERFORMANCE_INFO
is activated).
Below is their analysis:
- Observed behavior:
- Initially the project is built without activating the
TX_THREAD_ENABLE_PERFORMANCE_INFO
flag and the binary is correctly working. - Then the
TX_THREAD_ENABLE_PERFORMANCE_INFO
flag is activated and the project is rebuilt without cleaning.- The issue appears.
- This is observed only in DEBUG mode.
- Initially the project is built without activating the
- Analysis:
- When editing the
tx_user.h
file and rebuilding the project the IDE will only recompile the files that are including that header file. But ThreadX comes with a set of*.s
files that do not include thetx_user.h
file. Thus they are not recompiled. - The
TX_THREAD_ENABLE_PERFORMANCE_INFO
is adding extra fields to theTX_THREAD
structure increasing the overall size of the structure.- When rebuilding the project the
TX_THREAD
structures declared in the application will have a greater size. - They will occupy extra room in memory that was reserved for the objects generated from the
*.s
files that were not recompiled. - This yields memory corruption.
- When rebuilding the project the
- The issue appears in DEBUG mode only because:
- In RELEASE mode the compiler omits all unused symbols including the fields introduced by the
TX_THREAD_ENABLE_PERFORMANCE_INFO
flag. - While in DEBUG mode there is is no optimization at all.
- In RELEASE mode the compiler omits all unused symbols including the fields introduced by the
- When editing the
- Recommendation:
- The project should be cleaned and rebuilt each time the
tx_user.h
file is modified.
- The project should be cleaned and rebuilt each time the
We hope this helps you solve the problem. Please let us know.
With regards,
from x-cube-azrtos-h7.
Hi @vrabcak,
Any feedback from your side? Does our recommendation help you solve the issue?
With regards,
from x-cube-azrtos-h7.
Hi @vrabcak,
Please allow me to close this issue. Thank you again for your contribution.
With regards,
from x-cube-azrtos-h7.
ST Internal Reference: 98736
from x-cube-azrtos-h7.
Related Issues (20)
- MQTT_KEEP_ALIVE_TIMER define value too big HOT 1
- SNMP Addon HOT 1
- How to use Threadx HOT 4
- usbx cdc acm, missing zlp HOT 3
- STM32H743 Timer HAL Channel Start and Stop
- Difference between package downloaded from ST website HOT 1
- FX_IO_ERROR on Fx_NoR_Write_Read_File example HOT 4
- Return value type error in ux_dcd_stm32.h HOT 2
- usb dma HOT 2
- Azure-IOT Addon HOT 2
- Bug in generated code for USBX with CDC-ECM Class HOT 1
- HTTPS web server not compiling - Latest version of CubeMX CubeIDE X-CUBE-AZRTOS-H7 HOT 1
- Is there an example of a USB host connected to a USB camera? HOT 1
- ux_device_class_hid_event_set stucks when transmitting using endpoint 2 HOT 1
- Update FileX driver's state after UNINIT
- Reconnect not working properly
- Is there an example of a USB host using usb hub?
- FX_IO_ERROR - LX_SYSTEM_INVALID_BLOCK HOT 35
- "Concerns about Write Position Offset in NAND Flash Driver - Seeking Clarification for FileX + LevelX Porting
- HAL_InitTick() timer interrupt enabled before timer handle initialized
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from x-cube-azrtos-h7.