Миландр

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

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 86 ]  На страницу Пред.  1, 2, 3, 4, 5, 6  След.
Автор Сообщение
 Заголовок сообщения: Re: Компилятор CC7A
СообщениеДобавлено: 2011-ноя-17 16:37 
Не в сети

Зарегистрирован: 2010-июл-22 15:50
Сообщения: 11
Я разобрался со своей проблемой, прошу прощения. Спасибо за ответы.


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

Зарегистрирован: 2011-ноя-27 19:28
Сообщения: 6
Товарищи сотрудники фирмы Миландр, требуется ваша консультация.
Есть несколько строк- констант, описанных по образу:
Код:
static const char const_str[]="this is string";

Необходимо сравнивать содержимое строки в ОЗУ микроконтроллера с этими эталонами. Строка в ОЗУ:
Код:
char string[100];

сейчас для сравнения с каждым эталоном существует отдельная функция. Но это слишком массивно. Сравнение произвожу так: очередной символ из строки-константы сохраняю в ОЗУ, сравниваю с соответствующим символом из строки string в ОЗУ.
Хотелось бы сделать одну функцию для сравнения строки string и строки-константы, начинающейся по адресу char* pointer. Но где-то у меня не хватило соображения. Описал его как:
Код:
const char *pointer;

Не компилируется даже такой код (ясно, что он не рабочий- инициализацию и весь функционал выбросил чтобы сократить до минимума)
Код:
#include <1886VE3d.h>
static const char const_str[]="this is string";
const char *pointer;
void prntstr (void)
{
     pointer=const_str;
     while (*pointer!=0)
     {
           while(!TX1IF);
           TXREG=*pointer;
           pointer++;
     }
}
void main(void)
{
     while(1)
     {
     }
}

Выделяется красным цветом последняя строка текста и графа "Сообщение" во вкладке "Компилятор" пуста


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Компилятор CC7A
СообщениеДобавлено: 2012-фев-29 07:47 
Не в сети

Зарегистрирован: 2009-май-25 15:07
Сообщения: 158
Откуда: АО "ПКК Миландр"
Странно. Все транслируется.
Код:
                        ;void prntstr (void)
                        ;{
prntstr
                        ;     pointer=const_str;
        CLRF  pointer,1
                        ;     while (*pointer!=0)
m001    MOVFP pointer,WREG
        CALL  _const1
        XORLW 0
        MOVLB 2
        BTFSC 0x04,Zero_
        GOTO  m003
                        ;     {
                        ;           while(!TX1IF);
m002    BTFSS 0x214,TX1IF
        GOTO  m002
                        ;           TXREG=*pointer;
        MOVFP pointer,WREG
        CALL  _const1
        MOVLB 5
        MOVWF TXREG
                        ;           pointer++;
        INCF  pointer,1
                        ;     }
        GOTO  m001
                        ;}
m003    RETURN
                        ;void main(void)
                        ;{
main
                        ;     while(1)
                        ;     {
                        ;      prntstr(); // чтобы не было предупреждения о неиспользуемых функциях
        MOVLB 0
        MOVLR 0
m004    MOVLB 2
        CALL  prntstr
                        ;     }
        MOVLB 0
        GOTO  m004
_const1
        MOVWF ci
        MOVLW 0
        MOVWF TBLPTR+1
        RRCF  ci,W
        ANDLW 127
        ADDLW 39
        MOVWF TBLPTR
        BTFSS 0x04,Carry
        GOTO  m005
        INCF  TBLPTR+1,1
m005    TABLRD 0,0,WREG
        TLRD  0,WREG
        BTFSS ci,0
        GOTO  m006
        TLRD  1,WREG
m006    RETURN
        DW    0x6874
        DW    0x7369
        DW    0x6920
        DW    0x2073
        DW    0x7473
        DW    0x6972
        DW    0x676E
        DW    0x0


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Компилятор CC7A
СообщениеДобавлено: 2012-фев-29 16:21 
Не в сети

Зарегистрирован: 2011-ноя-27 19:28
Сообщения: 6
Спасибо за отклик. Добавил использование функции в main() и заработало. Не очень удобная особенность, так как имею привычку сначала описывать все основные функции, а потом приниматься за main(). Нельзя ли попросить разработчика компилятора в следующем релизе ликвидировать эту особенность?

Еще маленький вопрос. При выходе нового релиза как выполняется обновление полной версии компилятора? Снова по почте диск заказывать?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Компилятор CC7A
СообщениеДобавлено: 2012-фев-29 16:48 
Не в сети
Site Admin
Аватара пользователя

Зарегистрирован: 2009-янв-20 10:05
Сообщения: 778
Pastel писал(а):
Еще маленький вопрос. При выходе нового релиза как выполняется обновление полной версии компилятора? Снова по почте диск заказывать?

Пришлите запрос на admin@milandr.ru, т.е. мне, в ответ пришлю новую версию.

_________________
Правила форума!


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

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Где найти заголовочный файл VE2_CC.h?
СообщениеДобавлено: 2012-мар-02 15:12 
Не в сети

Зарегистрирован: 2012-мар-02 15:00
Сообщения: 3
Откуда: Санкт-Петербург
Собственно начал работать с вашим микроконтроллером 1886ВЕ2У и компилятором CC7A и стандартный пример :"Электронные часы на плате для 1886ВЕ2У" и он не компилируется из-за отсутствия библиотеки VE2_CC.h
Пробовал подключить библиотеку 1886VE2d.h но в среде IDE1886 пишет Fatal internal compiler error no. 9124
Другие библиотеки для 17C756.H и 17C756A, поставляемые вместе с "С" компилятором выдают ошибки: Symbol 'RE2' is undefined
заголовочный файл можно и самому создать, но времени совсем нет. Проект горит что называется.
Сможете мне выслать библиотеку на e-mail?


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

Зарегистрирован: 2009-май-25 15:07
Сообщения: 158
Откуда: АО "ПКК Миландр"
Откуда Вы взяли эти :"Электронные часы"? Какая у Вас версия IDE1886?
В примерах в IDE1886 есть демонстрационная программа для 1886ВЕ2, которая может отображать время, но СС7А здесь не причем. Проект написан на ассемблере.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Компилятор CC7A
СообщениеДобавлено: 2012-мар-02 16:57 
Не в сети

Зарегистрирован: 2012-мар-02 15:00
Сообщения: 3
Откуда: Санкт-Петербург
проект взят не с IDE1886 а из диска который мы приобрели у Миландра с компилятором CC7A и USB ключём. а IDE1886 версия 8.5(только что в справке к IDE посмотрел). и какая разница-в перечне библиотек к CC7A есть VE2_cc.h а в наличие нет. :) вот такой вот сервис :).
Я уже заголовочный 17C756.H я поправил и теперь прога скомпилировалась и прошилась успешно и работает. но вот хотелось бы получить заголовочный файл. Мало ещё что вылезет там.
И да на форуме нет ни одной похожей темы. видимо мне выдали какой то "особенный" диск с недостающими хэндлами =))) Ну да ладно. Просьба одна:вышлете пожалуйста VE2_CC.h
Благодарю.


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

Зарегистрирован: 2009-май-25 15:07
Сообщения: 158
Откуда: АО "ПКК Миландр"
1886VE2d.h и 1886VE2.h это правильные хендлы. просто Вы используете древний проект и устаревшую версию компилятора. Обновите компилятор, отослав запрос на admin@milandr.ru


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Компилятор CC7A
СообщениеДобавлено: 2012-мар-05 08:18 
Не в сети

Зарегистрирован: 2012-мар-02 15:00
Сообщения: 3
Откуда: Санкт-Петербург
Какая версия компилятора свежая?
я использую версию 1.0e.
отправил на admin@milandr.ru запрос на библиотеки и свежую версию компилятора.
И кстати вопрос: с LPT программатором внутрисхемную отладку произвести можно? Версия среды IDE1886 8.5


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Компилятор CC7A
СообщениеДобавлено: 2012-мар-05 08:44 
Не в сети

Зарегистрирован: 2009-май-25 15:07
Сообщения: 158
Откуда: АО "ПКК Миландр"
ДмитрийК писал(а):
Какая версия компилятора свежая?
я использую версию 1.0e.
отправил на admin@milandr.ru запрос на библиотеки и свежую версию компилятора.
И кстати вопрос: с LPT программатором внутрисхемную отладку произвести можно? Версия среды IDE1886 8.5
У Вас компилятор последней версии. Для всех проектов следует использовать 1886VE2d.h. LPT программатор по функциональности ничем не отличается он USB программатора.


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

Зарегистрирован: 2011-ноя-27 19:28
Сообщения: 6
Lew писал(а):
Никакой особенности замечено не было. Все замечательно компилируется и без функции в main(), просто выдает предупреждение о неиспользуемой функции.

Никакого сообщения замечено не было. Компилирую через IDE 1886, без функции в main() окно с прогрессбаром процесса компиляции появляется на мгновение и исчезает, во вкладке "Компилятор" только номер последней строки, она же выделена красным цветом. Отсутствие окна "Compile progress" в совокупности с таким "информативным" выводом было однозначно воспринято как ошибка компиляции. Пикрелейтед.
Lew писал(а):
Прежде чем давать такие самоуверенные советы разработчикам компилятора, советую почитать документацию. Вы удивитесь, что, оказывается, существует множество ключей для компилятора, которые, в частности, позволяют задавать степень оптимизации.

Прежде чем давать такие самоуверенные советы пользователям компилятора, советую предположить, что читать они все же умеют. Вы удивитесь, что, оказывается,они иногда испытывают надежды на комфортное использование компилятора из IDE, а Ваш GUI тоже может иметь пороки.
Успехов!


Вложения:
123.JPG
123.JPG [ 48.32 КБ | Просмотров: 5948 ]
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Компилятор CC7A
СообщениеДобавлено: 2012-мар-06 16:22 
Не в сети

Зарегистрирован: 2009-май-25 15:07
Сообщения: 158
Откуда: АО "ПКК Миландр"
Цитата:
Отсутствие окна "Compile progress" в совокупности с таким "информативным" выводом было однозначно воспринято как ошибка компиляции.
Прежде чем однозначно воспринимать и грубить, советую убедится, что код все-таки компилируется. На вкладке Programming появляется код. main.lst, main.asm, main.hex обновляются. На вкладке "Журнал компиляции" и в файле main.err есть предупреждение:
Код:
Warning D:\Soft\IDE_Proj\CC_syntez\main.c 20: Local variables and parameters in uncalled functions are not allocated (1) (The application contains non-library functions that are not called. Local variables in these functions (option -wU) are not allocated to save space)
Всвязи с этим и появляется эта строка без сообщения, информирующая о том, что программа содержит всякий мусор. Подробности можно посмотреть, открыв вкладку "Журнал компиляции" или файл main.err.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Компилятор CC7A
СообщениеДобавлено: 2012-мар-06 16:43 
Не в сети

Зарегистрирован: 2011-ноя-27 19:28
Сообщения: 6
1) Если Вы не заметили, я ответил с сохранением стилистики вашего сообщения. Если Вы увидели грубость- вряд ли претензия ко мне.
2) В случае, если компиляция выполняется не впервые за сеанс, на взгляд изменение карты памяти неразличимо.
3) Вы же сами понимаете, что такое сообщение без текста, да еще и на строке, которая не имеет отношения к вызвавшему ситуацию фрагменту кода, и еще без вывода окошка, которое появлялось до этого всегда кроме случаев ошибки это не нормально- интерфейс должен быть информативным и интуитивно понятным.
4) Да, не догадался сразу очистить карту памяти, прочитать еррлист в файле. Готов согласиться со своей некомпетентностью в вопросах программирования. Однако не забывайте, что ПО для микроконтроллеров в подавляющем числе случаев пишут те же люди, которые разрабатывают схему, а не профессиональные программисты, поэтому еще раз- интерфейс должен быть интуитивно понятным таким трудным пользователям как я. Иначе смысл самой IDE пропадает- ведь и так можно работать в шелле и лазать по файлам.

Повторюсь, что проблема решена, предыдущие 2 сообщения и данное писал из лучших побуждений. Жаль, что восприняли это в штыки.
Представления и ожидания связаны не с моими завышенными требованиями, а опытом работы с IDE вроде QtCreator, Borland C++ Builder, AVR Studio.
С уважением.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 86 ]  На страницу Пред.  1, 2, 3, 4, 5, 6  След.

Часовой пояс: UTC + 3 часа


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

Сейчас этот форум просматривают: Bing [Bot] и гости: 3


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

Найти:
Перейти:  
cron
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB