ВходНаше всё Теги codebook PARTS Поиск Опросы Закон Воскресенье
17 января
/1051365
BlackMorda, бабуин (08.12.2020 09:54, просмотров: 161)
J-scope не хочет видеть переменнную. Решено на половину 

Нужно наложить заплатку на код.

Для исследования прикрутил пару байт "своих".


В мап файле:

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++;
}
Ответить