Миландр

Ключевым подразделением нашей компании
является Центр Проектирования интегральных микросхем
Текущее время: 2020-окт-27 09:27

Часовой пояс: UTC+03:00




Начать новую тему  Ответить на тему  [ 90 сообщений ]  На страницу « 1 2 3 4 5 6 »
Автор Сообщение
 Заголовок сообщения:
СообщениеДобавлено: 2010-июн-24 17:34 
Не в сети

Зарегистрирован: 2009-дек-14 15:37
Сообщения: 2
Будьте любезны, подскажите что значит ошибка компилятора
Undefined instruction: 'MOVF' ?

и почему она undefined?

Спасибо.


Вернуться к началу
 Заголовок сообщения:
СообщениеДобавлено: 2010-июн-25 20:15 
Не в сети

Зарегистрирован: 2010-янв-08 02:11
Сообщения: 23
Откуда: Азов
Здравствуйте Дмитрий.
Сообщение Undefined instruction: 'MOVF' говорит о том что данная инструкция не определена :D в асме всего 6 команд начинающихся на MOV:
movfp  f,p
movlb  k
movlr  k
movlw  k
movpf  p,f
movwf  f
Выбирай какая нужна. Описание команд в спецификации на 1886ВЕ.
[/quote]


Вернуться к началу
 Заголовок сообщения:
СообщениеДобавлено: 2010-июн-28 08:49 
Не в сети

Зарегистрирован: 2009-май-22 09:01
Сообщения: 1313
Откуда: АО "ПКК Миландр"
Дмитрий писал(а):
Будьте любезны, подскажите что значит ошибка компилятора
Undefined instruction: 'MOVF' ?

и почему она undefined?

Спасибо.
Это проблема в компиляторе, мы сейчас работаем над ее устранением.
Вызывается она при реализации операции умножения различных типов, например int8 на int24. Для исправления пока советую переписать код, так что бы приведение типов выполнялось до операции умножения.


Вернуться к началу
 Заголовок сообщения:
СообщениеДобавлено: 2010-июн-30 13:49 
Не в сети

Зарегистрирован: 2009-дек-14 15:37
Сообщения: 2
-=Sergei=-, Спасибо за ответ.
Я действительно забыл указать, что пользуюсь компилятором CC7A. Проблему уже решил, просто надо попривыкнуть к особенностям данного компилятора.


Вернуться к началу
 Заголовок сообщения:
СообщениеДобавлено: 2010-июл-14 10:04 
Не в сети

Зарегистрирован: 2010-июл-14 09:53
Сообщения: 11
Откуда: Петербург
Добрый день.

Компилятор после HI-TECH PICC непривычный и ограниченный, но сообщения об ошибках у него просто кошмарные - не каждый раз поймёшь, что ему не нравится.

Подскажите, пожалуйста, что бы могло значить сообщение: "Syntax error (or limitation)"? При этом он указывает на прототип функции:
void initmyproj(void);
Если прототип закомментировать, начинает с тем же сообщением указывать на саму функцию:
void initmyproj(void)
{
  for (fuzptr = &fuzvals[4];
       fuzptr <= &fuzvals[5];
       *fuzptr++ = 0);
}
При этом можно менять тип и имя функции как угодно, указание компилятора остаётся прежним.


Вернуться к началу
 Заголовок сообщения:
СообщениеДобавлено: 2010-июл-14 12:10 
Не в сети

Зарегистрирован: 2009-май-25 15:07
Сообщения: 158
Откуда: АО "ПКК Миландр"
Вы не указали версию компилятора и тип переменных.
uns8 fuzptr;uns8 fuzvals[10];
CC7A Ver 1.0C, EXTENDED edition выдает ошибку Syntax error на строку
   *fuzptr++ = 0);
Тут Вам нужно упростить выражение. В readme.txt читаем:
CC7A is not a full C compiler. There are restrictions to be aware
of. The main problem is that CC7A has limited ability to allocate
temporary variables. Because of this, complex statements often
have to be rewritten using simpler statements. This is most
notisable when using variables of 16 bit or larger. There is an
advantage of such rewriting. Often the generated hex code gets
more compact.


Вернуться к началу
 Заголовок сообщения:
СообщениеДобавлено: 2010-июл-14 12:27 
Не в сети
Site Admin
Аватара пользователя

Зарегистрирован: 2009-янв-20 10:05
Сообщения: 776
Lew писал(а):
CC7A Ver 1.0C
Версия 1.0C сегодня-завтра появится на сайте.


Вернуться к началу
 Заголовок сообщения:
СообщениеДобавлено: 2010-июл-14 12:32 
Не в сети

Зарегистрирован: 2010-июл-14 09:53
Сообщения: 11
Откуда: Петербург
Версия компилятора та же, что у вас: CC7A Ver 1.0C, EXTENDED edition.

Переменные в цикле - это указатели:
uns8 * fuzptr;
uns8 * fuzvals;
Вы правы, скорее всего, дело именно в сложном синтаксисе. Но если сообщения об ошибках вида "Syntax error" я уже видел и научился с ними бороться, то здесь он указывал на саму функцию и непонятно, что хотел этим сказать. Сейчас взялся править код с другого конца и именно эта ошибка "Syntax error (or limitation)" исчезла.


Проблема в том, что это фрагмент кода библиотеки стороннего разработчика, который в PICC-16 сходу откомпилился без единой ошибки, зашился в контроллер (PIC16F688) и корректно работал, а CC7A в нём спотыкается буквально на каждом шагу из-за сложности выражений.

Будем работать над упрощением исходного кода. В любом случае, спасибо за ответ.


Вернуться к началу
 Заголовок сообщения:
СообщениеДобавлено: 2010-июл-14 12:34 
Не в сети

Зарегистрирован: 2010-июл-14 09:53
Сообщения: 11
Откуда: Петербург
Да, и версия компилятора не 1.0С, а 1.0A.


Вернуться к началу
 Заголовок сообщения:
СообщениеДобавлено: 2010-авг-02 09:45 
Не в сети

Зарегистрирован: 2009-ноя-30 12:20
Сообщения: 31
Откуда: СПБ
Как там насчет замены компилятора 1.0А на 1.0С


Вернуться к началу
 Заголовок сообщения:
СообщениеДобавлено: 2010-авг-02 13:19 
Не в сети
Site Admin
Аватара пользователя

Зарегистрирован: 2009-янв-20 10:05
Сообщения: 776
DimonD писал(а):
Как там насчет замены компилятора 1.0А на 1.0С
Насчет замены написано на сайте в разделе "Программное обеспечение". Обратитесь в отдел маркетинга: (495) 981-54-33. Для каждого предприятия (даже для каждого компилятора) идет индивидуальное обновление.


Вернуться к началу
 Заголовок сообщения: Re: Компилятор CC7A
СообщениеДобавлено: 2011-ноя-15 17:15 
Не в сети

Зарегистрирован: 2010-июл-22 15:50
Сообщения: 11
Добрый вечер! Скажите пожалуйста, поддерживает ли компилятор передачу функции параметров по ссылке, в частности массивов. Если можно приведите пример.


Вернуться к началу
 Заголовок сообщения: Re: Компилятор CC7A
СообщениеДобавлено: 2011-ноя-16 14:18 
Не в сети

Зарегистрирован: 2009-май-25 15:07
Сообщения: 158
Откуда: АО "ПКК Миландр"
stormbird4 писал(а):
Добрый вечер! Скажите пожалуйста, поддерживает ли компилятор передачу функции параметров по ссылке, в частности массивов. Если можно приведите пример.
Читаем cc7a-10.pdf:
myfunc(&tab); // char tab[20]; // string in RAM
WBR.


Вернуться к началу
 Заголовок сообщения: Re: Компилятор CC7A
СообщениеДобавлено: 2011-ноя-16 22:01 
Не в сети

Зарегистрирован: 2010-июл-22 15:50
Сообщения: 11
На сколько я понимаю в этом примере передается ссылка на отдельный элемент, а хотелось бы узнать как передать ссылку на массив в целом и в функции его обработать. Такое возможно?


Вернуться к началу
 Заголовок сообщения: Re: Компилятор CC7A
СообщениеДобавлено: 2011-ноя-17 13:39 
Не в сети

Зарегистрирован: 2009-май-25 15:07
Сообщения: 158
Откуда: АО "ПКК Миландр"
stormbird4 писал(а):
На сколько я понимаю в этом примере передается ссылка на отдельный элемент, а хотелось бы узнать как передать ссылку на массив в целом и в функции его обработать. Такое возможно?
А почему, собственно, нет? Вы хотите, чтобы я здесь цитировал учебник "Язык С для начинающих"?


Вернуться к началу
Показать сообщения за:  Поле сортировки  
Начать новую тему  Ответить на тему  [ 90 сообщений ]  На страницу « 1 2 3 4 5 6 »

Часовой пояс: UTC+03:00


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Перейти: 

Создано на основе phpBB® Forum Software © phpBB Limited
Русская поддержка phpBB