Hello Chris, update. If I disable cache completely then I find code relocated right at the given address
On Thursday 19 of May 2016 14:50:55 Pavel Pisa wrote: > All seem to be right to this place but when I disassemble target > function I get > > 0x1cb018: push {r4, r5, r6, r7, r8, lr} > 0x1cb01c: mov r7, r0 > 0x1cb020: mov r6, r1 > 0x1cb024: ldr r0, [pc, #64] ; 0x1cb06c > 0x1cb028: ldr r1, [r1] > 0x1cb02c: bl 0x1cb02c > !!!!!!!!!!!!!!! > 0x1cb030: cmp r7, #1 > 0x1cb034: ble 0x1cb064 > 0x1cb038: mov r5, r6 > 0x1cb03c: mov r4, #1 > > It seem that call to printf function is not updated. 0x1cb018: push {r4, r5, r6, r7, r8, lr} 0x1cb01c: mov r7, r0 0x1cb020: mov r6, r1 0x1cb024: ldr r0, [pc, #64] ; 0x1cb06c 0x1cb028: ldr r1, [r1] 0x1cb02c: bl 0x73058 <printf> 0x1cb030: cmp r7, #1 0x1cb034: ble 0x1cb064 0x1cb038: mov r5, r6 0x1cb03c: mov r4, #1 So it seems that update does not get into instruction cache if cache is enabled and because I read not updated code even by debugger I expect that it is lost even from data cache. It seems like there is missing clear cache operation before cache invalidate and cache invalidate does not apply only to instructions but even to the data one. Or there is missing drain data buffer. Best wishes, Pavel _______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel