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

Телесистемы | Электроника | Конференция «Микроконтроллеры и их применение»

Программа была "Hello world"?

Отправлено Шунт_гороховый 09 октября 2009, г. 17:44
В ответ на: Был опыт перехода с меги32 на МСП430 и потом с МСП430 обратно на at90can128. Заменить пришлось __flash на const и SwapNibl(как то так) на нормальный Сишный код. Ебстественно обработчики прерываний пришлось переписать, а всё остальное сожрало не подавившись. отправлено пользователем Trashy 09 октября 2009, г. 15:56

Любая программа, довольно сильно привязанная к железу МК, так легко не сдастся. Вы пробовали переводить программу с двухтаймерного микроконтроллера на однотаймерный, причём оба таймера в программе использовались? А ещё может понадобиться эмулировать UARTы из-за их нехватки в новом МК...

А бывают и реальные песцы. Предположим, есть некоторая глобальная переменная, используемая и в фоне, и в прерываниях. В первой версии программы (для старого МК) все операции с этой переменной (например, её инкремент) компилятор реализовывал атомарно, напр., одной инструкцией
inc [MyVar],
а для нового МК и нового компилятора эта же инструкция уже не будет атомарной, напр.,
mov Acc,[MyVar]
inc Acc
mov [MyVar],Acc
А вот вспомните ли Вы при переносе программы на новый МК эту особенность? Вряд ли. И обнаружится это не сразу, глючить будет нечасто, но регулярно.

Для себя я сделал вывод: программа для МК создаётся в контексте аппаратных особенностей железа МК и особенностей компилятора. Нет такого надёжного автоматического способа переноса программы с одного МК на другой, при котором Вам не пришлось бы просматривать КАЖДУЮ строчку Вашего кода. А раз так, то напишите программу заново, это не займёт много времени (т.к. перед Вами уже лежит "образец программы" для предыдущего МК), зато Вы будете гарантированы от глубоко запрятанных ошибок.


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

Ответы


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

Сообщение:

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

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

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

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