I have an application for Zynq MPSoC (Vitis 2020.2) written in C++ using FreeRTOS V10.3.0. This application runs very well if stops at a breakpoint once. If I disable all breakpoints program runs buggy? What might be problem?
Why FreeRTOS requires stop once in a breakpoint to run well?
237 Views Asked by muradaltay At
1
There are 1 best solutions below
Related Questions in EMBEDDED
- PHP don't use temp file for upload
- Sparkfun SC16IS750 does not work on Raspberry Pi
- Reserve memory space in m_text memory region of FLASH on embedded target
- SAE J1939 Standards Collection -- How much is necessary?
- How to call multiple slaves for Spi data transmission?
- Deployment over GPRS to embedded devices
- Changing just one byte in SD card sector
- Comparion of values won't work without delay
- Better to pass struct, or pointer to struct?
- STM32F4 Handling peripheral error while making a DMA Transfer (RX)
- USB programming, transfer file from iOS device to Embedded os device?
- using Diab, dcc 5.9.4 to compile a windows executable
- does b64_pton() work if input contains special characters? I am using it in C code
- u-boot select boot partition based on GPIO state
- Why is a write to a memory-mapped peripheral register not actioned (LPC43xx)?
Related Questions in BREAKPOINTS
- Openlayers 3 using debugger inside pointermove handler crashes chrome
- Program flow unexpected behavior
- Xdebug doesn't stop on breakpoints even when it logs a break, but says it is connected to client
- Why is a "user breakpoint" called when I run my project with imported .lib, not when code is inline?
- Breakpoint does not work in a websocket deployed in Wildfly 8.x
- CSS units + Media Queries + screen size vs density
- VBA Debugging with breakpoints
- Drupal's "breakpoint panels" module breaks "context-modules" "menu-active-trail"
- how to initialize a BigInteger manually in JAVA at time of debug?
- Breakpoints on ARM
- Display time in Xcode breakpoint
- Update gdb breakpoints on run
- How to remove all breakpoints of "single" file in eclipse?
- Xcode - is it possible to group breakpoints?
- stop Visual Studio from moving my breakpoint, when run "optimization=Enable"
Related Questions in FREERTOS
- How to interrupt an xQueueReceive() API in FreeRTOS?
- FreeRTOS : How to measure context switching time?
- Q: How to create threads in FreeRTOS to handle multiple Clients on a TCP Server using LwIP Netconn API?
- How to check where a function is referenced from
- FreeRTOS task stack overflow issue
- FreeRtos how to store function address while context switching
- freeRTOS: Why so much memory as StackDepth (for xTaskCreate) is needed?
- freeRTOS: How to pass data between tasks?
- context of function portTASK_FUNCTION in sourecode of freeRTOS (void)pvParameters
- no definition of "mainSW1_INT_BIT" in using freeRTOS real time kernel PIC32
- Software interrupt in freeRTOS
- Trying to do an HTTP POST command from embedded board to Apache server
- No scheduling with FreeRTOS on CC3200 Launchpad
- Fix memory position for a function at compilation
- Interrupt handling Free RTOS + ARM cortex A9
Related Questions in ZYNQ-ULTRASCALE+
- How to access XDMA BAR0 in Petalinux?
- Is it possible to extract the clk frequency to the CPU on ZC702 eval board (Zynq-7000 XC7Z020 SoC)?
- UIO device no longer opens when an interrupt is added
- Value is wrong first time pointer is dereferenced but correct after that
- Why FreeRTOS requires stop once in a breakpoint to run well?
- Xilinx Ultrascale UART not found on Big Sur
- how to simulate JTAG by SPI in zynq
- How to find dma_request_chan() failure reason details?
- How to access Xilinx Axi DMA from Linux?
- PROFIBUS Architecture for Ultrascale +: experts' opinion request
- Why are the headers not found in the Xilinx SDK?
- Cross-Compilation of Point Cloud Library for ARM Cortex R5
- How to access ethernet ports from both RPU and APU?
- How to trigger a software generated interrupt on core1 from core1 on bare metal?
- zynqmp ptp clock adjustment
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
How many ways could this happen?! It is a real-time operating system, presumably then also a real-time application. If you stop the coprocessor you affect the timing. Without knowing the hardware, the software, where you are placing the breakpoint and the bugs that arise when free-running, it is not possible to answer your specific question. I.e. you need to debug it - there is no generic explanation as to why the intrusive action of stopping the processor "fixes" your system.
You clearly have buggy code that is affected by timing. Stopping the code does not necessarily stop peripherals and it certainly does not stop the outside world that your system interacts with. For example when you stop on a breakpoint, the world continues, interrupts become pending (possibly several), so that when you resume execution, the execution path and thread scheduling order is likely to differ considerably from that when it is free-run as all those pending interrupts are handled and in turn issue events that cause different tasks to become pending ready-to-run and then run in a different order to that which would otherwise occur.
Ultimately you are asking the wrong question; the breakpoint is not magically "fixing" your code, rather it is significantly changing the way that it runs such that some existing bug (or bugs) is hidden or avoided. The bug is still there, so the question would better focus on finding the bug than "magic thinking".
The bugs could be at any level, but most likely are design issues with inappropriate task partitioning, priority assignment, IPC, task synchronisation or resource protection. Generally probably rather too broad to deal with in a single SO question.