Hello, I'm new to embedded development and I've just bought a STM3210E-EVAL board and an Olimex ARM-USB-TINY JTAG connector to play with. I've managed to set the tool chain and such up and I'm having trouble flashing an application. The application is from the ST example code and blinks the LEDs on and off.
I've compiled an example program as follows: arm-none-eabi-gcc -mcpu=cortex-m3 -mthumb -T generic-m.ld -I /home/taylorr/Desktop/um0427/Libraries/STM32F10x_StdPeriph_Driver/inc -I /home/taylorr/Desktop/um0427/Libraries/CMSIS/Core/CM3 /home/taylorr/Desktop/um0427/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_gpio.c /home/taylorr/Desktop/um0427/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_rcc.c /home/taylorr/Desktop/um0427/Libraries/CMSIS/Core/CM3/system_stm32f10x.c stm32f10x_it.c main.c -o hello I used objcopy as follows: arm-none-eabi-objcopy -j .text a.out hello.bin -O binary Which produces the following file: -rwxr-xr-x 1 taylorr taylorr 6156 2009-04-09 14:35 hello.bin I started OpenOCD as follows: C:\Documents and Settings\Robert Taylor\Desktop>openocd -d 3 -l openocd.log -s "C:\Program Files\OpenOCD\0.1.0" -f interface\olimex-jtag-tiny-a.cfg -f board\stm3210e_eval.cfg Open On-Chip Debugger 0.1.0 (2009-01-21-21:15) Release BUGS? Read http://svn.berlios.de/svnroot/repos/openocd/trunk/BUGS $URL: https://kc8...@svn.berlios.de/svnroot/repos/openocd/tags/openocd-0.1.0/src /openocd.c $ User : 5 16 command.c:494 command_run_line(): Debug: 7 16 command.c:91 script_command(): script_command - log_output Debug: 8 16 command.c:108 script_command(): script_command - log_output, argv[0]=ocd_log_output Debug: 9 16 command.c:108 script_command(): script_command - log_output, argv[1]=openocd.log I used Telnet to talk to the board as follows: Open On-Chip Debugger > halt target was in unknown state when halt was requested > stm32x unlock 0 device id = 0x10016414 flash size = 512kbytes stm32x unlocked > flash erase_sector 0 0 0 erased sectors 0 through 0 on flash bank 0 in 0.062500s > flash write_bank 0 "C:/Documents and Settings/Robert Taylor/Desktop/hello.bin" 0 flash writing failed with error code: 0xfffffc7a error writing to flash at address 0x08000000 at offset 0x00000000 (-902) called at file "command.c", line 456 called at file "embedded:startup.tcl", line 89 called at file "embedded:startup.tcl", line 93 > The OpenOCD log has the following information: User : 10 16 command.c:494 command_run_line(): Debug: 11 16 configuration.c:88 find_file(): found C:\Program Files\OpenOCD\0.1.0\bin\../interface\olimex-jtag-tiny-a.cfg Debug: 13 16 command.c:91 script_command(): script_command - interface Debug: 14 16 command.c:108 script_command(): script_command - interface, argv[0]=ocd_interface Debug: 15 16 command.c:108 script_command(): script_command - interface, argv[1]=ft2232 Debug: 17 16 command.c:91 script_command(): script_command - ft2232_device_desc Debug: 18 16 command.c:108 script_command(): script_command - ft2232_device_desc, argv[0]=ocd_ft2232_device_desc Debug: 19 16 command.c:108 script_command(): script_command - ft2232_device_desc, argv[1]=Olimex OpenOCD JTAG TINY A Debug: 21 16 command.c:91 script_command(): script_command - ft2232_layout Debug: 22 16 command.c:108 script_command(): script_command - ft2232_layout, argv[0]=ocd_ft2232_layout Debug: 23 16 command.c:108 script_command(): script_command - ft2232_layout, argv[1]=olimex-jtag User : 24 16 command.c:494 command_run_line(): Debug: 25 16 configuration.c:88 find_file(): found C:\Program Files\OpenOCD\0.1.0\bin\../board\stm3210e_eval.cfg Debug: 26 16 configuration.c:88 find_file(): found C:\Program Files\OpenOCD\0.1.0\bin\../target/stm32.cfg Debug: 28 16 command.c:91 script_command(): script_command - jtag_khz Debug: 29 16 command.c:108 script_command(): script_command - jtag_khz, argv[0]=ocd_jtag_khz Debug: 30 16 command.c:108 script_command(): script_command - jtag_khz, argv[1]=500 Debug: 31 16 jtag.c:2645 handle_jtag_khz_command(): handle jtag khz User : 32 16 command.c:383 command_print(): 500 kHz Debug: 34 16 command.c:91 script_command(): script_command - jtag_nsrst_delay Debug: 35 16 command.c:108 script_command(): script_command - jtag_nsrst_delay, argv[0]=ocd_jtag_nsrst_delay Debug: 36 16 command.c:108 script_command(): script_command - jtag_nsrst_delay, argv[1]=100 Debug: 38 16 command.c:91 script_command(): script_command - jtag_ntrst_delay Debug: 39 16 command.c:108 script_command(): script_command - jtag_ntrst_delay, argv[0]=ocd_jtag_ntrst_delay Debug: 40 16 command.c:108 script_command(): script_command - jtag_ntrst_delay, argv[1]=100 Debug: 42 16 command.c:91 script_command(): script_command - reset_config Debug: 43 16 command.c:108 script_command(): script_command - reset_config, argv[0]=ocd_reset_config Debug: 44 16 command.c:108 script_command(): script_command - reset_config, argv[1]=trst_and_srst Debug: 45 16 jtag.c:1892 jim_newtap_cmd(): Creating New Tap, Chip: stm32, Tap: cpu, Dotted: stm32.cpu, 8 params Debug: 46 16 jtag.c:1911 jim_newtap_cmd(): Processing option: -irlen Debug: 47 16 jtag.c:1911 jim_newtap_cmd(): Processing option: -ircapture Debug: 48 16 jtag.c:1911 jim_newtap_cmd(): Processing option: -irmask Debug: 49 16 jtag.c:1911 jim_newtap_cmd(): Processing option: -expected-id Debug: 50 16 jtag.c:2024 jim_newtap_cmd(): Created Tap: stm32.cpu @ abs position 0, irlen 4, capture: 0x1 mask: 0xf Debug: 51 16 jtag.c:1892 jim_newtap_cmd(): Creating New Tap, Chip: stm32, Tap: bs, Dotted: stm32.bs, 8 params Debug: 52 16 jtag.c:1911 jim_newtap_cmd(): Processing option: -irlen Debug: 53 16 jtag.c:1911 jim_newtap_cmd(): Processing option: -ircapture Debug: 54 16 jtag.c:1911 jim_newtap_cmd(): Processing option: -irmask Debug: 55 16 jtag.c:1911 jim_newtap_cmd(): Processing option: -expected-id Debug: 56 16 jtag.c:2024 jim_newtap_cmd(): Created Tap: stm32.bs @ abs position 1, irlen 5, capture: 0x1 mask: 0x1 Debug: 57 16 target.c:3911 jim_target(): Target command params: Debug: 58 16 target.c:3912 jim_target(): target create stm32.cpu cortex_m3 -endian little -chain-position stm32.cpu Debug: 60 16 command.c:91 script_command(): script_command - bank Debug: 61 16 command.c:108 script_command(): script_command - bank, argv[0]=ocd_flash_bank Debug: 62 16 command.c:108 script_command(): script_command - bank, argv[1]=stm32x Debug: 63 16 command.c:108 script_command(): script_command - bank, argv[2]=0 Debug: 64 16 command.c:108 script_command(): script_command - bank, argv[3]=0 Debug: 65 16 command.c:108 script_command(): script_command - bank, argv[4]=0 Debug: 66 16 command.c:108 script_command(): script_command - bank, argv[5]=0 Debug: 67 16 command.c:108 script_command(): script_command - bank, argv[6]=0 User : 68 16 command.c:494 command_run_line(): Debug: 70 16 command.c:91 script_command(): script_command - init Debug: 71 16 command.c:108 script_command(): script_command - init, argv[0]=ocd_init Debug: 72 16 openocd.c:144 handle_init_command(): target init complete Debug: 73 16 ft2232.c:1463 ft2232_init_ftd2xx(): 'ft2232' interface using FTD2XX with 'olimex-jtag' layout (0403:6010) Debug: 74 47 ft2232.c:1550 ft2232_init_ftd2xx(): current latency timer: 2 Debug: 75 47 ft2232.c:1966 olimex_jtag_init(): 80 08 1b Debug: 76 47 ft2232.c:2009 olimex_jtag_init(): 82 09 0f Debug: 77 47 ft2232.c:276 ft2232_speed(): 86 0b 00 Debug: 78 62 openocd.c:151 handle_init_command(): jtag interface init complete Debug: 79 62 jtag.c:2240 jtag_init_inner(): Init JTAG chain Debug: 80 62 jtag.c:434 jtag_call_event_callbacks(): jtag event: JTAG controller reset (RESET or TRST) Debug: 81 62 jtag.c:1487 jtag_reset_callback(): - Debug: 82 62 jtag.c:1487 jtag_reset_callback(): - Debug: 83 62 jtag.c:434 jtag_call_event_callbacks(): jtag event: JTAG controller reset (RESET or TRST) Debug: 84 62 jtag.c:1487 jtag_reset_callback(): - Debug: 85 62 jtag.c:1487 jtag_reset_callback(): - Info : 86 62 jtag.c:1607 jtag_examine_chain(): JTAG tap: stm32.cpu tap/device found: 0x3ba00477 (Manufacturer: 0x23b, Part: 0xba00, Version: 0x3) Info : 87 62 jtag.c:1645 jtag_examine_chain(): JTAG Tap/device matched Info : 88 62 jtag.c:1607 jtag_examine_chain(): JTAG tap: stm32.bs tap/device found: 0x06414041 (Manufacturer: 0x020, Part: 0x6414, Version: 0x0) Info : 89 62 jtag.c:1645 jtag_examine_chain(): JTAG Tap/device matched Debug: 90 62 jtag.c:434 jtag_call_event_callbacks(): jtag event: JTAG controller reset (RESET or TRST) Debug: 91 62 jtag.c:1487 jtag_reset_callback(): - Debug: 92 62 jtag.c:1487 jtag_reset_callback(): - Debug: 93 62 openocd.c:157 handle_init_command(): jtag init complete Debug: 94 62 cortex_swjdp.c:968 ahbap_debugport_init(): Debug: 95 78 cortex_swjdp.c:1012 ahbap_debugport_init(): AHB-AP ID Register 0x14770011, Debug ROM Address 0xe00ff003 Debug: 96 94 target.c:1185 target_read_u32(): address: 0xe000ed00, value: 0x411fc231 Debug: 97 94 cortex_m3.c:1395 cortex_m3_examine(): CORTEX-M3 processor detected Debug: 98 94 cortex_m3.c:1396 cortex_m3_examine(): cpuid: 0x411fc231 Debug: 99 94 target.c:1185 target_read_u32(): address: 0xe000e004, value: 0x00000001 Debug: 100 94 target.c:1185 target_read_u32(): address: 0xe000e100, value: 0x00000000 Debug: 101 94 cortex_m3.c:1404 cortex_m3_examine(): interrupt enable[0] = 0x00000000 Debug: 102 109 target.c:1185 target_read_u32(): address: 0xe000e104, value: 0x00000000 Debug: 103 109 cortex_m3.c:1404 cortex_m3_examine(): interrupt enable[1] = 0x00000000 Debug: 104 125 target.c:1185 target_read_u32(): address: 0xe0002000, value: 0x00000260 Debug: 105 125 cortex_m3.c:1420 cortex_m3_examine(): FPB fpcr 0x260, numcode 6, numlit 2 Debug: 106 125 target.c:1185 target_read_u32(): address: 0xe0001000, value: 0x40000000 Debug: 107 125 openocd.c:160 handle_init_command(): jtag examine complete Debug: 108 125 openocd.c:166 handle_init_command(): flash init complete Debug: 109 125 openocd.c:170 handle_init_command(): mflash init complete Debug: 110 125 openocd.c:174 handle_init_command(): NAND init complete Debug: 111 125 openocd.c:178 handle_init_command(): pld init complete Warn : 112 125 telnet_server.c:612 telnet_init(): no telnet port specified, using default port 4444 Warn : 113 141 gdb_server.c:2201 gdb_init(): no gdb port specified, using default port 3333 Debug: 114 156 gdb_server.c:2225 gdb_init(): gdb service for target cortex_m3 at port 3333 Warn : 115 156 tcl_server.c:178 tcl_init(): no tcl port specified, using default port 6666 User : 116 156 command.c:494 command_run_line(): Info : 117 4156 server.c:89 add_connection(): accepting 'telnet' connection from 0 Debug: 119 13094 command.c:91 script_command(): script_command - halt Debug: 120 13094 command.c:108 script_command(): script_command - halt, argv[0]=ocd_halt Debug: 121 13094 target.c:1744 handle_halt_command(): - Debug: 122 13094 cortex_m3.c:485 cortex_m3_halt(): target->state: unknown Warn : 123 13094 cortex_m3.c:495 cortex_m3_halt(): target was in unknown state when halt was requested User : 124 13109 command.c:494 command_run_line(): Debug: 126 38484 command.c:91 script_command(): script_command - unlock Debug: 127 38484 command.c:108 script_command(): script_command - unlock, argv[0]=ocd_stm32x_unlock Debug: 128 38484 command.c:108 script_command(): script_command - unlock, argv[1]=0 Debug: 129 38500 target.c:1185 target_read_u32(): address: 0xe0042000, value: 0x10016414 Info : 130 38500 stm32x.c:706 stm32x_probe(): device id = 0x10016414 Debug: 131 38500 target.c:1210 target_read_u16(): address: 0x1ffff7e0, value: 0x0200 Info : 132 38500 stm32x.c:766 stm32x_probe(): flash size = 512kbytes Debug: 133 38500 target.c:1185 target_read_u32(): address: 0x4002201c, value: 0x03fffffc Debug: 134 38516 target.c:1185 target_read_u32(): address: 0x40022020, value: 0xffffffff Debug: 135 38516 target.c:1253 target_write_u32(): address: 0x40022004, value: 0x45670123 Debug: 136 38516 target.c:1253 target_write_u32(): address: 0x40022004, value: 0xcdef89ab Debug: 137 38531 target.c:1253 target_write_u32(): address: 0x40022008, value: 0x45670123 Debug: 138 38531 target.c:1253 target_write_u32(): address: 0x40022008, value: 0xcdef89ab Debug: 139 38531 target.c:1253 target_write_u32(): address: 0x40022010, value: 0x00000220 Debug: 140 38547 target.c:1253 target_write_u32(): address: 0x40022010, value: 0x00000260 Debug: 141 38547 target.c:1185 target_read_u32(): address: 0x4002200c, value: 0x00000003 Debug: 142 38547 stm32x.c:128 stm32x_wait_status_busy(): status: 0x3 Debug: 143 38562 target.c:1185 target_read_u32(): address: 0x4002200c, value: 0x00000003 Debug: 144 38562 stm32x.c:128 stm32x_wait_status_busy(): status: 0x3 Debug: 145 38562 target.c:1185 target_read_u32(): address: 0x4002200c, value: 0x00000003 Debug: 146 38562 stm32x.c:128 stm32x_wait_status_busy(): status: 0x3 Debug: 147 38578 target.c:1185 target_read_u32(): address: 0x4002200c, value: 0x00000020 Debug: 148 38578 target.c:1253 target_write_u32(): address: 0x40022004, value: 0x45670123 Debug: 149 38578 target.c:1253 target_write_u32(): address: 0x40022004, value: 0xcdef89ab Debug: 150 38594 target.c:1253 target_write_u32(): address: 0x40022008, value: 0x45670123 Debug: 151 38594 target.c:1253 target_write_u32(): address: 0x40022008, value: 0xcdef89ab Debug: 152 38609 target.c:1253 target_write_u32(): address: 0x40022010, value: 0x00000210 Debug: 153 38609 target.c:1274 target_write_u16(): address: 0x1ffff802, value: 0x0000ffff Debug: 154 38625 target.c:1185 target_read_u32(): address: 0x4002200c, value: 0x00000020 Debug: 155 38625 target.c:1274 target_write_u16(): address: 0x1ffff808, value: 0x0000ffff Debug: 156 38641 target.c:1185 target_read_u32(): address: 0x4002200c, value: 0x00000020 Debug: 157 38641 target.c:1274 target_write_u16(): address: 0x1ffff80a, value: 0x0000ffff Debug: 158 38656 target.c:1185 target_read_u32(): address: 0x4002200c, value: 0x00000020 Debug: 159 38656 target.c:1274 target_write_u16(): address: 0x1ffff80c, value: 0x0000ffff Debug: 160 38656 target.c:1185 target_read_u32(): address: 0x4002200c, value: 0x00000020 Debug: 161 38656 target.c:1274 target_write_u16(): address: 0x1ffff80e, value: 0x000000ff Debug: 162 38672 target.c:1185 target_read_u32(): address: 0x4002200c, value: 0x00000020 Debug: 163 38672 target.c:1274 target_write_u16(): address: 0x1ffff800, value: 0x00005aa5 Debug: 164 38687 target.c:1185 target_read_u32(): address: 0x4002200c, value: 0x00000020 Debug: 165 38687 target.c:1253 target_write_u32(): address: 0x40022010, value: 0x00000080 User : 166 38687 command.c:383 command_print(): stm32x unlocked User : 167 38687 command.c:494 command_run_line(): Debug: 169 59000 command.c:91 script_command(): script_command - erase_sector Debug: 170 59000 command.c:108 script_command(): script_command - erase_sector, argv[0]=ocd_flash_erase_sector Debug: 171 59000 command.c:108 script_command(): script_command - erase_sector, argv[1]=0 Debug: 172 59000 command.c:108 script_command(): script_command - erase_sector, argv[2]=0 Debug: 173 59000 command.c:108 script_command(): script_command - erase_sector, argv[3]=0 Debug: 174 59000 target.c:1253 target_write_u32(): address: 0x40022004, value: 0x45670123 Debug: 175 59016 target.c:1253 target_write_u32(): address: 0x40022004, value: 0xcdef89ab Debug: 176 59016 target.c:1253 target_write_u32(): address: 0x40022010, value: 0x00000002 Debug: 177 59031 target.c:1253 target_write_u32(): address: 0x40022014, value: 0x08000000 Debug: 178 59031 target.c:1253 target_write_u32(): address: 0x40022010, value: 0x00000042 Debug: 179 59047 target.c:1185 target_read_u32(): address: 0x4002200c, value: 0x00000023 Debug: 180 59047 stm32x.c:128 stm32x_wait_status_busy(): status: 0x23 Debug: 181 59047 target.c:1185 target_read_u32(): address: 0x4002200c, value: 0x00000023 Debug: 182 59047 stm32x.c:128 stm32x_wait_status_busy(): status: 0x23 Debug: 183 59062 target.c:1185 target_read_u32(): address: 0x4002200c, value: 0x00000020 Debug: 184 59062 target.c:1253 target_write_u32(): address: 0x40022010, value: 0x00000080 User : 185 59062 command.c:383 command_print(): erased sectors 0 through 0 on flash bank 0 in 0.062500s User : 186 59062 command.c:494 command_run_line(): Debug: 188 107984 command.c:91 script_command(): script_command - write_bank Debug: 189 107984 command.c:108 script_command(): script_command - write_bank, argv[0]=ocd_flash_write_bank Debug: 190 107984 command.c:108 script_command(): script_command - write_bank, argv[1]=0 Debug: 191 107984 command.c:108 script_command(): script_command - write_bank, argv[2]=C:/Documents and Settings/Robert Taylor/Desktop/hello.bin Debug: 192 107984 command.c:108 script_command(): script_command - write_bank, argv[3]=0 Debug: 193 107984 configuration.c:88 find_file(): found C:/Documents and Settings/Robert Taylor/Desktop/hello.bin Debug: 194 107984 target.c:1253 target_write_u32(): address: 0x40022004, value: 0x45670123 Debug: 195 107984 target.c:1253 target_write_u32(): address: 0x40022004, value: 0xcdef89ab Debug: 196 107984 target.c:819 target_alloc_working_area(): allocating new working area Debug: 197 107984 target.c:975 target_write_buffer(): writing buffer of 48 byte at 0x20000000 Debug: 198 108000 target.c:819 target_alloc_working_area(): allocating new working area Debug: 199 108000 target.c:975 target_write_buffer(): writing buffer of 6156 byte at 0x20000030 Debug: 200 108187 cortex_m3.c:1187 cortex_m3_load_core_reg_u32(): load from core reg 0 value 0x16 Debug: 201 108219 cortex_m3.c:1187 cortex_m3_load_core_reg_u32(): load from core reg 1 value 0xf4 Debug: 202 108234 cortex_m3.c:1187 cortex_m3_load_core_reg_u32(): load from core reg 2 value 0xf522fe4b Debug: 203 108250 cortex_m3.c:1187 cortex_m3_load_core_reg_u32(): load from core reg 3 value 0xf41f4593 Debug: 204 108250 cortex_m3.c:1187 cortex_m3_load_core_reg_u32(): load from core reg 4 value 0xdf7ffffe Debug: 205 108266 cortex_m3.c:1187 cortex_m3_load_core_reg_u32(): load from core reg 5 value 0xffff7ffd Debug: 206 108297 cortex_m3.c:1187 cortex_m3_load_core_reg_u32(): load from core reg 6 value 0xf4e1380 Debug: 207 108312 cortex_m3.c:1187 cortex_m3_load_core_reg_u32(): load from core reg 7 value 0x1c41650d Debug: 208 108328 cortex_m3.c:1187 cortex_m3_load_core_reg_u32(): load from core reg 8 value 0xa010fbff Debug: 209 108344 cortex_m3.c:1187 cortex_m3_load_core_reg_u32(): load from core reg 9 value 0xffffffff Debug: 210 108359 cortex_m3.c:1187 cortex_m3_load_core_reg_u32(): load from core reg 10 value 0xa9d93759 Debug: 211 108375 cortex_m3.c:1187 cortex_m3_load_core_reg_u32(): load from core reg 11 value 0x34201af3 Debug: 212 108391 cortex_m3.c:1187 cortex_m3_load_core_reg_u32(): load from core reg 12 value 0xfdfffffd Debug: 213 108406 cortex_m3.c:1187 cortex_m3_load_core_reg_u32(): load from core reg 13 value 0x100340 Debug: 214 108437 cortex_m3.c:1187 cortex_m3_load_core_reg_u32(): load from core reg 14 value 0xfffffff9 Debug: 215 108453 cortex_m3.c:1187 cortex_m3_load_core_reg_u32(): load from core reg 15 value 0x17b8 Debug: 216 108469 cortex_m3.c:1187 cortex_m3_load_core_reg_u32(): load from core reg 16 value 0x1000003 Debug: 218 108484 cortex_m3.c:1187 cortex_m3_load_core_reg_u32(): load from core reg 17 value 0x100340 Debug: 219 108516 cortex_m3.c:1187 cortex_m3_load_core_reg_u32(): load from core reg 18 value 0xdf5c9720 Debug: 220 108531 cortex_m3.c:1213 cortex_m3_load_core_reg_u32(): load from special reg 19 value 0x0 Debug: 221 108547 cortex_m3.c:1213 cortex_m3_load_core_reg_u32(): load from special reg 20 value 0x0 Debug: 222 108562 cortex_m3.c:1213 cortex_m3_load_core_reg_u32(): load from special reg 21 value 0x0 Debug: 223 108578 cortex_m3.c:1213 cortex_m3_load_core_reg_u32(): load from special reg 22 value 0x0 Debug: 224 108578 breakpoints.c:93 breakpoint_add(): added software breakpoint at 0x20000026 of length 0x00000002 Debug: 225 108578 armv7m.c:134 armv7m_restore_context(): Debug: 226 108625 cortex_m3.c:1282 cortex_m3_store_core_reg_u32(): write special reg 19 value 0x1 Debug: 227 108625 armv7m.c:243 armv7m_write_core_reg(): write core reg 19 value 0x1 Debug: 228 108641 cortex_m3.c:1253 cortex_m3_store_core_reg_u32(): write core reg 16 value 0x1000003 Debug: 229 108641 armv7m.c:243 armv7m_write_core_reg(): write core reg 16 value 0x1000003 Debug: 230 108656 cortex_m3.c:1253 cortex_m3_store_core_reg_u32(): write core reg 15 value 0x20000000 Debug: 231 108656 armv7m.c:243 armv7m_write_core_reg(): write core reg 15 value 0x20000000 Debug: 232 108672 cortex_m3.c:1253 cortex_m3_store_core_reg_u32(): write core reg 3 value 0x3f0178 Debug: 233 108672 armv7m.c:243 armv7m_write_core_reg(): write core reg 3 value 0x3f0178 Debug: 234 108687 cortex_m3.c:1253 cortex_m3_store_core_reg_u32(): write core reg 2 value 0xc06 Debug: 235 108687 armv7m.c:243 armv7m_write_core_reg(): write core reg 2 value 0xc06 Debug: 236 108703 cortex_m3.c:1253 cortex_m3_store_core_reg_u32(): write core reg 1 value 0x8000000 Debug: 237 108703 armv7m.c:243 armv7m_write_core_reg(): write core reg 1 value 0x8000000 Debug: 238 108719 cortex_m3.c:1253 cortex_m3_store_core_reg_u32(): write core reg 0 value 0x20000030 Debug: 239 108719 armv7m.c:243 armv7m_write_core_reg(): write core reg 0 value 0x20000030 Debug: 240 108734 target.c:696 target_call_event_callbacks(): target event 23 (debug-resumed) Debug: 241 108734 target.c:3054 target_handle_event(): event: 23 debug-resumed - no action Debug: 242 108734 cortex_m3.c:644 cortex_m3_resume(): target debug resumed at 0x20000000 Debug: 243 108734 target.c:1724 target_wait_state(): waiting for target halted... Debug: 244 108781 cortex_m3.c:460 cortex_m3_poll(): Debug: 245 108781 cortex_m3.c:338 cortex_m3_debug_entry(): Debug: 246 108812 cortex_m3.c:133 cortex_m3_clear_halt(): NVIC_DFSR 0x3 Debug: 247 108828 cortex_m3.c:1187 cortex_m3_load_core_reg_u32(): load from core reg 0 value 0x20000834 Debug: 248 108859 cortex_m3.c:1187 cortex_m3_load_core_reg_u32(): load from core reg 1 value 0x8000804 Debug: 249 108875 cortex_m3.c:1187 cortex_m3_load_core_reg_u32(): load from core reg 2 value 0x805 Debug: 250 108891 cortex_m3.c:1187 cortex_m3_load_core_reg_u32(): load from core reg 3 value 0x27 Debug: 251 108906 cortex_m3.c:1187 cortex_m3_load_core_reg_u32(): load from core reg 4 value 0x40022010 Debug: 252 108922 cortex_m3.c:1187 cortex_m3_load_core_reg_u32(): load from core reg 5 value 0x4002200c Debug: 253 108937 cortex_m3.c:1187 cortex_m3_load_core_reg_u32(): load from core reg 6 value 0xf4e1380 Debug: 254 108953 cortex_m3.c:1187 cortex_m3_load_core_reg_u32(): load from core reg 7 value 0x1c41650d Debug: 255 108969 cortex_m3.c:1187 cortex_m3_load_core_reg_u32(): load from core reg 8 value 0xa010fbff Debug: 256 108984 cortex_m3.c:1187 cortex_m3_load_core_reg_u32(): load from core reg 9 value 0xffffffff Debug: 258 109016 cortex_m3.c:1187 cortex_m3_load_core_reg_u32(): load from core reg 10 value 0xa9d93759 Debug: 259 109031 cortex_m3.c:1187 cortex_m3_load_core_reg_u32(): load from core reg 11 value 0x34201af3 Debug: 260 109031 cortex_m3.c:1187 cortex_m3_load_core_reg_u32(): load from core reg 12 value 0xfdfffffd Debug: 261 109062 cortex_m3.c:1187 cortex_m3_load_core_reg_u32(): load from core reg 13 value 0x100340 Debug: 262 109078 cortex_m3.c:1187 cortex_m3_load_core_reg_u32(): load from core reg 14 value 0xfffffff9 Debug: 263 109094 cortex_m3.c:1187 cortex_m3_load_core_reg_u32(): load from core reg 15 value 0x20000026 Debug: 264 109109 cortex_m3.c:1187 cortex_m3_load_core_reg_u32(): load from core reg 16 value 0x21000003 Debug: 265 109125 cortex_m3.c:1187 cortex_m3_load_core_reg_u32(): load from core reg 17 value 0x100340 Debug: 266 109141 cortex_m3.c:1187 cortex_m3_load_core_reg_u32(): load from core reg 18 value 0xdf5c9720 Debug: 267 109172 cortex_m3.c:1213 cortex_m3_load_core_reg_u32(): load from special reg 19 value 0x1 Debug: 268 109187 cortex_m3.c:1213 cortex_m3_load_core_reg_u32(): load from special reg 20 value 0x0 Debug: 269 109203 cortex_m3.c:1213 cortex_m3_load_core_reg_u32(): load from special reg 21 value 0x0 Debug: 270 109219 cortex_m3.c:1213 cortex_m3_load_core_reg_u32(): load from special reg 22 value 0x0 Debug: 271 109234 cortex_m3.c:323 cortex_m3_examine_exception_reason(): HardFault SHCSR 0x0, SR 0xc0000000, CFSR 0x1000, AR 0xffffffff Debug: 272 109234 cortex_m3.c:400 cortex_m3_debug_entry(): entered debug state in core mode: Handler at PC 0x20000026, target->state: halted Debug: 273 109234 target.c:696 target_call_event_callbacks(): target event 22 (debug-halted) Debug: 274 109234 target.c:3054 target_handle_event(): event: 22 debug-halted - no action Debug: 275 109250 cortex_m3.c:1187 cortex_m3_load_core_reg_u32(): load from core reg 15 value 0x20000026 Debug: 276 109266 armv7m.c:452 armv7m_run_algorithm(): restoring register control with value 0x00000000 Debug: 277 109266 armv7m.c:452 armv7m_run_algorithm(): restoring register faultmask with value 0x00000000 Debug: 278 109266 armv7m.c:452 armv7m_run_algorithm(): restoring register basepri with value 0x00000000 Debug: 279 109266 armv7m.c:452 armv7m_run_algorithm(): restoring register primask with value 0x00000000 Debug: 280 109266 armv7m.c:452 armv7m_run_algorithm(): restoring register psp with value 0xdf5c9720 Debug: 281 109266 armv7m.c:452 armv7m_run_algorithm(): restoring register msp with value 0x00100340 Debug: 282 109266 armv7m.c:452 armv7m_run_algorithm(): restoring register xPSR with value 0x01000003 Debug: 283 109266 armv7m.c:452 armv7m_run_algorithm(): restoring register pc with value 0x000017b8 Debug: 284 109266 armv7m.c:452 armv7m_run_algorithm(): restoring register lr with value 0xfffffff9 Debug: 285 109266 armv7m.c:452 armv7m_run_algorithm(): restoring register sp with value 0x00100340 Debug: 286 109266 armv7m.c:452 armv7m_run_algorithm(): restoring register r12 with value 0xfdfffffd Debug: 287 109266 armv7m.c:452 armv7m_run_algorithm(): restoring register r11 with value 0x34201af3 Debug: 288 109266 armv7m.c:452 armv7m_run_algorithm(): restoring register r10 with value 0xa9d93759 Debug: 289 109266 armv7m.c:452 armv7m_run_algorithm(): restoring register r9 with value 0xffffffff Debug: 290 109266 armv7m.c:452 armv7m_run_algorithm(): restoring register r8 with value 0xa010fbff Debug: 291 109266 armv7m.c:452 armv7m_run_algorithm(): restoring register r7 with value 0x1c41650d Debug: 292 109266 armv7m.c:452 armv7m_run_algorithm(): restoring register r6 with value 0x0f4e1380 Debug: 293 109266 armv7m.c:452 armv7m_run_algorithm(): restoring register r5 with value 0xffff7ffd Debug: 294 109266 armv7m.c:452 armv7m_run_algorithm(): restoring register r4 with value 0xdf7ffffe Debug: 295 109266 armv7m.c:452 armv7m_run_algorithm(): restoring register r3 with value 0xf41f4593 Debug: 296 109266 armv7m.c:452 armv7m_run_algorithm(): restoring register r2 with value 0xf522fe4b Debug: 297 109266 armv7m.c:452 armv7m_run_algorithm(): restoring register r1 with value 0x000000f4 Debug: 298 109266 armv7m.c:452 armv7m_run_algorithm(): restoring register r0 with value 0x00000016 Error: 299 109266 stm32x.c:630 stm32x_write(): flash writing failed with error code: 0xfffffc7a Error: 300 109266 flash.c:113 flash_driver_write(): error writing to flash at address 0x08000000 at offset 0x00000000 (-902) Debug: 301 109266 command.c:427 run_command(): Command failed with error code -902 User : 302 109266 command.c:626 openocd_jim_vfprintf(): User : 304 109266 command.c:626 openocd_jim_vfprintf(): User : 306 109266 command.c:626 openocd_jim_vfprintf(): User : 308 109266 command.c:626 openocd_jim_vfprintf(): Do you think this is an OpenOCD problem or something to do with the commands I'm using in Telnet? I can flash a smaller program (see end of email) with no errors. Thanks, Robert Demo program: int main () { int i = 0; return 0; } _______________________________________________ Openocd-development mailing list Openocd-development@lists.berlios.de https://lists.berlios.de/mailman/listinfo/openocd-development