Телесистемы
 Разработка, производство и продажа радиоэлектронной аппаратуры
На главную   | Карта сайта | Пишите нам | В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:jobsmp@pochta.ru

Телесистемы | Электроника | Конференция «Цифровые сигнальные процессоры (DSP) и их применение»

Кто умеет комплировать программы контроллеров 280х в версиях CGT с 5.1, разделяя программу на FLASH+RAM ?

Отправлено Ушаков Михаил (62.220.32.86) 08 января 2010, г. 19:06


При отладке большой программы часть отлаженных модулей можно держать во FLASH. Но обязательно
следует выполнить условие: функции, отправленные во FLASH не должны вызывать функций, находящихся в RAM.
Иначе после модификации программы, как правило, изменяются адреса вызова функций, и тогда код во FLASH
также изменяется и её придётся перепрограммировать.

Перешёл с CGT 5.1.4 назад на 5.0.2 несмотря на появившуюся возможность условной компиляции в файлах .cmd.
Это позволяет легко переключаться с отладочного варианта распределения памяти (часть кода программы в RAM )
на только FLASH путём активации или запрета единственной строки в файле .cmd (к примеру:
#define FUNC_TO_RAM_DEBUG).
Правда, константы, определенные в .c / .h - файлах не могут использоваться в файлах .cmd
(или, по крайней мере, я не знаю как это делать), но это не столь существенно и можно пережить.
Причина обратного перехода: новый Linker игнорирует предлагаемый порядок сборки проекта и при расположении
программы во FLASH+RAM (при отладке) каждый раз требуется перешивать FLASH, что не есть хорошо (теряется смысл
делить программу на отлаживаемые модули и держать их в ОЗУ).
У меня установлен порядок: сначала main.c (см. закладку Link Order для установки порядка). При правильном
исходе main.obj попадает в RAM с самого начала блока, отведенного для программы (0x8000), т.е. всякий раз
этот адрес один и тот же. Этот ход сделан в угоду модулю args_main.obj из библиотеки rts2800_ml.lib,
передающему управление функции main().
Удивительно, но новые CGT с 5.1 игнорируют предлагаемый порядок сборки проекта и модуль main.obj после модификации
программы оказывается на новом месте. Писать на Texas Ins. пробовал, правда на другую тему. Сказали, что исправим,
но "воз и ныне там"... Повторно стучаться в глухую стену желания нету...

Если вы - "Ушаков Михаил", то можете присоединить файл к сообщению.

Имя*:    Пароль*: 
Максимальный размер файла: 65536 байт.
Разрешённые форматы: png gif pdf jpg jpeg zip rar

(* - обязательные поля)


Составить ответ | Вернуться на конференцию

Ответы


Отправка ответа
Имя*: 
Пароль: 
E-mail: 
Тема*:

Сообщение:

Ссылка на URL: 
URL изображения: 

если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
поделите двойку на единицу:

Перейти к списку ответов | Конференция | Раздел "Электроника" | Главная страница | Карта сайта

Rambler's Top100 Рейтинг@Mail.ru
 
Web telesys.ru