Hi Mark
Actually we bought a full standard license for codewarrior and we received the 6.4. So i had to remove the 6.3 to avoid any problem. When i had 6.3 installed, i just used the BDM to flash my devices, so i hadn´t worried about the .bin contents and never took a look on it.
On 6.4, checking the Project Settings (Alt+F7), on Linker - Coldfire Linker tab, there is a checkbox to "Generate Binary File", wich i set to generate the .bin file wich i use to generate the file image (I´m sure there is this checkbox on 6.3). Also, on the right side of this tab there is a text box to set the "Max Bin Record Length", wich gives you the size of each record block i mentioned on the previous post.
So, my first try (because my ignorance), was to flash the exact .bin generated by CW6.4. Well, it didn´t work, so i had to scratch this .bin file and my only clue was that _SP_INIT should be the first word on that file, and the word 0x00001008 should be right after it. For my surprise, there was 2 extra words on the first 2 positions. The word 0x00001000 and 0x000000FC, then the _SP_INIT and 0x00001008 words. So i realized the first extra word was the memory position and the second word was the exact number set on "Max Bin Record Length", and they were spread over the whole file. So after removing all those words and flashing the device, everything went smooth.
I noticed some minor differences on 6.4 from 6.3 regarding the Flash Programmer, wich now seems to do some clock checking before do something else. But maybe there are "invisible" changes on it.
I dont know, maybe those extra information on .bin file are only inserted if the .lcf file of the compiled project tell the linker the flash doesn´t start on 0x00000000 address. In my case, my bootloader project has a .lcf with a flash start address on that position, but my main application project has it´s lcf file setting the falsh start to 0x00001000.
MEMORY
{
program (RWX) : ORIGIN = 0x00001000, LENGTH = 0x0003F000
vector_ram (RW) : ORIGIN = 0x20000000, LENGTH = 0x00000400
ram (RW) : ORIGIN = 0x20000400, LENGTH = 0x00007C00
}
SECTIONS
{
___IPSBAR = 0x40000000;
___SRAM = 0x20000000;
___SRAM_SIZE = (32 * 1024);
___FLASH = 0x00001000;
___FLASH_SIZE = (256 * 1024);
___VECTOR_RAM = ___SRAM;
.............
Regards