Нужно наложить заплатку на код.
Для исследования прикрутил пару байт "своих".
В мап файле:
Entry Address Size Type Object
----- ------- ---- ---- ------
byte_2000009E 0x20000000 Data Gb
38 560 bytes of readonly code memory
1 byte of readwrite data memory
В листинге тоже есть:
17686 ALIGNROM 2
17687 THUMB
17688 0000968C DFF80420 LDR.W R2, =byte_2000009E
17689 00009690 1068 LDR R0, [R2]
После прошивки, видно дизассемблером встроенным в IAR, что код в чипе есть.
Посмотрел ELF файл текстовым редактором - байт byte_2000009E присутствует
А вот J-scope не предлагает ее к просмотру при вызове пункта меню "Добавить переменную"
:-(
Решение:
К проекту добавляется файл исходного кода на С и переменная с конкретным адресом.
Теперь можно наблюдать за переменными чужой программы.
extern volatile int byte_2000009E; volatile __no_init char Voltmetr_correction @0x14; void change_char(int action) { if (action ==0) byte_2000009E--; else byte_2000009E++; if ((byte_2000009E & 0xFF) == 0) Voltmetr_correction++; }