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

 
 
> Изменения в *.h в IAR EW430 5.10.6
=DS=
сообщение Nov 8 2010, 18:35
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 54
Регистрация: 25-09-07
Пользователь №: 30 836



Никто не знает, с какого бодуна ИАРовцы решили поменять структуру заголовочных файлов (io430***.h) в новой версии 5.10.6? Сегодня накатил sp6 и вдруг компилятор перестал понимать, что такое UCMST. Полез в io430x26x.h (текуший мой камень), а там выкинута куча #define, частично заменены на struct + enum, причем сделано все через ж... Тот же USMST в UCB0CTL0 переименовали в UCB0MST. а в UCB1CTL0 оставили как USMST, зачем-то ввели для UCB0CTL0 еще одно определение UCB0CTL0__SPI ... В общем, ляпов там выше крыши. Бегло сравнил размеры файлов в INC с предыдщей версией, изменений довольно много. Кто нибудь еще сталкивался с этим? Это у ИАРа идейное (типа, избавляемся от #define, переходим на enum) или просто ляп? Я бы просто откатился назад, но в этой версии появились удобные штучки типа __persistent, __ro_placement... Так что просто подставил старый .h из sp4, но оно не кошерно как-то...
ЗЫ: Не знаю, куда было правильнее поместить тему - в ИАР или МСП, но все-таки ближе к МСП, по-моему.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Xenia
сообщение Jan 19 2011, 01:02
Сообщение #2


Гуру
******

Группа: Модератор FTP
Сообщений: 4 479
Регистрация: 20-02-08
Из: Москва
Пользователь №: 35 237



Цитата(=DS= @ Nov 8 2010, 21:35) *
Никто не знает, с какого бодуна ИАРовцы решили поменять структуру заголовочных файлов (io430***.h) в новой версии 5.10.6? Сегодня накатил sp6 и вдруг компилятор перестал понимать, что такое UCMST. Полез в io430x26x.h (текуший мой камень), а там выкинута куча #define, частично заменены на struct + enum, причем сделано все через ж... Тот же USMST в UCB0CTL0 переименовали в UCB0MST. а в UCB1CTL0 оставили как USMST, зачем-то ввели для UCB0CTL0 еще одно определение UCB0CTL0__SPI ...

Замена дефайнов на структуры - прогрессивное явление. Дикий атавизм, работая на языке C, с присущей ему системой структур, поддерживающих битовые поля, пользоваться масками, получаемых сдвигом единички влево sm.gif.

Однако, как правило, IAR не искореняет такие дефайны на корню, а создает структуры параллельно старым децинициям, в которых имя бита отождествляется с его номером в байте порта. Поэтому можно писать и так и эдак, если присоединить нужный хидер.

А вот изменение имен битов в портах - это действительно очень болезненно. Старые проекты перестают при этом компилироваться, а переименование имен битов, порой весьма трудоемко и запутанно. В свое время IAR переименовала несколько штук битов в области USB-регистров у AT90USB647, причем таких, назначение которых я не слишком хорошо понимала sm.gif. Из-за этого я была просто вне себя от ярости, ругая IAR на чем свет стоит. Пришлось составлять таблицу соответствия старых и новых названий. При этом оказалось, что в даташите на МК как раз использованы НОВЫЕ названия! Тут-то я и осеклась...

Я не в курсе в отношении MSP430-x, но в отношении моего МК удалось выяснить, что компилятор у IAR зачастую появляется еще загодя, когда МК не только еще не появился в продаже, но и даже тогда, когда на него нет даташита. При этом IAR частенько использует хидеры от AVR Studio, переделывая их под себя. А когда выходят на свет даташиты, то некоторые биты в них оказываются названы по-другому. А то случается и так, что такие переименования происходят при появлении даташита новой ревизии. Такая же история повторилась с AT32UC3C (это архитектура AVR32), когда появились новые регистры, а старые сдвинулись со своих мест вместе с ножками sm.gif по сравнению с UC3A. А ныне грядет внедрение USB в новые модели ATxmega128A1U и ATxmega128B1, тогда как раньше у Xmega USB не было. Надо полагать, что снова начнется чехарда и именами битов, которых у USB-интефейса видимо-невидимо.

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

При этом проще достигается масштабирование, когда МК заменяют другим, с большей памятью. В таких ситуациях нередки случаи, когда какие-то регистры переезжают на другое место. И тут было затруднительно работать с хидерами, определяющими фиксированные адреса и биты. Тогда как с символьными именами проект требует простой перекомпиляции с другим хидером.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- =DS=   Изменения в *.h в IAR EW430 5.10.6   Nov 8 2010, 18:35
- - rezident   Всю жизнь с начала освоения MSP430 пользуюсь хедер...   Nov 8 2010, 18:57
|- - =DS=   Цитата(rezident @ Nov 8 2010, 21:57) Всю ...   Nov 8 2010, 19:14
|- - rezident   Цитата(=DS= @ Nov 9 2010, 00:14) У них то...   Nov 8 2010, 19:19
|- - =DS=   Цитата(rezident @ Nov 8 2010, 22:19) Нафи...   Nov 8 2010, 19:28
|- - kriv-73   Цитата(rezident @ Nov 8 2010, 22:19) Я пи...   Jan 18 2011, 19:15
|- - Сергей Борщ   QUOTE (Xenia @ Jan 19 2011, 03:02) Замена...   Jan 19 2011, 09:49
|- - jorikdima   Цитата(Сергей Борщ @ Jan 19 2011, 12:49) ...   Jan 19 2011, 15:46
|- - AHTOXA   Цитата(jorikdima @ Jan 19 2011, 20:46) Ко...   Jan 19 2011, 17:08
|- - Xenia   Цитата(AHTOXA @ Jan 19 2011, 20:08) Компи...   Jan 19 2011, 19:39
||- - sonycman   Цитата(Xenia @ Jan 19 2011, 22:39) Если б...   Jan 19 2011, 20:10
||- - =DS=   Цитата(Xenia @ Jan 19 2011, 22:39) Именно...   Jan 20 2011, 01:56
|- - zltigo   QUOTE (AHTOXA @ Jan 19 2011, 20:08) Поэто...   Jan 20 2011, 08:13
|- - jorikdima   Цитата(AHTOXA @ Jan 19 2011, 20:08) Компи...   Jan 20 2011, 09:42
- - Dog Pawlowa   Ну, свой хедер может и перебор, но по крайней мере...   Jan 20 2011, 08:58
|- - zltigo   QUOTE (Dog Pawlowa @ Jan 20 2011, 11:58) ...   Jan 20 2011, 10:03
|- - Dog Pawlowa   Цитата(zltigo @ Jan 20 2011, 13:03) однот...   Jan 20 2011, 11:10
|- - zltigo   QUOTE (Dog Pawlowa @ Jan 20 2011, 14:10) ...   Jan 20 2011, 11:16
- - Desperanto   а проекты созданные в 5.1 в 4.20 все же придется п...   Feb 18 2011, 08:33
- - zltigo   QUOTE (Desperanto @ Feb 18 2011, 11:33) а...   Feb 18 2011, 11:02
- - Dog Pawlowa   Цитата(Desperanto @ Feb 18 2011, 11:33) а...   Feb 18 2011, 14:57


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

 


RSS Текстовая версия Сейчас: 30th July 2025 - 14:00
Рейтинг@Mail.ru


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