borland symbols + VisualDSP++ symbols

Тема в разделе "WASM.ELECTRONICS", создана пользователем Dukales, 3 апр 2011.

  1. Dukales

    Dukales New Member

    Публикаций:
    0
    Регистрация:
    5 июл 2009
    Сообщения:
    199
    Как распарсить файл .tds Borland C++ Builder 6.0?
    Поясню (а то скажете, что не в тему WASM.ELECTRONICS =)):
    Есть проект для нижнего уровня - это простой проект под VisualDSP++ 5.0. Обмен с верхним уровнем (написанным под Borland C++ Builder 6.0) по MODBUS RTU. Проекты как для нижнего уровня так и для верхнего имеют общие .h и .cpp файлы (с определениями типов typedef и т.п.). Файлы содержат определения глобальных переменных (через extern в .h файле), которые изменяются на верхнем уровне и на нижнем уровне и эти изменения синхронизируются посредством обмена по протоколу MODBUS (размер их 12kB+). Переменных несколько и не все они лежат в непрерывном участке памяти в 64k слов. Поэтому реализованы дополнительные команды MODBUS (№70 и №71 например) для изменения базового адреса MODBUS на нижнем уровне, чтобы устанавливался на первый байт нужного символа. Адрес символа извлекается из .map.xml файла (опция Generate symbol map в VisualDSP++) с помощью распарсивания посредством tinyxml. Так вот хотелось бы получать адрес символа на верхнем уровне тоже распарсив map-файл .tds. Единообразно. (Да и вообще просто по имени - динамически - как-то более женерно было бы).
    Нигде не нашёл описание формата файла .tds. Помогите пожалуйста?
     
  2. Dukales

    Dukales New Member

    Публикаций:
    0
    Регистрация:
    5 июл 2009
    Сообщения:
    199
    Если была бы такая возможность, то можно было бы с помощью прикручивания простых скриптов (например Lua) изменять функциональность программы верхнего уровня кардинально.
     
  3. Dukales

    Dukales New Member

    Публикаций:
    0
    Регистрация:
    5 июл 2009
    Сообщения:
    199
    Нашёл tdump, но в ней не все символы описываются в её выводе