Hi all,
I tried to use USBDM to program the FXTH87xx . But in the list of chips in Flash Programmer this MCU is absent. So, I insert this in the hcs08_devices.xml:
<!ENTITY HCS08-alt-load-flash SYSTEM "HCS08/FXTH87xx11_Starter_Project_CW10.abs.s19">
<flashProgram id="HCS08-alt-load-flash">
&HCS08-alt-load-flash;
</flashProgram>
<device family="HCS08" name="FXTH87xx11">
<memory type="ram">
<memoryRange start="0x000090" end="0x00028F" />
</memory>
<memory registerAddress="0x1820" type="flash" securityAddress="0xFFB0">
<securityEntryRef ref="HCS08-fnored-security"/>
<memoryRange start="0x00C000" end="0x00DFBF" />
</memory>
<sdid value="0x002C" />
<flashProgramRef ref="HCS08-alt-load-flash" />
</device>
I'm not sure thay I use right values especially securityEntryRef section. But now flash Programmer detect my chip. But when I click Program Flash, on EraseMass status pop up error:
Hope someone can help me.
Regards
Solved! Go to Solution.
Hi Sunrme,
Could you change the end address in the XML file to 0xDFFF as it appears that there is a pseudo-vector table to be programmed as well. Also remove the references to security - in other words use the following:
<device family="HCS08" name="FXTH87xx11-Partial-Erase"> <memory type="ram"> <memoryRange start="0x000090" end="0x28F" /> </memory> <memory registerAddress="0x1820" type="flash"> <memoryRange start="0x00C000" end="0xDFFF" /> </memory> <sdid value="0x002C" /> <flashProgramRef ref="HCS08-alt-load-flash-program" /> <note>Untested</note> </device>
Make sure you select EraseSelective when programming.
bye
Hello,
I had another issue regarding programming of FXth8705D, The problem was that everytime I try to detect or Program the ic, It always throws some error like this,
Now, After Scratching my head all day started reading datasheet more carefully, and Then I came to this section of the datasheet.
In very first bullet it says, In order to enter into BDM, BKGD should hold down while powering up the FXTH87xx. and My Programmer doesn't have the software control over powering up the target.
What was I doing Wrong?
I inserted all four connector RST, GND, VCC, BKGD, simultaneously which somehow doesn't let FXTH87xx entering into BD mode. What I did was, I connected RST, GND, BKGD first then after that VCC. Which Ensured the First point in the bullet, in above image. and Voila.............I Succeed.
Hope It will help someone, and might save his day.
Thanks and Regards
Sumir Kumar Jha, India
Hi Sushil,
I'm sorry but I haven't used a multi-link for quite a while - I'm unsure if there is a method for dumping the memory contents.
You might want to post on the 8-bit Microcontrollers group.
bye
Hi pgo, I want to learn about TPMS, but I dont understand how it is programmed or what device should I use to do it. Can you guide me a little with this?
Thanks for your attention.
Hi Razvan,
I don't actually use a multi-link so the following may be incorrect:
Open the launch configuration and select Edit under target connection:
Select Advanced Programming Options:
You can then protect ranges:
bye
Hi pgo,
Im working on FXTH870502DT1, Im facing the same problem stated by all. I think internal flash of my chip got erased while programming. Will you please tell me the method of getting/reading flash from another chip. Im using universal multilink. Please tell me how to get image of chip firmware as Im having few another chips.
That was my experience; after I erased all flash, the FXTH87 could no longer use the firmware functions and I could not re-program it. If this is indeed the issue, I believe there is a way to restore the flash back to factory settings but I don't know how to do that.
I'm using the P&E debugger. The settings I'm using are straight from the Codewarrior help file (CW v10.6). I searched the help file for "flash programmer" and clicked on the top search result which walked me through the whole process.
There appears to be some factory code in Flash that is needed, but unprotected.
I tried to reprogram my FXTH87 but before doing so I erased all of the user flash thinking this was safe. This effectively "bricked" the FXTH87 and made the TPMS functions unuseable. The problem seems to be that the erasing deleted NVOPT.
So I agree with only doing selective erase.
Hi George,
I am so surprised about this unprotected code in Flash memory. So I think that, I already "bricked" my only two samples :smileycry:. So I can't to reprogram this memory range?
Are you using USBDM for flash and debug? Could you show settings that you using for this in the hcs08_devices.xml or may be some additional changes and settings. It will be really helpful.
Hi Sunrme,
The error message in the supplied log file is very strange and appears to have nothing to do with the device being programmed. That is, the error should be impossible as it is complaining about a self check on the provided programming algorithm.
Could you please update to a more current version of USBDM as the one indicated in the log file is quite old.
http://sourceforge.net/projects/usbdm/files/Version%204.10.6/Software/
You will also need to update the BDM firmware.
And then try adding the following to the HCS08 config file and repost the logs please. This is basically the same as you suggested.
<!-- ==================================================================================== Experimental --> <device family="HCS08" name="FXTH87xx11"> <memory type="ram"> <memoryRange start="0x000090" size="0x28F" /> </memory> <memory registerAddress="0x1820" type="flash" securityAddress="0xDFFB"> <securityEntryRef ref="HCS08-fnored-security" /> <memoryRange start="0x00C000" end="0x00DFFB" /> </memory> <sdid value="0x0000" /> <flashProgramRef ref="HCS08-alt-load-flash-program" /> <note>Untested</note> </device> <!-- ==================================================================================== Experimental -->
Hi,pgo,
I can download the , but for another s19 file,it shows
But another person can download it .How does it happen?
Hi Yaping,
Can you provide the image file and I will see if there is some obvious reason?
bye
I have solved it. Simply because of the low charge.
Thank you all the time!
Hi Sumne,
I mistyped - Could you change the RAM "size" to "end" as in you example.
<memoryRange start="0x000090" end="0x28F" />
bye
Hi Sunme,
The log file indicates that you are trying to program the region [0x00DFFC..0x00E00A] (at least) which is not inside the area of Flash that is meant to be usually modified which is limited to
[0xC000..0xDFFF].
Where is you image file coming from? Does it contain the FXTH87xx on-chip routines as well as the new firmware you want to load?
If you wish to re-program the ENTIRE chip including overwritting the on-chip routine then the memory map would need to be modified.
If you can post the .sx file I can inspect it if you want.
PS. The above is based on my very limited understanding of the FXTH chip.
bye
.
Log file:
1.00: FlashProgrammer::doFlashBlock(): Exit ================ -0.00: FlashProgrammer::doFlashBlock(): Entry =============== -0.00: FlashProgrammer::doFlashBlock(): op=OpBlankCheck, [0x00DFFC..0x00E00A] -0.00: FlashProgrammer::doFlashBlock(): Checking RAM[0x000090..0x00028F]... -0.00: FlashProgrammer::doFlashBlock(): ...Not in this region -0.00: FlashProgrammer::doFlashBlock(): Checking FLASH[0x00C000..0x00DFFB]... -0.00: FlashProgrammer::doFlashBlock(): ...Not in this region -0.00: FlashProgrammer::doFlashBlock(): Block -|-[0x00DFFC...] is not within target memory.
Hi Sunrme,
Could you change the end address in the XML file to 0xDFFF as it appears that there is a pseudo-vector table to be programmed as well. Also remove the references to security - in other words use the following:
<device family="HCS08" name="FXTH87xx11-Partial-Erase"> <memory type="ram"> <memoryRange start="0x000090" end="0x28F" /> </memory> <memory registerAddress="0x1820" type="flash"> <memoryRange start="0x00C000" end="0xDFFF" /> </memory> <sdid value="0x002C" /> <flashProgramRef ref="HCS08-alt-load-flash-program" /> <note>Untested</note> </device>
Make sure you select EraseSelective when programming.
bye
Hi pgo,
Thank you for your help, USBDM flashed FXTH87 finally. I changed hcs08_devices.xml, but don't change EraseMass to EraseSelective, because when selected EraseSelective, I got fail (I added logs).
And it relly be cool if I can to debug in codeWarrior this chip. And when I try to do this I got issue:
Error launching fxth87_empty FLASH
Bad arguments passed to function
If you will help me with this, I will be grateful. But I don't know where get logs, only what generated CW (attached)