ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Вторник
26 ноября
1020413
Гyдвин, волшебник (23.07.2020 15:52, просмотров: 49826)
В Keil v5 наткнулся на грабли: Какого-то хрена компилятор вызывает не ту функцию, что требуется (похоже втуливает что то с выравниванием 4). В результате hard fault... Как лечить? 
memcpy((void*)&IH.conag,(void*)&buffer[32],(4+2+7)); // 13 байт

keil v4 ok:
0x00012D18 220D      MOVS     r2,#0x0D
0x00012D1A 4986      LDR      r1,[pc,#536]  ; @0x00012F34
0x00012D1C 3120      ADDS     r1,r1,#0x20
0x00012D1E 4886      LDR      r0,[pc,#536]  ; @0x00012F38
0x00012D20 F006FD85  BL.W     __aeabi_memcpy (0x0001982E)

keil v5  err:
0x00012CF8 220D      MOVS     r2,#0x0D
0x00012CFA 4993      LDR      r1,[pc,#588]  ; @0x00012F48
0x00012CFC 3120      ADDS     r1,r1,#0x20
0x00012CFE 4893      LDR      r0,[pc,#588]  ; @0x00012F4C
0x00012D00 F006FDB4  BL.W     __aeabi_memcpy4 (0x0001986C)