I have the issue that I sometimes get a data abort exception in the memset function on re-start of my application - the issue however is not the memset function itself but the fact that the linker sometimes places this function directly after the "_ti_sysbios_family_arm_arm9_Cache_wbAll__E" function. However this fuction is missing a return statement at the end and therefore the control flows into the memset function when calling "_ti_sysbios_family_arm_arm9_Cache_wbAll__E". I am using SYS/BIOS 6.33.05.46 and I have created this thread because I do not know whether it is possible to directly create a bug ticket for SYS/BIOS.
Can you post the disassembly for what you are describing because that function is a 'C' generated function so it doesn't sound right that its missing a return statement?
Are you sure something is not writing over the end of the function?
Can you try loading the program then checking the address (don't have it automatically go main())? Then checking the address again later to see if it has changed.
If my reply answers your question please mark the thread as answered
Thank you for your answer. The function linked into my project is not taken from a 'C'-file but from the assembler file "bios_6_33_05_46\packages\ti\sysbios\family\arm\arm9\Cache_asm.asm". The beginning of the function is in line 341 and the last statement before ".endasmfunc" is "mcr p15, #0, r0, c7, c10, #4".
Sorry, you are absolutely correct there's a bug here. Typically most __E functions are generated but in this case it really is not a generated function.
I will file a bug to track this.
All content and materials on this site are provided "as is". TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with regard to these materials, including but not limited to all implied warranties and conditions of merchantability, fitness for a particular purpose, title and non-infringement of any third party intellectual property right. TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with respect to these materials. No license, either express or implied, by estoppel or otherwise, is granted by TI. Use of the information on this site may require a license from a third party, or a license from TI.
TI is a global semiconductor design and manufacturing company. Innovate with 100,000+ analog ICs andembedded processors, along with software, tools and the industry’s largest sales/support staff.