Hi You are just erasing one sector of the flash memory, 1k, and probalby your bin file is larger. Try something like: flash erase_sector 0 0 10
Magnus Robert Taylor wrote: > 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 > _______________________________________________ Openocd-development mailing list Openocd-development@lists.berlios.de https://lists.berlios.de/mailman/listinfo/openocd-development