Programming Flash Memory

Kay Dohmann kay at dohmanngmbh.de
Wed May 21 13:23:18 UTC 2008


Hi.
I am trying to programm flash memory (cfm) via gdb, but it errors. Is 
flashing still not supported, or do I do something wrong? When I try to 
flash via the P&E-Tools or via the CFFlasher from Freescale it works. My 
target I want to flash is a mcf52235. Below I copied a complete gdb 
session, for the case that helps.

Thank you for any help and advice.

Kay


Output:

70-gdb-set confirm off
70^done
71-gdb-set width 0
(gdb) 
71^done
72-gdb-set height 0
(gdb) 
72^done
(gdb) 
73-interpreter-exec console echo
73^done
(gdb) 
74-gdb-show prompt
74^done,value="(gdb) "
(gdb) 
75-environment-directory "E:/Java/Eclipse-3.4/workspace/FreeRTOS Demo Application" "E:/Java/Eclipse-3.4/workspace/FreeRTOS Demo Application/.settings" "E:/Java/Eclipse-3.4/workspace/FreeRTOS Demo Application/include" "E:/Java/Eclipse-3.4/workspace/FreeRTOS Demo Application/include/arch" "E:/Java/Eclipse-3.4/workspace/FreeRTOS Demo Application/include/arch/mcf52235" "E:/Java/Eclipse-3.4/workspace/FreeRTOS Demo Application/system"
75^done,source-path="E:/Java/Eclipse-3.4/workspace/FreeRTOS Demo Application;E:/Java/Eclipse-3.4/workspace/FreeRTOS Demo Application/.settings;E:/Java/Eclipse-3.4/workspace/FreeRTOS Demo Application/include;E:/Java/Eclipse-3.4/workspace/FreeRTOS Demo Application/include/arch;E:/Java/Eclipse-3.4/workspace/FreeRTOS Demo Application/include/arch/mcf52235;E:/Java/Eclipse-3.4/workspace/FreeRTOS Demo Application/system;$cdir;$cwd"
(gdb) 
76 info threads
&"info threads\n"
&"No registers.\n"
76^error,msg="No registers."
77-data-list-register-names
(gdb) 
77^done,register-names=["d0","d1","d2","d3","d4","d5","d6","d7","a0","a1","a2","a3","a4","a5","fp","sp","ps","pc","fp0","fp1","fp2","fp3","fp4","fp5","fp6","fp7","fpcontrol","fpstatus","fpiaddr"]
(gdb) 
78 source .gdbinit
&"source .gdbinit\n"
source .gdbinit
78^done
(gdb) 
79 target remote | \\Compiler\\Freescale-Coldfire-4.2-125-m68k-ELF\\bin\\m68k-elf-sprite -v pe://USBMultilink m52235evb
target remote | \Compiler\Freescale-Coldfire-4.2-125-m68k-ELF\bin\m68k-elf-sprite -v pe://USBMultilink m52235evb
&"target remote | \\\\Compiler\\\\Freescale-Coldfire-4.2-125-m68k-ELF\\\\bin\\\\m68k-elf-sprite -v pe://USBMultilink m52235evb\n"
&"m68k-elf-sprite: CodeSourcery ColdFire Debug Sprite (Sourcery G++ Lite 4.2-125)\n"
m68k-elf-sprite: CodeSourcery ColdFire Debug Sprite (Sourcery G++ Lite 4.2-125)
m68k-elf-sprite: Loaded P&E library 'UNIT_CFZ.DLL'
m68k-elf-sprite: Using P&E DLL version: ColdFire Interface Libraries Version 3.14 (http://www.pemicro.com)
&"m68k-elf-sprite: Loaded P&E library 'UNIT_CFZ.DLL'\n"
&"m68k-elf-sprite: Using P&E DLL version: ColdFire Interface Libraries Version 3.14 (http://www.pemicro.com)\n"
&"m68k-elf-sprite: 1 USBMultilink devices found\n"
m68k-elf-sprite: 1 USBMultilink devices found
m68k-elf-sprite: Opening P&E USBMultilink port 1 (USB1 : USB-ML-CF Rev C (PE6015711))
&"m68k-elf-sprite: Opening P&E USBMultilink port 1 (USB1 : USB-ML-CF Rev C (PE6015711))\n"
m68k-elf-sprite: Setting connection speed to 0
&"m68k-elf-sprite: Setting connection speed to 0\n"
m68k-elf-sprite: Doing I/O to stdin/stdout
&"m68k-elf-sprite: Doing I/O to stdin/stdout\n"
&"m68k-elf-sprite: Firmware version unavailable\n"
m68k-elf-sprite: Firmware version unavailable
&"m68k-elf-sprite: Remote device ready\n"
&"m68k-elf-sprite: Device has Rev-B+ debug unit\n"
m68k-elf-sprite: Remote device ready
m68k-elf-sprite: Device has Rev-B+ debug unit
&"m68k-elf-sprite: Init write-register 0xc05:32=0x20000021\n"
&"m68k-elf-sprite: Init write-register 0xc04:32=0x21\n"
m68k-elf-sprite: Init write-register 0xc05:32=0x20000021
m68k-elf-sprite: Init write-register 0xc04:32=0x21
&"m68k-elf-sprite: Init write-memory 0x40100074:8=0xf\n"
&"m68k-elf-sprite: FLASHBAR valid bit detected, flash at 0x0\n"
&"m68k-elf-sprite: Memory [0x0,+0x40000) flash (CFM 1:4/4)\n"
&"m68k-elf-sprite: Memory [0x20000000,+0x8000) ram\n"
&"m68k-elf-sprite: Target reset\n"
&"m68k-elf-sprite: Got packet: 'qSupported'\n"
&"m68k-elf-sprite: Sent response: 'PacketSize=1f40;qXfer:memory-map:read+;qXfer:features:read+;qXfer:features:read+'\n"
m68k-elf-sprite: Init write-memory 0x40100074:8=0xf
m68k-elf-sprite: FLASHBAR valid bit detected, flash at 0x0
m68k-elf-sprite: Memory [0x0,+0x40000) flash (CFM 1:4/4)
m68k-elf-sprite: Memory [0x20000000,+0x8000) ram
m68k-elf-sprite: Target reset
m68k-elf-sprite: Got packet: 'qSupported'
m68k-elf-sprite: Sent response: 'PacketSize=1f40;qXfer:memory-map:read+;qXfer:features:read+;qXfer:features:read+'
m68k-elf-sprite: Got packet: 'qXfer:features:read:target.xml:0,fff'
&"m68k-elf-sprite: Got packet: 'qXfer:features:read:target.xml:0,fff'\n"
&"m68k-elf-sprite: Sent response: 'l<?xml version=\"1.0\"?><!DOCTYPE target SYSTEM \"gdb-target.dtd\"><target><xi:include href=\"cf-core.xml\"/></target>'\n"
m68k-elf-sprite: Sent response: 'l<?xml version="1.0"?><!DOCTYPE target SYSTEM "gdb-target.dtd"><target><xi:include href="cf-core.xml"/></target>'
&"m68k-elf-sprite: Got packet: 'qXfer:features:read:cf-core.xml:0,fff'\n"
m68k-elf-sprite: Got packet: 'qXfer:features:read:cf-core.xml:0,fff'
&"m68k-elf-sprite: Sent response: 'l<?xml version=\"1.0\"?>\n"
m68k-elf-sprite: Sent response: 'l<?xml version="1.0"?>
&"<!DOCTYPE feature SYSTEM \"gdb-target.dtd\">\n"
<!DOCTYPE feature SYSTEM "gdb-target.dtd">
&"<feature name=\"org.gnu.gdb.coldfire.core\">\n"
<feature name="org.gnu.gdb.coldfire.core">
&"  <reg name=\"d0\" bitsize=\"32\"/>\n"
  <reg name="d0" bitsize="32"/>
  <reg name="d1" bitsize="32"/>
  <reg name="d2" bitsize="32"/>
  <reg name="d3" bitsize="32"/>
  <reg name="d4" bitsize="32"/>
  <reg name="d5" bitsize="32"/>
  <reg name="d6" bitsize="32"/>
  <reg name="d7" bitsize="32"/>
  <reg name="a0" bitsize="32" type="data_ptr"/>
  <reg name="a1" bitsize="32" type="data_ptr"/>
  <reg name="a2" bitsize="32" type="data_ptr"/>
  <reg name="a3" bitsize="32" type="data_ptr"/>
  <reg name="a4" bitsize="32" type="data_ptr"/>
  <reg name="a5" bitsize="32" type="data_ptr"/>
  <reg name="fp" bitsize="32" type="data_ptr"/>
&"  <reg name=\"d1\" bitsize=\"32\"/>\n"
&"  <reg name=\"d2\" bitsize=\"32\"/>\n"
&"  <reg name=\"d3\" bitsize=\"32\"/>\n"
&"  <reg name=\"d4\" bitsize=\"32\"/>\n"
&"  <reg name=\"d5\" bitsize=\"32\"/>\n"
  <reg name="sp" bitsize="32" type="data_ptr"/>

&"  <reg name=\"d6\" bitsize=\"32\"/>\n"
&"  <reg name=\"d7\" bitsize=\"32\"/>\n"
&"  <reg name=\"a0\" bitsize=\"32\" type=\"data_ptr\"/>\n"
&"  <reg name=\"a1\" bitsize=\"32\" type=\"data_ptr\"/>\n"
&"  <reg name=\"a2\" bitsize=\"32\" type=\"data_ptr\"/>\n"
&"  <reg name=\"a3\" bitsize=\"32\" type=\"data_ptr\"/>\n"
&"  <reg name=\"a4\" bitsize=\"32\" type=\"data_ptr\"/>\n"
&"  <reg name=\"a5\" bitsize=\"32\" type=\"data_ptr\"/>\n"
&"  <reg name=\"fp\" bitsize=\"32\" type=\"data_ptr\"/>\n"
&"  <reg name=\"sp\" bitsize=\"32\" type=\"data_ptr\"/>\n"
&"\n"
&"  <reg name=\"ps\" bitsize=\"32\"/>\n"
  <reg name="ps" bitsize="32"/>
&"  <reg name=\"pc\" bitsize=\"32\" type=\"code_ptr\"/>\n"
&"\n"
  <reg name="pc" bitsize="32" type="code_ptr"/>

&"</feature>\n"
</feature>
&"'\n"
'
&"m68k-elf-sprite: Got packet: 'Hc-1'\n"
m68k-elf-sprite: Got packet: 'Hc-1'
&"m68k-elf-sprite: Sent response: ''\n"
m68k-elf-sprite: Sent response: ''
&"m68k-elf-sprite: Got packet: 'qC'\n"
m68k-elf-sprite: Got packet: 'qC'
&"m68k-elf-sprite: Sent response: 'unset'\n"
m68k-elf-sprite: Sent response: 'unset'
m68k-elf-sprite: Got packet: 'qOffsets'
&"m68k-elf-sprite: Got packet: 'qOffsets'\n"
m68k-elf-sprite: Sent response: ''
&"m68k-elf-sprite: Sent response: ''\n"
&"m68k-elf-sprite: Got packet: '?'\n"
m68k-elf-sprite: Got packet: '?'
&"m68k-elf-sprite: Sent response: 'S00'\n"
m68k-elf-sprite: Sent response: 'S00'
&"m68k-elf-sprite: Got packet: 'Hg0'\n"
m68k-elf-sprite: Got packet: 'Hg0'
&"m68k-elf-sprite: Sent response: ''\n"
m68k-elf-sprite: Sent response: ''
&"m68k-elf-sprite: Got packet: 'g'\n"
m68k-elf-sprite: Got packet: 'g'
&"m68k-elf-sprite: Sent response: 'cf20608910a010700166ad280860892121df06f868cfd8b458aa000a2542506b496404010515e1034cace15266804cd20dde83485e61482550a8a42cacc206954040270800000000'\n"
m68k-elf-sprite: Sent response: 'cf20608910a010700166ad280860892121df06f868cfd8b458aa000a2542506b496404010515e1034cace15266804cd20dde83485e61482550a8a42cacc206954040270800000000'
~"0x00000000 in __text_start ()\n"
0x00000000 in __text_start ()
&"m68k-elf-sprite: Got packet: 'qSymbol::'\n"
m68k-elf-sprite: Got packet: 'qSymbol::'
&"m68k-elf-sprite: Sent response: ''\n"
m68k-elf-sprite: Sent response: ''
79^done
(gdb) 
80 load
&"load\n"
load
m68k-elf-sprite: Got packet: 'qXfer:memory-map:read::0,fff'
&"m68k-elf-sprite: Got packet: 'qXfer:memory-map:read::0,fff'\n"
&"m68k-elf-sprite: Sent response: 'l<memory-map>\n"
m68k-elf-sprite: Sent response: 'l<memory-map>
&"  <memory start=\"0x0\" length=\"0x40000\" type=\"flash\">\n"
  <memory start="0x0" length="0x40000" type="flash">
&"    <property name=\"blocksize\">0x800</property>\n"
&"  </memory>\n"
    <property name="blocksize">0x800</property>
  </memory>
&"  <memory start=\"0x20000000\" length=\"0x8000\" type=\"ram\"/>\n"
&"</memory-map>\n"
  <memory start="0x20000000" length="0x8000" type="ram"/>
</memory-map>
&"'\n"
'
m68k-elf-sprite: Got packet: 'vFlashErase:00000000,0000f000'
&"m68k-elf-sprite: Got packet: 'vFlashErase:00000000,0000f000'\n"
&"m68k-elf-sprite: Flash programming is unsupported in this release\n"
&"m68k-elf-sprite: Sent response: 'E23'\n"
m68k-elf-sprite: Flash programming is unsupported in this release
m68k-elf-sprite: Sent response: 'E23'
Error erasing flash with vFlashErase packet
&"Error erasing flash with vFlashErase packet\n"
80^error,msg="Error erasing flash with vFlashErase packet"
(gdb) 
81-stack-list-frames
&"Cannot access memory at address 0xacc20695\n"
Cannot access memory at address 0xacc20695
81^error,msg="Cannot access memory at address 0xacc20695"
(gdb) 
82 set $pc=_start
&"set $pc=_start\n"
set $pc=_start
&"No symbol \"_start\" in current context.\n"
No symbol "_start" in current context.
82^error,msg="No symbol \"_start\" in current context."
(gdb) 
83 continue
&"continue\n"
continue
&"m68k-elf-sprite: Got packet: 'vCont?'\n"
m68k-elf-sprite: Got packet: 'vCont?'
&"m68k-elf-sprite: Sent response: ''\n"
m68k-elf-sprite: Sent response: ''
m68k-elf-sprite: Got packet: 'Hc0'
m68k-elf-sprite: Sent response: ''
m68k-elf-sprite: Got packet: 'c'
m68k-elf-sprite: Continue at 0x0
&"m68k-elf-sprite: Got packet: 'Hc0'\n"
&"m68k-elf-sprite: Sent response: ''\n"
&"m68k-elf-sprite: Got packet: 'c'\n"
&"m68k-elf-sprite: Continue at 0x0\n"
&"m68k-elf-sprite: CSR = 0x08904420, FOF=1 TRG=0 HALT=0 BKPT=0\n"
m68k-elf-sprite: CSR = 0x08904420, FOF=1 TRG=0 HALT=0 BKPT=0
&"m68k-elf-sprite: Sent response: 'T0511:0000000a;f:acc20695;e:50a8a42c;'\n"
m68k-elf-sprite: Sent response: 'T0511:0000000a;f:acc20695;e:50a8a42c;'
~"\nProgram received signal "

Program received signal ~"SIGTRAP, Trace/breakpoint trap.\n"
SIGTRAP, Trace/breakpoint trap.
~"0x0000000a in __text_start ()\n"
0x0000000a in __text_start ()
83^done
(gdb) 
84 info proc
&"info proc\n"
&"Undefined info command: \"proc\".  Try \"help info\".\n"
84^error,msg="Undefined info command: \"proc\".  Try \"help info\"."
(gdb) 
85 info program
&"info program\n"
~"Debugging a target over a serial line.\n"
~"Program stopped at 0xa.\n"
~"It stopped with signal SIGTRAP, Trace/breakpoint trap.\n"
~"Type \"info stack\" or \"info registers\" for more information.\n"
85^done
(gdb) 
86 info threads
&"info threads\n"
&"m68k-elf-sprite: Got packet: 'qfThreadInfo'\n"
&"m68k-elf-sprite: Sent response: ''\n"
&"m68k-elf-sprite: Got packet: 'qL1200000000000000000'\n"
&"m68k-elf-sprite: Sent response: ''\n"
&"warning: RMT ERROR : failed to get remote thread list.\n"
&"m68k-elf-sprite: Got packet: 'qC'\n"
&"m68k-elf-sprite: Sent response: 'unset'\n"
86^done
(gdb) 
87-stack-info-depth
&"Cannot access memory at address 0xacc20695\n"
Cannot access memory at address 0xacc20695
87^error,msg="Cannot access memory at address 0xacc20695"
(gdb) 
88-stack-info-depth
&"Cannot access memory at address 0xacc20695\n"
Cannot access memory at address 0xacc20695
88^error,msg="Cannot access memory at address 0xacc20695"
(gdb) 
89-data-list-changed-registers
&"m68k-elf-sprite: Got packet: 'g'\n"
m68k-elf-sprite: Got packet: 'g'
&"m68k-elf-sprite: Sent response: 'cf20608910a010700166ad280860892121df06f868cfd8b458aa000a2542506b496404010515e1034cace15266804cd20dde83485e61482550a8a42cacc2069550a8a42c0000000a'\n"
m68k-elf-sprite: Sent response: 'cf20608910a010700166ad280860892121df06f868cfd8b458aa000a2542506b496404010515e1034cace15266804cd20dde83485e61482550a8a42cacc2069550a8a42c0000000a'
89^done,changed-registers=["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17"]
(gdb) 
90-stack-info-depth
&"Cannot access memory at address 0xacc20695\n"
Cannot access memory at address 0xacc20695
90^error,msg="Cannot access memory at address 0xacc20695"
(gdb) 
91-stack-info-depth
&"Cannot access memory at address 0xacc20695\n"
Cannot access memory at address 0xacc20695
91^error,msg="Cannot access memory at address 0xacc20695"
(gdb) 





More information about the coldfire-gnu-discuss mailing list