Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Ошибки компилятора Hi-Tech C Pro
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Все остальные микроконтроллеры > PIC
KanKan
Делал тут проект на PIC16F724 и Hi-Tech C Pro 9.60PL3 for Pic 10/12/16...
Это фактически первый опыт с PIC и Hi-Tech. Форум почитать не успел и по незнанию взял эту Pro версию компилятора а не Std. Думал если Pro то лучше smile.gif В результате вместно недели провозился две или три.

Вот решил поделиться:

Версия C Pro PL3 for PIC 10/12/16 доступная с htsoft.com совсем старая и глюкавая.
Для PIC16F72x например, были неправильно заданы биты в регистрах TXSTA и OSCCON и куча других проблем.

На их форуме в разделе "PICmicro & dsPIC >> Known Issues and Support Patches" (нужна регистрация) раздают 9.60PL3 build 3206 в котором многоее исправлено, но даже в нем за неделю нашлось порядка пяти ошибок:

1) Не работает вычитание двух переменных long с присвоением члену структуры
st.X = A - B; // A,B,X - объявлены long

2) Не всегда генерится правильный bank select при доступе к битфилду в структуре (MyStruct.bit1=0).

3) При использовании более сложных/вложеных комбинаций struct и union, получившаяся структура некорректно отображается в окне Watch при отладке в MPLAB.

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

Техподдержка у них конечно на высоте. При наличии лицензии, отправишь баг-репорт и в течение суток присылают исправление (на форум не выкладывают). Но уж слишком много в этом Pro проблем.
DenisIV
Цитата(KanKan @ Nov 30 2008, 04:08) *
Делал тут проект на PIC16F724 и Hi-Tech C Pro 9.60PL3 for Pic 10/12/16...
Это фактически первый опыт с PIC и Hi-Tech. Форум почитать не успел и по незнанию взял эту Pro версию компилятора а не Std. Думал если Pro то лучше smile.gif В результате вместно недели провозился две или три.

Вот решил поделиться:

Версия C Pro PL3 for PIC 10/12/16 доступная с htsoft.com совсем старая и глюкавая.
Для PIC16F72x например, были неправильно заданы биты в регистрах TXSTA и OSCCON и куча других проблем.


Я им недавно прислал баг репорт по этим и многим другим глюкам, а они на всякий случай мне прислали picc pro 9.60 PL4 build 3452.
Сказали мол, получше будет. Проверил-действительно так. Правда оптимизация и т.д. - процесс вечный, зато сдвиги есть. Глюков глобальных пока не нашел. Так что рекомендую.
Жалко, что я не доктор, приходится в Lite mode работать... Ну, я думаю, аптекари найдутся...
dac
Цитата(KanKan @ Nov 30 2008, 06:08) *
взял эту Pro версию компилятора а не Std. Думал если Pro то лучше smile.gif


тоже так думал smile.gif в итоге сижу на 9.51пл1стд или 9.50пл3 - имхо наиболее безглючные версии
KanKan
Последняя что мне присылали была Pro LP4.3418, надо новую попросить.

Думал на std перейти, но вроде теперь и так (на Про) работает.
Да и как-то неудобно начальству говорить... контора за Про лицензию уже заплатила, а выбирал компилятор я smile.gif
DenisIV
3418 не пользовался, но после 3452 внимательно изучал асм код - тут уж они постарались! Хотя с оптимизацией я считаю, 1-2 % можно и улучшить. (Они, приколисты даже комментарии в асме писать стали - что делает данная команда. Прикольно smile.gif )
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.