This is one of several FUQs (Frequently Unanswered Questions) to ST.
This (as explained in the newest Flash Programming manual) can be prevented by executing the following instructions: MOV r0, #0x40000 MCR p15,0x1,r0,c15,c1,0 The problem is that if these instructions are executed at any time except during the initialization the ARM throws an Undefined instruction fault. I have found that a delay solves the problem, one just have to be careful that the compiler does not optimise the code away. whh
Thanks for response. It stil does not work. Erasing a sector from BANK0 is no problem, erasing a sector in BANK1 does not work, except step by step with JTAG debugger. Do you still use the STR912 ? I hate this device ! Kind regards Luc
} >>Do you still use the STR912 ? I hate this device ! Life would likely be easier if you used the library code, or were more familiar with C and the tool chain.
>>Do you still use the STR912 ? I hate this device ! >>Life would likely be easier if you used the library code, or were more familiar with >>C and the tool chain. I use the library code. I made a *.lib and linked it in my code. The part 91x_FMI was compiled to be executed in RAM. This does not work. When I compile the 91x_FMI files separate and link it in my code, it does work. I have been programming devices for over 20 years in C. I use this toolchain for NXP LPC2470, SAMSUING S3C2440 without problems. PIC16, PIC32 is a pleasure to work with... And, no, I think my life would be easier if the erratasheet is a bit smaller ... So, lets say I do not hate this device, but I never gonna love it ! Thanks anyway Luc