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.
Simon,
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.
Judah
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.