<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic BDM - flash programmer failure in ColdFire/68K Microcontrollers and Processors</title>
    <link>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/BDM-flash-programmer-failure/m-p/176285#M6899</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have a very basic problem. I write a small application in a sooper loop maner, for coldfire MCF52255 using CW10. After I test the code in debug mode, using USB TapBDM, I try to install the code using Flash Programmer. I downloaded succesfuly code on the target but the application refuse to start.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;There is the last part of the programmer’s report:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Downloading 0x00000418 bytes to be programmed at 0x00000000&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;Programming ....&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;nbsp;Program Command Succeeded&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;Downloading 0x00001080 bytes to be programmed at 0x00000500&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;Programming ....&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;nbsp;Program Command Succeeded&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;cmdwin::fl::verify&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;-------------------------&lt;/P&gt;&lt;P&gt;Verifying file D:\PrjEW_MonoBoard\Firmware_mod\MonoBoard\MCF52255_Release\MonoBoard.elf&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Auto-detection is successful.&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp; File is of type Elf Format.&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Reading 0x00000418 bytes starting from address 0x00000000&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Reading 0x00001080 bytes starting from address 0x00000500&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Verify Command Succeeded&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;nbsp;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&lt;BR /&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;I suspected that some registres that are not initialised correctly. I think that in debug mode the bootloader make all the setting so my application can run properly.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The next step was to test as low level as posible the CPU running path. So in startup file, after the first settings I inserted one function that will toggle one led (located on PORTTI bit0). &amp;nbsp;The code refuse to execute this function eather.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Here is the _startup() function&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;asm&lt;/STRONG&gt; &lt;STRONG&gt;__declspec&lt;/STRONG&gt;(register_abi) &lt;STRONG&gt;void&lt;/STRONG&gt; &lt;STRONG&gt;_startup&lt;/STRONG&gt;(&lt;STRONG&gt;void&lt;/STRONG&gt;)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* disable interrupts */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; move.w&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #0x2700,sr&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* &lt;SPAN style="text-decoration: underline;"&gt;Pre&lt;/SPAN&gt;-&lt;SPAN style="text-decoration: underline;"&gt;init&lt;/SPAN&gt; SP&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lea __SP_AFTER_RESET,a7;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* initialize memory */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MEMORY_INIT&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* initialize any hardware specific issues */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* ISPBAR, FLASHBAR, &lt;SPAN style="text-decoration: underline;"&gt;pll&lt;/SPAN&gt;, SCM, exceptions */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; jsr&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; __initialize_hardware&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* this function will block the program and will blink the LED */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; jsr &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; signal_led_run&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; …&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* other code - never arrive here*/&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The function that toggle the led is implemented in ASM:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;asm&lt;/STRONG&gt; &lt;STRONG&gt;__declspec&lt;/STRONG&gt;(register_abi) &lt;STRONG&gt;void&lt;/STRONG&gt; &lt;STRONG&gt;signal_led_run&lt;/STRONG&gt;(&lt;STRONG&gt;void&lt;/STRONG&gt;)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; move.b&amp;nbsp; #0xff,d0&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; move.b&amp;nbsp; d0,0x4010001C&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* DDRTI &amp;nbsp;output*/&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;__loop_led_run:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; move.b #0x01, d0&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; move.b d0, 0x40100034&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* SETTI */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; nop&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; nop&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; move.b #0x00, d0&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; move.b d0, 0x4010004C&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* CLRTI */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bra __loop_led_run&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* loop back */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; nop&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rts&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I want to know if anybody had similar problems.&lt;/P&gt;&lt;P&gt;What may be the reason for such behaviour?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;This code is very basic, can someone confirm that in this stage of initialization the controller can access external ports?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 24 Oct 2011 21:50:33 GMT</pubDate>
    <dc:creator>ValentinG</dc:creator>
    <dc:date>2011-10-24T21:50:33Z</dc:date>
    <item>
      <title>BDM - flash programmer failure</title>
      <link>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/BDM-flash-programmer-failure/m-p/176285#M6899</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have a very basic problem. I write a small application in a sooper loop maner, for coldfire MCF52255 using CW10. After I test the code in debug mode, using USB TapBDM, I try to install the code using Flash Programmer. I downloaded succesfuly code on the target but the application refuse to start.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;There is the last part of the programmer’s report:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Downloading 0x00000418 bytes to be programmed at 0x00000000&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;Programming ....&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;nbsp;Program Command Succeeded&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;Downloading 0x00001080 bytes to be programmed at 0x00000500&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;Programming ....&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;nbsp;Program Command Succeeded&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;cmdwin::fl::verify&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;-------------------------&lt;/P&gt;&lt;P&gt;Verifying file D:\PrjEW_MonoBoard\Firmware_mod\MonoBoard\MCF52255_Release\MonoBoard.elf&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Auto-detection is successful.&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp; File is of type Elf Format.&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Reading 0x00000418 bytes starting from address 0x00000000&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Reading 0x00001080 bytes starting from address 0x00000500&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Verify Command Succeeded&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;nbsp;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&lt;BR /&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;I suspected that some registres that are not initialised correctly. I think that in debug mode the bootloader make all the setting so my application can run properly.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The next step was to test as low level as posible the CPU running path. So in startup file, after the first settings I inserted one function that will toggle one led (located on PORTTI bit0). &amp;nbsp;The code refuse to execute this function eather.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Here is the _startup() function&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;asm&lt;/STRONG&gt; &lt;STRONG&gt;__declspec&lt;/STRONG&gt;(register_abi) &lt;STRONG&gt;void&lt;/STRONG&gt; &lt;STRONG&gt;_startup&lt;/STRONG&gt;(&lt;STRONG&gt;void&lt;/STRONG&gt;)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* disable interrupts */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; move.w&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #0x2700,sr&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* &lt;SPAN style="text-decoration: underline;"&gt;Pre&lt;/SPAN&gt;-&lt;SPAN style="text-decoration: underline;"&gt;init&lt;/SPAN&gt; SP&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lea __SP_AFTER_RESET,a7;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* initialize memory */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MEMORY_INIT&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* initialize any hardware specific issues */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* ISPBAR, FLASHBAR, &lt;SPAN style="text-decoration: underline;"&gt;pll&lt;/SPAN&gt;, SCM, exceptions */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; jsr&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; __initialize_hardware&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* this function will block the program and will blink the LED */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; jsr &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; signal_led_run&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; …&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* other code - never arrive here*/&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The function that toggle the led is implemented in ASM:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;asm&lt;/STRONG&gt; &lt;STRONG&gt;__declspec&lt;/STRONG&gt;(register_abi) &lt;STRONG&gt;void&lt;/STRONG&gt; &lt;STRONG&gt;signal_led_run&lt;/STRONG&gt;(&lt;STRONG&gt;void&lt;/STRONG&gt;)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; move.b&amp;nbsp; #0xff,d0&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; move.b&amp;nbsp; d0,0x4010001C&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* DDRTI &amp;nbsp;output*/&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;__loop_led_run:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; move.b #0x01, d0&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; move.b d0, 0x40100034&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* SETTI */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; nop&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; nop&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; move.b #0x00, d0&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; move.b d0, 0x4010004C&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* CLRTI */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bra __loop_led_run&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* loop back */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; nop&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rts&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I want to know if anybody had similar problems.&lt;/P&gt;&lt;P&gt;What may be the reason for such behaviour?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;This code is very basic, can someone confirm that in this stage of initialization the controller can access external ports?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 24 Oct 2011 21:50:33 GMT</pubDate>
      <guid>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/BDM-flash-programmer-failure/m-p/176285#M6899</guid>
      <dc:creator>ValentinG</dc:creator>
      <dc:date>2011-10-24T21:50:33Z</dc:date>
    </item>
    <item>
      <title>Re: BAD - flash programmer failure</title>
      <link>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/BDM-flash-programmer-failure/m-p/176286#M6900</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I found the problem and I will present the problem there, maybe someone will face the same problem sometime.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;In my project I eliminate all the EWL libraries and all the including paths to the Freescale framework. I wanted to make my project independent of libraries saved in "MCUToolsBaseDir"(where the eclipse is installed). The problem was in the _startup function where the MEMORY_INIT&amp;nbsp; macro is placed. If this macro is not defined it will be defined with default value in startup.h&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;#ifndef MEMORY_INIT&lt;BR /&gt;/* If MEMORY_INIT is set then it performs&lt;BR /&gt;&amp;nbsp;&amp;nbsp; minimal memory initialization (to preset SP to __SP_AFTER_RESET, etc...)&lt;BR /&gt;*/&lt;BR /&gt;#define MEMORY_INIT&lt;BR /&gt;#endif&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;because I didn't include all external *.h (#include "support_common.h" in particular), I loosed the first definition of the macro, the one that should initialize RAMBAR register. The correct macro definition is placed here:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;#define MEMORY_INIT \&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;/* Initialize RAMBAR: locate SRAM and validate it */ \&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;move.l&amp;nbsp;&amp;nbsp; &amp;nbsp;%#__RAMBAR + 0x21,d0; \&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;movec&amp;nbsp;&amp;nbsp; &amp;nbsp;d0,RAMBAR;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I discover in an empiric way that this macro should be called before any function, it have to be placed directly in the _startup function.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Valentin&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 25 Oct 2011 15:35:13 GMT</pubDate>
      <guid>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/BDM-flash-programmer-failure/m-p/176286#M6900</guid>
      <dc:creator>ValentinG</dc:creator>
      <dc:date>2011-10-25T15:35:13Z</dc:date>
    </item>
  </channel>
</rss>

