Forum : ST7/STM8
Original Post
Post Information | Post |
---|---|
August 5, 2008 - 3:48am
|
I have purchased an Rlink device to program ST7FLITE29 microcontrollers using RFLASHER software. The programmer does not let me program the memory contents at 0xFFDE & 0xFFDF possibly because it is keeping these reserved for the internal RC oscillator calibration values. These calibration values I usually default to the onboard eeprom locations (0x1000 & 0x1001). Is there any way of overriding this using Rlink as I used to be able to override the reserved state of 0xFFDE & 0xFFDF using a Softec programmer I had. |
Hi,
These addresses are indeed handled in a special way, which was an explicit request from ST.
There is a way to disable this special handling, but you have to be aware that this is not the normal way to use our tools...
1. Close all instances of RIDE and RFlasher.
2. Open the file "\bin\ST72ICC_ProductInfo.txt" in a text editor. (notepad...)
3. Search for section "[LITE1]".
4. In this section, search for the string "RCCal_orig_address".
5. Comment out the line containing "RCCal_orig_address=..." by adding a semi-collon at the beginning of the line:
;RCCal_orig_address=0xDEE0
6. Start RFlasher. The addresses 0xFFDE and 0xFFDF should now be treated like the other addresses.
Be careful, because this file is an internal file of RIDE/RFlasher and if you modify anything else in it, then the whole toolchain might stop working. Moreover, you will have to make this modification on all your PCs, and to do it again every time you update RIDE.
I hope it helps.
Best Regards,
Vincent
Thanks Vincent - I tried that and could successfully program the LITE29, however the RC oscillator is now 25% in error. I use the calibration values loaded from 0x1000 of the onboard eeprom, but these must now be overwritten. To ensure the device was still okay I reset these cal values using the old softec programmer I have allowing normal use at 0xFFDE,0xFFDF but not 0x1000,0x1001 and the device functioned correctly. Can Rlink leave the cal values at 0x1000,0x01001 as my application needs to use the internal RC oscillator - Please advise as our contract manufacturer is awaiting a response from me.
Also like the softec programmer can Rlink allow reset of these cal values to the memory locations?
Rgds
Emilio
Hi,
I don't know what Softec does, but what RIDE does is (what ST asked us to do ;) ): when erasing it copies the calibration values from the ROM to both addresses 0x1000/0x1001 and 0xFFDE/0xFFDF, and it does not read them out when verifying or dumping. (they are programmed if your file does not contain 0xFF in it, but the verification will fail)
You can completely disable the feature using the trick that I explained before, but you cannot keep half of it. (using 0x1000 but not 0xFFDE) So if you need the calibration values, then you will not be able to use the four addresses 0x1000, 0x1001, 0xFFDE and 0xFFDF for anything else.
I will ask ST if they think that I should change the way these addresses are handled by RIDE.
But my usual contact there is on vacation right now, so I might not have an answer before several days.
And even if I have one, I will need time to change the software, make a patch, test it, etc..
So I don't expect I'll be able to do anything more than what I've already done for you before some time.
You can probably avoid using addresses 0xFFDE and 0xFFDF in your application...?
That would be the simplest (and fastest) solution.
Best Regards,
Vincent