2007-09-27 04:43 AM
2003-08-25 09:58 PM
I'm developing flash driver software for ST10F168. My problem is that I can't program or erase the chip. I'm creating enough system stack (> 100 bytes), feeding R0,R1,R2,R3,R4 with the correct values and managing to unlock the FCR. The problem is that once the STEAK routines are called the system doesn't return to my application. When I feed R0,R1,R2,R3,R4 with wrong values(e.g. bad command or CPU period out of range), the STEAK routines answer with the correct error code.
Could someone help me please. thanx in advance!2003-10-23 10:03 PM
In order to be able to reprogram the part, the code to unlock the flash need to be executed from the flash itself (this is a security feature) but the code to trigger the steak algorithm function cannot be executed from the flash because the flash cannot be accessed while programing. You need to copy some code in RAM and execute it from there (specially the memory accesses that trigger the steak algorithm).
2004-06-21 08:10 PM
Hello,
I have exactly the same problem as Zara mentioned above. The STEAK routines are called out of internal RAM, internal flash is mapped to segment 1, stack is big enough. My application runs in Bootstrap-Loader mode. The flash memory itself has no defects, because if I use a flash programming tool, the flash can be programmed. I do everything exact the way like it is described in the ST STEAK application note, but it doesn't work. If I read the internal flash after a reset, I can see that the first 2 words have been programmed correctly. Erasing the flash works well, but when trying to program, the STEAK never returns to application. If I put wrong parameters in the registers, STEAK returns with the correct errorcode. Somewhere in the internet I read, that the 100 bytes stack described in the STEAK appnote seems to be too less, 130 bytes are suggested, is that right? Is there an update or errata information for the STEAK available? Is it possible to get the source code of the internal STEAK routines? It is very difficult to work with STEAK routines without complete documentation. I would be appreciated to get answers. Thanks, looking2004-06-22 12:45 AM
You can refer to the attached application note.
________________ Attachments : AN1247.pdf : https://st--c.eu10.content.force.com/sfc/dist/version/download/?oid=00Db0000000YtG6&ids=0680X000006Hzu7&d=%2Fa%2F0X0000000bXs%2FOtfvN6COmhjqd5fjtPqEvf7GL8YzDEVCACIUa0VJsNE&asPdf=false2004-06-22 01:11 AM
Thanks for the appnote, but I already know this document.
I set all registers to the required values and start the STEAK, but as I already mentioned, programming doesn't work, only erasing works. When trying to program, the STEAK doesn't return to the application. Is the sourcecode of the internal STEAK available? Thanks, looking2007-08-27 01:26 AM
Hi,
I have the same problem, but in BSL from UART, the steck is the correct dimensione for call STEAK function ? I call STEAK function for erase block, but never return.. I have try all error, but notting to do. But if i insert errata clock value return whit correct error, but erase never return... Why ?2007-08-27 08:19 PM
I have clock to 25.002 MHZ whit ST10 Flasher. I have set 2TCL=40 is correct ?
2007-09-17 10:30 PM
Hi,
2TCL = 1/Fcpu; Fcpu = 25Mhz --> 2TCL = 40ns. Regards, Najoua.2007-09-18 10:03 PM
Hi
;erase chip now! mov R0,#0eeeeh mov R1,#05555h mov R2,#0h mov R3,#0h mov R4,#40d mov R6,#08000h exts #1,#2 ;unlock sequency please... mov 08000h,R6 mov [R6],R6 nop nop after call unlock never exit... What is the problem ? :o :o Thanks.