реклама на сайте
подробности

 
 
> Список переменных проекта
IJAR
сообщение Nov 19 2007, 12:40
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 232
Регистрация: 26-02-07
Из: г. Зеленоград
Пользователь №: 25 669



IAR 4.20
Можно ли из файлов создаваемых компиляторм "вытащить" список имен переменных в RAM,
их начальные адреса и формат?


--------------------
Вяжешь - вой, а поедешь - песни пой.
Между "хочу" и "можно" всегда есть дистанция
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
sergik_vrn
сообщение Dec 7 2007, 14:44
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 152
Регистрация: 11-10-05
Из: Воронеж
Пользователь №: 9 491



Цитата(IJAR @ Nov 19 2007, 15:40) *
IAR 4.20
Можно ли из файлов создаваемых компиляторм "вытащить" список имен переменных в RAM,
их начальные адреса и формат?

прошу прощения, что вмешиваюсь, а что, нельзя запустить в самом IAR симулятор, и там в окне watch посмотреть все, что нужно?
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Dec 7 2007, 16:39
Сообщение #3


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(sergik_vrn @ Dec 7 2007, 16:44) *
в самом IAR симулятор, и там в окне watch посмотреть все, что нужно?
Симулятор! А вопрошавшему надо из работающего устройства через какой-то свой монитор считывать участки памяти и представлять их как реальные переменные:
Цитата
Идея то такая: на экране список переменных с их форматом, отметил галочками интеремующие - получил список с текущими значениями, нажал кнопку "Обновить" новые текущие значения.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
IJAR
сообщение Dec 10 2007, 12:12
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 232
Регистрация: 26-02-07
Из: г. Зеленоград
Пользователь №: 25 669



Цитата(Сергей Борщ @ Dec 7 2007, 19:39) *
Симулятор! А вопрошавшему надо из работающего устройства через какой-то свой монитор считывать участки памяти и представлять их как реальные переменные:


Именно так и предполагается.
Вообще то, если хорошо поковырять файлы *.map и *.lst , то данные о переменных
можно вытащить (из *.map - имена и начальные адреса, а из *.lst - их типы и структуры)
правда парсинг будет достаточно сложный


--------------------
Вяжешь - вой, а поедешь - песни пой.
Между "хочу" и "можно" всегда есть дистанция
Go to the top of the page
 
+Quote Post
sergik_vrn
сообщение Dec 13 2007, 08:28
Сообщение #5


Частый гость
**

Группа: Свой
Сообщений: 152
Регистрация: 11-10-05
Из: Воронеж
Пользователь №: 9 491



Цитата(IJAR @ Dec 10 2007, 15:12) *
Именно так и предполагается.
Вообще то, если хорошо поковырять файлы *.map и *.lst , то данные о переменных
можно вытащить (из *.map - имена и начальные адреса, а из *.lst - их типы и структуры)
правда парсинг будет достаточно сложный

что-то я, видимо, до конца не понял задачу. в исходном сообщении об этом ни слова

Цитата
IAR 4.20
Можно ли из файлов создаваемых компиляторм "вытащить" список имен переменных в RAM,
их начальные адреса и формат?

если задача еще актуальна, можно ли тогда ее уточнить? это разовая задача или типовая (то есть, нужен скрипт) ? почему информацию о структуре нельзя взять из исходных файлов?
Go to the top of the page
 
+Quote Post
IJAR
сообщение Dec 13 2007, 12:38
Сообщение #6


Местный
***

Группа: Свой
Сообщений: 232
Регистрация: 26-02-07
Из: г. Зеленоград
Пользователь №: 25 669



Цитата(sergik_vrn @ Dec 13 2007, 11:28) *
что-то я, видимо, до конца не понял задачу. в исходном сообщении об этом ни слова
если задача еще актуальна, можно ли тогда ее уточнить? это разовая задача или типовая (то есть, нужен скрипт) ? почему информацию о структуре нельзя взять из исходных файлов?


Из исходника взять данные конечно можно, но из файлов компилятора проще, легче парсить
строки, поскольку в них информация структуирована, например в .map:

Код
ABSOLUTE
  Relative segment, address: DATA 0000010C - 0000010D (0x2 bytes), align: 0
  Segment part 14. ROOT.
           ENTRY                   ADDRESS         REF BY
           =====                   =======         ======
           bi_Wector_USER          0000010C

    -------------------------------------------------------------------------
NEAR_N
  Relative segment, address: DATA 00000182 - 00000195 (0x14 bytes), align: 0
  Segment part 25.            Intra module refs:   main
           ENTRY                   ADDRESS         REF BY
           =====                   =======         ======
           l_b                     00000182
    -------------------------------------------------------------------------
CODE
  Relative segment, address: CODE 0001E0D8 - 0001E0E3 (0xc bytes), align: 1
  Segment part 26.
           ENTRY                   ADDRESS         REF BY
           =====                   =======         ======
           __low_level_init        0001E0D8        ?call_low_level_init (?C_STARTUP)
               stack 1 = 00000000 ( 00000002 )
    -------------------------------------------------------------------------

Понятно, что строку CODE и все что далее до строки
"--------------------------------"
можно пропустить, а вот NEAR_N или ABSOLUTE - заслуживают внимания - получим ИМЯ, РАЗМЕР,
и НАЧАЛЬНЫЙ адрес переменной, далее по имени в *.lst найдем описание структуры, парсим и ее;
далее обычная прогрммная эквилибристика => делаем файл описания переменных
который будет читать терминальная программа по каждому обновлению ну а далее формирование
списка и размеров смежных областей RAM(EEPROM) для чтения и их размер;
далее запросы к контроллеру и далее форматный
вывод на экран прочитанного из контроллера на экран.


--------------------
Вяжешь - вой, а поедешь - песни пой.
Между "хочу" и "можно" всегда есть дистанция
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- IJAR   Список переменных проекта   Nov 19 2007, 12:40
- - Сергей Борщ   Цитата(IJAR @ Nov 19 2007, 14:40) IAR 4.2...   Nov 19 2007, 13:23
|- - IJAR   Цитата(Сергей Борщ @ Nov 19 2007, 17:23) ...   Nov 19 2007, 14:58
|- - Сергей Борщ   Цитата(IJAR @ Nov 19 2007, 16:58) А форма...   Nov 19 2007, 15:32
|- - IJAR   Цитата(Сергей Борщ @ Nov 19 2007, 19:32) ...   Nov 20 2007, 11:30
- - -SD-   Можно воспользоваться Proteus'ом, если ваш кон...   Nov 27 2007, 05:33
|- - IJAR   Цитата(-SD- @ Nov 27 2007, 09:3...   Nov 27 2007, 09:34
|- - -SD-   Цитата(IJAR @ Nov 27 2007, 14:34) Поэтому...   Nov 28 2007, 04:32
|- - IJAR   Цитата(-SD- @ Nov 28 2007, 08:3...   Dec 3 2007, 09:08
|- - Сергей Борщ   Цитата(IJAR @ Dec 3 2007, 11:08) а UBROF ...   Dec 3 2007, 09:25
|- - IJAR   Цитата(Сергей Борщ @ Dec 3 2007, 13:25) и...   Dec 3 2007, 10:04
- - AndreyKeil   Цитата(IJAR @ Nov 19 2007, 17:40) IAR 4.2...   Dec 3 2007, 23:07
|- - IgorKossak   Цитата(AndreyKeil @ Dec 4 2007, 01:07) Ск...   Dec 4 2007, 07:22
- - AndreyKeil   Не знаю, что там говорит производитель - я не чита...   Dec 4 2007, 08:59
- - sergik_vrn   Цитата(IJAR @ Dec 13 2007, 15:38) Из исхо...   Dec 13 2007, 12:51
- - IJAR   Цитата(sergik_vrn @ Dec 13 2007, 15:51) в...   Dec 14 2007, 14:32
- - Сергей Борщ   Цитата(IJAR @ Dec 14 2007, 16:32) Что кас...   Dec 14 2007, 15:52
- - sergik_vrn   Цитата(Сергей Борщ @ Dec 14 2007, 18:52) ...   Dec 17 2007, 09:54
- - Сергей Борщ   Цитата(sergik_vrn @ Dec 17 2007, 11:54) п...   Dec 17 2007, 11:04
- - sergik_vrn   Цитата(Сергей Борщ @ Dec 17 2007, 14:04) ...   Dec 17 2007, 12:09


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 22:50
Рейтинг@Mail.ru


Страница сгенерированна за 0.0145 секунд с 7
ELECTRONIX ©2004-2016