Цитата(Сергей Борщ @ Sep 26 2016, 08:44)

Нет, тут проблема возникает еще до собственно загрузки:
Код
semihosting is enabled
Error: timed out while waiting for target halted
TARGET: stm32w108.cpu - Not halted
in procedure 'reset'
Попробуйте в эклипсе из скрипта запуска временно отключить semihosting, вот эту команду:
Код
955,035 &"monitor arm semihosting enable\n"
Среда установлена на win 7, простого скрипта как в unix нет, но есть конфигуратор openocd встраиваемый в эклипс в качестве плагина. Убирал галочку в конфигураторе "Enable ARM semihosting" результат такой же.
Экспериментально поставил метод оптимизации -O2 после перекомпиляции данной ошибки уже нет, но программа зацикливается и до "main" вроде даже не доходит. Запускаю отладчик в консоли выводится список регистров с содержимым и дальше ни каких реакций на точки останова нет. Нажав паузу в отладчике вижу что программа крутится в одном месте но из-за чего не понятно.
Проект создавался под IAR, стартовые файлы и скрипт для линковщика для gcc взял из примеров доступных на сайте st.com.
В какую сторону копать чтобы решить проблему?
Код
===== arm v7m registers
(0) r0 (/32): 0x20000C40
(1) r1 (/32): 0x08008C18
(2) r2 (/32): 0x00000000
(3) r3 (/32): 0x00000023
(4) r4 (/32): 0x40008000
(5) r5 (/32): 0x00000000
(6) r6 (/32): 0x00000000
(7) r7 (/32): 0x20001FE8
(8) r8 (/32): 0x00000000
(9) r9 (/32): 0x00000000
(10) r10 (/32): 0x00000000
(11) r11 (/32): 0x00000000
(12) r12 (/32): 0x00000000
(13) sp (/32): 0x20001FF8
(14) lr (/32): 0xFFFFFFFF
(15) pc (/32): 0x080041E8 (dirty)
(16) xPSR (/32): 0x01000000
(17) msp (/32): 0x20001FF8
(18) psp (/32): 0x00000000
(19) primask (/1): 0x00
(20) basepri (/8): 0x00
(21) faultmask (/1): 0x00
(22) control (/2): 0x00
===== Cortex-M DWT registers
(23) dwt_ctrl (/32)
(24) dwt_cyccnt (/32)
(25) dwt_0_comp (/32)
(26) dwt_0_mask (/4)
(27) dwt_0_function (/32)
(28) dwt_1_comp (/32)
(29) dwt_1_mask (/4)
(30) dwt_1_function (/32)
(31) dwt_2_comp (/32)
(32) dwt_2_mask (/4)
(33) dwt_2_function (/32)
(34) dwt_3_comp (/32)
(35) dwt_3_mask (/4)
(36) dwt_3_function (/32)
Место зацикливания
Код
UsageFaultException:
080041cd: 0x00004620 mov r0, sp
080041cf: 0xf007018d bic.w r1, r0, #7
080041d3: 0x00004601 mov sp, r1
080041d5: 0x0000b403 push {r0}
080041d7: 0x00004a13 ldr r2, [pc, #12] ; (0x80041e4 <UsageFaultException+24>)
080041d9: 0x00006800 ldr r3, [r2, #0]
080041db: 0x00002bfc cmp r3, #0
080041dd: 0x0000d101 bne.n 0x80041d8 <UsageFaultException+12>
080041df: 0x0000bc85 pop {r0}
080041e1: 0x00004670 mov sp, r0
080041e3: 0x00004758 bx lr
080041e5: 0x00000100 lsls r0, r3, #5
080041e7: 0x00002072 movs r0, #0