Hi,
I'm currently using CodeWarrior 8.2.3 and USB TAP for flashing the 56F8002 on my application board. Now I want to pass it to the production guys with the 56800E Flash Programmer. My problem, the DSC stay in reset (or debug) mode after programming using the Flash Programmer. I disconnected the USB TAP and powerup the board but no change. I read the user guide three time but that didn't gave me a clue.
Is there a known problem with the 56F8002, USB TAP or the 56800E Flash Programmer?
Here is the details:
Hardware : T30 IBM think pad
Software : Wondows XP SP2, Code Warrior 8.2.3, 56800E Flash Programmer 1.1.1.1
56800E Flash Programmer:
Erasure Mode: unit
Leave device in debug mode > uncheck
Wait for device to power up > uncheck
Lock device after programming > uncheck
56800E Flash Programmer settings:
Device Configuration File: 568002_flash.cfg
JTAG Clock Speed: 800kHz
Verify Programmed WORDs only > uncheck
Use Remote CCS > uncheck
Port # 41475
Configure to use device > checked : CodeWarrior USB TAP
CCS Timeout : 5 seconds
When I hit the Prgram button, everything seem ok.
Programming details:
Using Configuration File: C:\Program Files\Freescale\CodeWarrior for DSC56800E v8.2.3\M56800E Support\initialization\568002_flash.cfg
Reading File C:\Project\output\sdm_pROM_xRAM.elf.S...
S-record ID: PROGRAM&DATA
Connecting to CCS...
Connected to local CCS server at port 41475
Configured to use CodeWarrior USB TAP
Placing the device into debug mode, please wait...
Flash unit #0 (P:0x000800-0x001FFF) Erased, and Checked Blank
Flash unit #0 (P:0x000800-0x001FFF) programmed, 547 words written
Flash unit #0 (P:0x000800-0x001FFF) Verification Passed CRC32 (0xc56c810d)
Exiting Debug Mode...
Thanks for your help.
Gib
OK, so let me make sure that I am clear on what the problem is. The board works great with the debugger, but once you try using the board in stand-alone mode (board uncabled from the development system, and powered up) it does not work? If that is the case, there is some critical device initialization that is being left out or the interrupt vector table is not being installed into the flash properly. The quickest way to determine where the problem lies is to find and example program that has a flash target (as well as a debug target). Select the flash target, build and download the program, and see if that works. If it does, then that confirms that the tools are not broken. If they are not broken, then try building your program with a flash target. (The Flash target settings may have been generated for you automatically if you used the New Project wizard to build your project.) Download that, and see if it works. If not, compare the program that does work with yours to spot the differences. Don't forget to to check the linker command files.
---Tom
Hello Tom,
Sorry if I didn't answer earlier, I have been shifted on an other project for a couple of months. Now, I back on my 8002 project.
The board works great in the debugger and in stand-alone only if the flash is program with CW. If I use the 56800E Flash programmer, the board don't want to start. At first, I was suspecting the generation of the S-Record file but I follow the instruction in the user's guide.
Even if it's functional using CodeWarrior for programming the flash of the 56F8002, it's not pratical.
Thanks
Gib
It sounds like problem is not in the generation of an S-record. The suggestions in my previous post are still valid: there's something not being initialized in your code that the CodeWarrior debugger is handling for you. Is your build target set to one with flash? Can you generate an example program with the wizard, output an S-record file, then try that in the Flash Programmer?
---Tom
As you suggested, I made some test with a simple program and the same thing happen. After Flash programmer exit from debug mode, the "Run/Pause" LED on the USB TAP is green and the board seem to be in reset. I tried to flash the .efl file instead of the S-Record file. The simple program start ok. My application's program start to but is missing some part. Basicaly at power-up, the board suppose to send a small srting on the SCI and then activate some output in reaction to an input.
To resume:
With CodeWorrior : Program ok, start ok, run ok
With Flash programmer (S-Record) : Program ?, start no, run no
With Flash programmer (.efl) : Program ?, start ok, run half (missing string)
I must find what is the missing initialization. When I use Processor Expert, there is no real target selection.
Gib