Снова mikroC

Поклонники продукции Microchip Technology Inc тусуются тут.
Аватара пользователя
Евгений Александров
Первый раз сказал Мяу!
Сообщения: 37
Зарегистрирован: Сб сен 21, 2013 21:56:24
Откуда: Madrid, España

Снова mikroC

Сообщение Евгений Александров »

Когда-то давно пробовал работать в mikroC. И даже многое получалось. :) И вот недавно снова потребовалось сделать несложную прошивку. И тут при попытке прошить контроллер выдается сообщение, что hex файл больше, чем память контроллера. При этом контроллер точно такой же, под который писалась прошивка, и в Proteus всё работает нормально. Сторонние hex файлы зашиваются нормально, проблемы только с файлами, скомпилированными в mikroC. Не могу понять, в чем же дело. Прошивал программатором PICkit (точнее его клоном).

В Протеусе всё работает, но выдает сообщение "Program or eeprom has invalid addres"
Wandal
Грызет канифоль
Сообщения: 260
Зарегистрирован: Сб окт 31, 2015 03:14:43

Re: Снова mikroC

Сообщение Wandal »

Проект выложи.
-=Vovka=-
Опытный кот
Сообщения: 844
Зарегистрирован: Пн апр 11, 2011 10:08:52

Re: Снова mikroC

Сообщение -=Vovka=- »

Когда-то давно пробовал работать в mikroC

Когда-то был довольно большой проект на PIC18F4520 - 32К практически под завязку. Все работало, но потребовалось изменить несколько констант в таблице (ничего не дописывалось, а только циферки менял) - после этого хоть и компилировалось без ошибок, но прошивка стала абсолютно не рабочей!!! Пришлось в срочном порядке переводить проект на хайтек. Больше я с микросями не связываюсь...
Аватара пользователя
Евгений Александров
Первый раз сказал Мяу!
Сообщения: 37
Зарегистрирован: Сб сен 21, 2013 21:56:24
Откуда: Madrid, España

Re: Снова mikroC

Сообщение Евгений Александров »

Решил для чистоты эксперимента взять один из примеров, идущих вместе с компилятором, и скомпилировать его, вообще ничего не меняя. Собрал схему на том МК, под который пример написан - всё то же самое. Полагаю, дело тут в самом микроС.
-=Vovka=-
Опытный кот
Сообщения: 844
Зарегистрирован: Пн апр 11, 2011 10:08:52

Re: Снова mikroC

Сообщение -=Vovka=- »

Ставьте ХС8
Аватара пользователя
Евгений Александров
Первый раз сказал Мяу!
Сообщения: 37
Зарегистрирован: Сб сен 21, 2013 21:56:24
Откуда: Madrid, España

Re: Снова mikroC

Сообщение Евгений Александров »

Перебросил проект на XC8, всё заработало, в любом случае спасибо за помощь
Аватара пользователя
MaxDaniel
Открыл глаза
Сообщения: 43
Зарегистрирован: Пн сен 16, 2019 10:55:22
Откуда: Владивосток

Re: Снова mikroC

Сообщение MaxDaniel »

Есть такая интересная вещь с МикроСи. Пишу, компилирую для пик18, объем порядка 8 кб. Если оптимизатор включен, то программу глючит и сбоит. Если оптимизатор кода установлен как зеро, проблем нет вовсе. Компилятор настоящий, полноразмерный и приобретенный. Объемов места в принципе хватает, и в оптимизаторе нет жесткой необходимости. Но все же. Хочется знать почему?
Если кто встречался с таким, скажите плиз в чем дело. Очередной глюк Микроси или я в чем-то не прав?
Аватара пользователя
Аlex
Модератор
Сообщения: 4614
Зарегистрирован: Чт мар 18, 2010 23:09:57
Откуда: Планета Земля
Контактная информация:

Re: Снова mikroC

Сообщение Аlex »

Экстрасенсы в отпуске....
Попробуйте написать в техподдержку продукта.
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: Снова mikroC

Сообщение ARV »

на счет конкретной реализации microC не скажу, но с подобными проблемами (влияние оптимизатора) не раз сталкивался сам, и не раз помогал другим разобраться: во всех известных мне случаях оптимизатор был не виноват, а виноват был программсит, который не до конца понимал, как работает оптимизатор. то есть программист писал код, который НЕ ДОЛЖЕН БЫЛ работать, а то, что ОН РАБОТАЛ БЕЗ ОПТИМИЗАТОРА, было побочным эффектом.

я не отрицаю возможность наличия багов в компиляторе, но пока что не встречал ни одного случая, когда баг на самом деле был бы обнаружен кем-то из местных форумчан (и не только местных)
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Аватара пользователя
ПростоНуб
Собутыльник Кота
Сообщения: 2723
Зарегистрирован: Пт сен 07, 2018 20:20:02
Откуда: деревня в Тульской губернии

Re: Снова mikroC

Сообщение ПростоНуб »

не встречал ни одного случая, когда баг на самом деле был бы обнаружен кем-то из местных форумчан

Ну значит уже встретили. И GCC у меня сам себя собирал неправильно при включенной оптимизации для конкретного AMD (уже не помню точно какого). Багрепорт был подтвержден. И в SDCC пару багов точно находил до версии 3.5, после которой заметно лучше код стал.
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: Снова mikroC

Сообщение ARV »

ПростоНуб писал(а):Ну значит уже встретили
хорошо, отмечу у себя в блокнотике и буду гордиться :)
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Аватара пользователя
alex_
Опытный кот
Сообщения: 781
Зарегистрирован: Сб июн 01, 2013 22:24:21
Откуда: ПФО

Re: Снова mikroC

Сообщение alex_ »

Я сижу на микроС и действительно приходиться бодаться с оптимизатором, закоментировал выдачу метки в уарт и он сволоч часть кода выкинул. Я долго понять не мог че за полтергейст.
Аватара пользователя
MaxDaniel
Открыл глаза
Сообщения: 43
Зарегистрирован: Пн сен 16, 2019 10:55:22
Откуда: Владивосток

Re: Снова mikroC

Сообщение MaxDaniel »

Ну что ж. Мои подозрения оправдываются. Компиляторы тоже не боги пишут, а вполне обычные люди и им свойственно ошибаться.
Ну а что касается ошибок моих, ну так и это нахожу даже в хорошо и давно работающих проектах. Нахожу, исправляю, снова нахожу. Оптимизатор разумеется самый лучше тот, который в голове у автора проекта. Без помощи оптимизации работает, а все остальное от лукавого. Спасибо откликнувшимся.
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: Снова mikroC

Сообщение ARV »

самое интересное, что "глючный" код мы так и не увидели, и вынуждены заочно согласиться с автором вопроса, что виноват оптимизатор/компилятор, а не он.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Аватара пользователя
MaxDaniel
Открыл глаза
Сообщения: 43
Зарегистрирован: Пн сен 16, 2019 10:55:22
Откуда: Владивосток

Re: Снова mikroC

Сообщение MaxDaniel »

Извините ребята, но программа представляет весьма специфический и глубоко коммерческий продукт и не подлежит оглашению в инете. Да и занимает кроме всего прочего 43 страницы мелким шрифтом на формате А4.
Если нет оптимизатора, то все отлично работает, а если включить любой, даже минимальный уровень оптимизации, то вдруг где-то перестает работать. Есть основания, что все-таки глючит компилятор. Я сам не готов сказать, где именно глючит, поскольку система работает автономно и системы сохранения состояния регистров процессора на момент формирования ошибки не имеет согласно технического задания.
-=Vovka=-
Опытный кот
Сообщения: 844
Зарегистрирован: Пн апр 11, 2011 10:08:52

Re: Снова mikroC

Сообщение -=Vovka=- »

И когда же вы все наиграетесь этим микроси и перейдете на нормальный продукт???
Аватара пользователя
MaxDaniel
Открыл глаза
Сообщения: 43
Зарегистрирован: Пн сен 16, 2019 10:55:22
Откуда: Владивосток

Re: Снова mikroC

Сообщение MaxDaniel »

Это типа на МикроСи нельзя сделать нормальный продукт? Да ладно. Пишет не язык а человек. Язык всего лишь инструмент и не более, способ реализации. И меня МикроСи устраивает, и получаемый продукт и его надежность устраивает моих клиентов. И им откровенно наплевать, на чем я пишу.
Аватара пользователя
alex_
Опытный кот
Сообщения: 781
Зарегистрирован: Сб июн 01, 2013 22:24:21
Откуда: ПФО

Re: Снова mikroC

Сообщение alex_ »

Ну почему нельзя, я же делаю. По поводу оптимизатора тут двоякое мнение т. е. 50% это косяк того кто пишет код так как в некоторых случаях оптимизатор считает код не идеальным и в некоторых случаях он действительно прав. У меня есть код который без оптимизации вообще не работает. А с другой стороны не зря придумали директиву Volatile
Аватара пользователя
ПростоНуб
Собутыльник Кота
Сообщения: 2723
Зарегистрирован: Пт сен 07, 2018 20:20:02
Откуда: деревня в Тульской губернии

Re: Снова mikroC

Сообщение ПростоНуб »

alex_, напомнило баг оптимизатора в SDCC 3.5 (или 3.6).

Код: Выделить всё

volatile int var;
...
void some_function(void) {
  var=0;
...
  if (var) {
    ...
  }
}

Оптимизатор радостно удалял if со всем содержимым, искренне считая, что var в этом месте всегда нулевой )))
Аватара пользователя
alex_
Опытный кот
Сообщения: 781
Зарегистрирован: Сб июн 01, 2013 22:24:21
Откуда: ПФО

Re: Снова mikroC

Сообщение alex_ »

Да это не баг совсем, если var=0; и до if (var) { оно не меняется, то действительно if (var) { нет смысла обрабатывать. Я так выкидываю участки кода когда они мне на данный момент не нужны.

Добавлено after 13 minutes 36 seconds:
И когда же вы все наиграетесь этим микроси и перейдете на нормальный продукт???

А многим этот продукт кажется вполне нормальным. Библиотек куча, в хелпе примеров море, которые просто копируешь и всё сразу работает. Да и при желании можно лицензию купить стоил относительно не дорого, это вам не IAR который хрен купишь :(
Ответить

Вернуться в «PIC»