В Протеусе всё работает, но выдает сообщение "Program or eeprom has invalid addres"
Снова mikroC
- Евгений Александров
- Первый раз сказал Мяу!
- Сообщения: 37
- Зарегистрирован: Сб сен 21, 2013 21:56:24
- Откуда: Madrid, España
Снова mikroC
Когда-то давно пробовал работать в mikroC. И даже многое получалось.
И вот недавно снова потребовалось сделать несложную прошивку. И тут при попытке прошить контроллер выдается сообщение, что hex файл больше, чем память контроллера. При этом контроллер точно такой же, под который писалась прошивка, и в Proteus всё работает нормально. Сторонние hex файлы зашиваются нормально, проблемы только с файлами, скомпилированными в mikroC. Не могу понять, в чем же дело. Прошивал программатором PICkit (точнее его клоном).
В Протеусе всё работает, но выдает сообщение "Program or eeprom has invalid addres"
В Протеусе всё работает, но выдает сообщение "Program or eeprom has invalid addres"
Re: Снова mikroC
Проект выложи.
Re: Снова mikroC
Когда-то давно пробовал работать в mikroC
Когда-то был довольно большой проект на PIC18F4520 - 32К практически под завязку. Все работало, но потребовалось изменить несколько констант в таблице (ничего не дописывалось, а только циферки менял) - после этого хоть и компилировалось без ошибок, но прошивка стала абсолютно не рабочей!!! Пришлось в срочном порядке переводить проект на хайтек. Больше я с микросями не связываюсь...
- Евгений Александров
- Первый раз сказал Мяу!
- Сообщения: 37
- Зарегистрирован: Сб сен 21, 2013 21:56:24
- Откуда: Madrid, España
Re: Снова mikroC
Решил для чистоты эксперимента взять один из примеров, идущих вместе с компилятором, и скомпилировать его, вообще ничего не меняя. Собрал схему на том МК, под который пример написан - всё то же самое. Полагаю, дело тут в самом микроС.
Re: Снова mikroC
Ставьте ХС8
- Евгений Александров
- Первый раз сказал Мяу!
- Сообщения: 37
- Зарегистрирован: Сб сен 21, 2013 21:56:24
- Откуда: Madrid, España
Re: Снова mikroC
Перебросил проект на XC8, всё заработало, в любом случае спасибо за помощь
Re: Снова mikroC
Есть такая интересная вещь с МикроСи. Пишу, компилирую для пик18, объем порядка 8 кб. Если оптимизатор включен, то программу глючит и сбоит. Если оптимизатор кода установлен как зеро, проблем нет вовсе. Компилятор настоящий, полноразмерный и приобретенный. Объемов места в принципе хватает, и в оптимизаторе нет жесткой необходимости. Но все же. Хочется знать почему?
Если кто встречался с таким, скажите плиз в чем дело. Очередной глюк Микроси или я в чем-то не прав?
Если кто встречался с таким, скажите плиз в чем дело. Очередной глюк Микроси или я в чем-то не прав?
- Аlex
- Модератор
- Сообщения: 4614
- Зарегистрирован: Чт мар 18, 2010 23:09:57
- Откуда: Планета Земля
- Контактная информация:
Re: Снова mikroC
Экстрасенсы в отпуске....
Попробуйте написать в техподдержку продукта.
Попробуйте написать в техподдержку продукта.
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18544
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Re: Снова mikroC
на счет конкретной реализации microC не скажу, но с подобными проблемами (влияние оптимизатора) не раз сталкивался сам, и не раз помогал другим разобраться: во всех известных мне случаях оптимизатор был не виноват, а виноват был программсит, который не до конца понимал, как работает оптимизатор. то есть программист писал код, который НЕ ДОЛЖЕН БЫЛ работать, а то, что ОН РАБОТАЛ БЕЗ ОПТИМИЗАТОРА, было побочным эффектом.
я не отрицаю возможность наличия багов в компиляторе, но пока что не встречал ни одного случая, когда баг на самом деле был бы обнаружен кем-то из местных форумчан (и не только местных)
я не отрицаю возможность наличия багов в компиляторе, но пока что не встречал ни одного случая, когда баг на самом деле был бы обнаружен кем-то из местных форумчан (и не только местных)
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
- ПростоНуб
- Собутыльник Кота
- Сообщения: 2723
- Зарегистрирован: Пт сен 07, 2018 20:20:02
- Откуда: деревня в Тульской губернии
Re: Снова mikroC
не встречал ни одного случая, когда баг на самом деле был бы обнаружен кем-то из местных форумчан
Ну значит уже встретили. И GCC у меня сам себя собирал неправильно при включенной оптимизации для конкретного AMD (уже не помню точно какого). Багрепорт был подтвержден. И в SDCC пару багов точно находил до версии 3.5, после которой заметно лучше код стал.
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18544
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Re: Снова mikroC
хорошо, отмечу у себя в блокнотике и буду гордитьсяПростоНуб писал(а):Ну значит уже встретили
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
Re: Снова mikroC
Я сижу на микроС и действительно приходиться бодаться с оптимизатором, закоментировал выдачу метки в уарт и он сволоч часть кода выкинул. Я долго понять не мог че за полтергейст.
Re: Снова mikroC
Ну что ж. Мои подозрения оправдываются. Компиляторы тоже не боги пишут, а вполне обычные люди и им свойственно ошибаться.
Ну а что касается ошибок моих, ну так и это нахожу даже в хорошо и давно работающих проектах. Нахожу, исправляю, снова нахожу. Оптимизатор разумеется самый лучше тот, который в голове у автора проекта. Без помощи оптимизации работает, а все остальное от лукавого. Спасибо откликнувшимся.
Ну а что касается ошибок моих, ну так и это нахожу даже в хорошо и давно работающих проектах. Нахожу, исправляю, снова нахожу. Оптимизатор разумеется самый лучше тот, который в голове у автора проекта. Без помощи оптимизации работает, а все остальное от лукавого. Спасибо откликнувшимся.
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18544
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Re: Снова mikroC
самое интересное, что "глючный" код мы так и не увидели, и вынуждены заочно согласиться с автором вопроса, что виноват оптимизатор/компилятор, а не он.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
Re: Снова mikroC
Извините ребята, но программа представляет весьма специфический и глубоко коммерческий продукт и не подлежит оглашению в инете. Да и занимает кроме всего прочего 43 страницы мелким шрифтом на формате А4.
Если нет оптимизатора, то все отлично работает, а если включить любой, даже минимальный уровень оптимизации, то вдруг где-то перестает работать. Есть основания, что все-таки глючит компилятор. Я сам не готов сказать, где именно глючит, поскольку система работает автономно и системы сохранения состояния регистров процессора на момент формирования ошибки не имеет согласно технического задания.
Если нет оптимизатора, то все отлично работает, а если включить любой, даже минимальный уровень оптимизации, то вдруг где-то перестает работать. Есть основания, что все-таки глючит компилятор. Я сам не готов сказать, где именно глючит, поскольку система работает автономно и системы сохранения состояния регистров процессора на момент формирования ошибки не имеет согласно технического задания.
Re: Снова mikroC
И когда же вы все наиграетесь этим микроси и перейдете на нормальный продукт???
Re: Снова mikroC
Это типа на МикроСи нельзя сделать нормальный продукт? Да ладно. Пишет не язык а человек. Язык всего лишь инструмент и не более, способ реализации. И меня МикроСи устраивает, и получаемый продукт и его надежность устраивает моих клиентов. И им откровенно наплевать, на чем я пишу.
Re: Снова mikroC
Ну почему нельзя, я же делаю. По поводу оптимизатора тут двоякое мнение т. е. 50% это косяк того кто пишет код так как в некоторых случаях оптимизатор считает код не идеальным и в некоторых случаях он действительно прав. У меня есть код который без оптимизации вообще не работает. А с другой стороны не зря придумали директиву Volatile
- ПростоНуб
- Собутыльник Кота
- Сообщения: 2723
- Зарегистрирован: Пт сен 07, 2018 20:20:02
- Откуда: деревня в Тульской губернии
Re: Снова mikroC
alex_, напомнило баг оптимизатора в SDCC 3.5 (или 3.6).
Оптимизатор радостно удалял if со всем содержимым, искренне считая, что var в этом месте всегда нулевой )))
Код: Выделить всё
volatile int var;
...
void some_function(void) {
var=0;
...
if (var) {
...
}
}
Оптимизатор радостно удалял if со всем содержимым, искренне считая, что var в этом месте всегда нулевой )))
Re: Снова mikroC
Да это не баг совсем, если var=0; и до if (var) { оно не меняется, то действительно if (var) { нет смысла обрабатывать. Я так выкидываю участки кода когда они мне на данный момент не нужны.
Добавлено after 13 minutes 36 seconds:
А многим этот продукт кажется вполне нормальным. Библиотек куча, в хелпе примеров море, которые просто копируешь и всё сразу работает. Да и при желании можно лицензию купить стоил относительно не дорого, это вам не IAR который хрен купишь
Добавлено after 13 minutes 36 seconds:
И когда же вы все наиграетесь этим микроси и перейдете на нормальный продукт???
А многим этот продукт кажется вполне нормальным. Библиотек куча, в хелпе примеров море, которые просто копируешь и всё сразу работает. Да и при желании можно лицензию купить стоил относительно не дорого, это вам не IAR который хрен купишь