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

 
 
> IAR STM8, Краткий отчет
Dog Pawlowa
сообщение May 18 2010, 18:50
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823



Попробовал портировать проект с AVR (ATmega32) на STM8s(Discovery), пользуясь IAR STM8 full.

Портирование делалось в условиях одновременного открытия двух сред IAR AVR/STM8, работающих с одними и теми же файлами с условной компиляцией. Исправления, сделанные для портирования в одной среде, тут же проверялись перекомпиляцией в другой среде.

Заметки на полях в случайном порядке, работа не завершена, нужно дописать вызовы функций библиотеки для STM8, сейчас в коде есть заглушки.

1. __delay_cycles в STM8 отсутствует или не подключилась реализация встроенных функций.

2. Диагностика Pe228 "trailing comma" в STM8 отсутствует (в enum). Странно - разбор синтаксиса должен быть идентичен.

3. В файле stm8s.h нет определений векторов прерываний.
Определения векторов прерываний вообще-то находятся в файле iostm8.h, но, если его подключить, находящиеся в этом же файле определения битов конфликтуют с определениями в stm8s.h, который используется в примерах. В stm8s.h - маски, в iostm8.h - битовые структуры. Видимо, ИАР в ходе работ над компилятором перешел на маски, которые используются в библиотеках от ST для STM8. Пришлось указать определения векторов в своих файлах.

4. При ошибках с векторами прерываний происходит внутренняя ошибка компилятора без указания строки ошибки исходника текста!
Очень неприятно, но с MSP430 бывало и хуже - когда из-за ошибок синтаксиса падала среда.

5. Предупреждение Pe083 (type qualifier specified more than once) при генерации массивов с помощью макросов - вылазит только при компиляции оригинального текста, компиляция результата препроцессора проходит без проблем. К сожалению, этот кусок не поддается анализу в трезвом виде.
Речь идет о __flash/const, для STM8 препроцессор должен заменить __flash на const, для AVR - наоборот. Насколько я помню, такой трюк для AVR<>MSP430 проходил без проблем.

6. __enable_interrupt() __disable_interrupt() не выделяет синеньким(что тоже странно), но по крайней мере ошибку не выдает.

7. Линкер не создает HEX-файл.

8. Размер кода
STM8: 14189 3438 1038 (ro code ro data rw data )

AVR: 16060 1850 45
+ common 64
16 100 bytes of CODE memory (+ 24 range fill )
1 850 bytes of DATA memory (+ 45 absolute )

Непонятна такая разница в размере ОЗУ, буду разбираться, все ли указатели оказались во флэши.
Объем кода и констант выглядит равным, с учетом того, что библиотеки подключены не полностью.


--------------------
Уходя, оставьте свет...
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Dog Pawlowa   IAR STM8   May 18 2010, 18:50
- - topkin   Тоже интересуюсь STM8. Вообще их фирмваре библиоте...   May 19 2010, 06:37
|- - demiurg_spb   Хороший отчёт! Но похоже пока сыроват этот тул...   May 19 2010, 09:27
|- - Stanislav_S   Спасибо за отчет! сам сейчас буду переводить п...   May 19 2010, 09:51
|- - _Bill   Цитата(Stanislav_S @ May 19 2010, 13:51) ...   May 19 2010, 10:58
|- - Stanislav_S   Цитата(_Bill @ May 19 2010, 15:58) Я проб...   May 19 2010, 13:24
|- - Dog Pawlowa   Цитата(Stanislav_S @ May 19 2010, 16:24) ...   May 19 2010, 14:55
|- - _Bill   Цитата(Dog Pawlowa @ May 19 2010, 18:55) ...   May 19 2010, 17:27
|- - Fktrctq   Разработчики IAR сами портировали библиотеку STM8 ...   Dec 5 2010, 08:44
|- - Dog Pawlowa   Цитата(Fktrctq @ Dec 5 2010, 11:44) Это к...   Dec 5 2010, 15:58
|- - rezident   Цитата(Fktrctq @ Dec 5 2010, 13:44) особе...   Dec 5 2010, 17:02
- - Fktrctq   Аналогия не совсем корректна, в приведенном Вами п...   Dec 5 2010, 18:28
|- - Dog Pawlowa   Цитата(Fktrctq @ Dec 5 2010, 22:28) но за...   Dec 5 2010, 18:39
- - Fktrctq   Это все конечно понятно, но дело вот в чем: 1. Зач...   Dec 5 2010, 19:03
- - Dog Pawlowa   Проявился неприятный эффект неполного попадания вс...   Apr 19 2012, 13:01
- - scifi   Цитата(Dog Pawlowa @ Apr 19 2012, 17:01) ...   Apr 19 2012, 13:19


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

 


RSS Текстовая версия Сейчас: 3rd August 2025 - 11:03
Рейтинг@Mail.ru


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