Реклама на сайте DatasheetsDatasheets

KAZUS.RUN - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Книги и журналы
FAQ по электронике

  Datasheets
Поиск SMD
Онлайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Схемы и проекты
Принципиальные схемы
  Программы
Каталог сайтов
Калькуляторы
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

Ответ
Опции темы

Компиляторы C кода

Непрочитано 10.02.2009, 04:42   #111
woroba
Гражданин KAZUS.RUN
 
Регистрация: 13.06.2005
Адрес: РК г.Павлодар
Сообщений: 862
Сказал спасибо: 98
Сказали Спасибо 216 раз(а) в 139 сообщении(ях)
woroba на пути к лучшему
По умолчанию

Сообщение от kison
Т.е. требуется простая тупая адаптация под другой компилятор?
Именно так.
А на счет номиналов на схеме, вот вырезка из приклеенного здесь файла, вроде всё видно.

-- Прилагается рисунок: --


Прикрепленный файл: 9500825.rar
Реклама:
__________________
Не ошибается лишь тот, кто ни чего не делает!
woroba вне форума   Ответить с цитированием
Непрочитано 10.02.2009, 06:08   #112
kison
Почётный гражданин KAZUS.RUN
 
Регистрация: 13.12.2004
Сообщений: 3,168
Сказал спасибо: 11
Сказали Спасибо 691 раз(а) в 503 сообщении(ях)
kison на пути к лучшему
По умолчанию

Сообщение от woroba
Сообщение от kison
Т.е. требуется простая тупая адаптация под другой компилятор?
Именно так.
А в чем глубокий смысл получения неработоспособной прошивки? Я может чего не понимаю просто? Для адаптации "в лоб" потребуется затратить на порядок больше труда, причем не мне, а Вам - подробно описать работу своей программы. Тех. задание получится намного короче. Тут достаточно общего алгоритма и нескольких цифр - пределы времени, температуры. Трудоемкость адаптации на первый взгляд тоже потребует больших трудозатрат, чем с нуля написать. Комментариев очень мало, поверьте, через два-три года этот исходник и автора в тупик поставит.
Вот например:
Код:
//////////////////////////////////////////////
void ind7 (unsigned char SEGM)
{
#asm("CLI")

UBRR=SEGM;
SA=UBRR.0;
SB=UBRR.1;
SC=UBRR.2;
SD=UBRR.3;
SE=UBRR.4;
SF=UBRR.5;
SG=UBRR.6;
#asm("sei")
}
Что за функция еще догадаться можно, но причем тут регистр UBRR? И так по всему исходнику.
Сообщение от woroba
А на счет номиналов на схеме, вот вырезка из приклеенного здесь файла, вроде всё видно.
Это нужно только если переписывать программу. Но данных опять недостаточно - нужны пределы времени и температуры. Вообще уже хочется плюнуть на это - не хотите, как хотите. Я из Вас исходные данные как клещами вытягиваю. Денег мне не надо, девайс этот мне тоже не нужен. Я предложил переписать программу в качестве примера использования нормального оптимизирующего компилятора. А отношение с Вашей стороны как к продавцу на улице, пытающемуся Вам что то "впарить". Поверьте, начинает надоедать это уже.
В общем - хотите порт на ГЦЦ, пишите полное описание, вплоть до того, зачем каждая глобальная переменная. И что делает каждая функция. Хотите получить программу по алгоритму - давайте конкретные цифры времен, температур и т.д. Я это выше уже спрашивал. Вы ответили только на 1-ый вопрос. Ничего не хотите - так и скажите.

-- Прилагается рисунок: --


Прикрепленный файл: 9500825.rar
kison вне форума   Ответить с цитированием
Непрочитано 10.02.2009, 11:03   #113
Alexandr14
Временная регистрация
 
Регистрация: 09.08.2005
Сообщений: 53
Сказал спасибо: 0
Сказали Спасибо 2 раз(а) в 1 сообщении
Alexandr14 на пути к лучшему
По умолчанию

Вопрос по связке CVAVR1.25.9 и Proteus 7 . Как начинающий пользуюсь этими инструментами.

А вопрос такой, при компиляции CV создает файл asm. Указываем его в Протеусе, и пытаемся его откомпилить AVRASM32 самого Протеуса.

На что компилятор выдает ошибку:

..2main.inc(1612) : error : Symbol is already defined by the .EQU directive
..2main.inc(1613) : error : Symbol is already defined by the .EQU directive
. . .
..2main.inc(161 : error : Symbol is already defined by the .EQU directive

смотрим что CVAVR там создал :

#ifndef __SLEEP_DEFINED__
#define __SLEEP_DEFINED__
.EQU __se_bit=0x80
.EQU __sm_mask=0x70
.EQU __sm_powerdown=0x20
.EQU __sm_powersave=0x30
.EQU __sm_standby=0x60
.EQU __sm_ext_standby=0x70
.EQU __sm_adc_noise_red=0x10
.SET power_ctrl_reg=mcucr
#endif

,хм, я как человек не знающий ASM, ну совсем поверхностно по интуиции методом тыка определил, что если сделать вот так

#ifndef __SLEEP_DEFINED__
#define __SLEEP_DEFINED__
.EQU _se_bit=0x80
.EQU _sm_mask=0x70
.EQU _sm_powerdown=0x20
.EQU _sm_powersave=0x30
.EQU _sm_standby=0x60
.EQU _sm_ext_standby=0x70
.EQU _sm_adc_noise_red=0x10
.SET power_ctrl_reg=mcucr
#endif

то все начинает работать, так сказать с первого пинка.
Только насколько это корректно я хз, но вроде при симуляции получается почти то что нужно.

Можно ли CVAVR заставить самому убирать такие гадости, а то замахался постоянно править после перекомпиляции.

Хотя конечно можно и не компилить в Протеусе а подсовывать .hex скомпилированный самим CVAVR.
Alexandr14 вне форума   Ответить с цитированием
Непрочитано 10.02.2009, 11:09   #114
Alexandr14
Временная регистрация
 
Регистрация: 09.08.2005
Сообщений: 53
Сказал спасибо: 0
Сказали Спасибо 2 раз(а) в 1 сообщении
Alexandr14 на пути к лучшему
По умолчанию

Знаю противники CVAVR скажут переходи на другой компилятор, наверное так и сделаю, только на данный момент надо немного времени.
Alexandr14 вне форума   Ответить с цитированием
Непрочитано 10.02.2009, 12:12   #115
avr123-nm-ru
Почётный гражданин KAZUS.RUN
 
Регистрация: 13.05.2006
Адрес: Москва
Сообщений: 3,552
Сказал спасибо: 75
Сказали Спасибо 326 раз(а) в 230 сообщении(ях)
avr123-nm-ru на пути к лучшему
По умолчанию

можно один раз изменить ИНК файл протеуса где первый раз определены эти штуки. Только копию вначале сделать для востановления.

CVAVR то тут при чем ? Он же не "создаватель АСМа" для последующего ассемблирования.
__________________
Обучалка AVR PIC ARM начинающим программирование курс самоучитель шаг за шагом с нуля, CVAVR, PROTEUS, MPLAB, WinAVR, IAR, KEIL электроника - http://proavr.narod.ru
avr123-nm-ru вне форума   Ответить с цитированием
Непрочитано 10.02.2009, 13:08   #116
Alexandr14
Временная регистрация
 
Регистрация: 09.08.2005
Сообщений: 53
Сказал спасибо: 0
Сказали Спасибо 2 раз(а) в 1 сообщении
Alexandr14 на пути к лучшему
По умолчанию

Сообщение от avr123-nm-ru
CVAVR то тут при чем ? Он же не "создаватель АСМа" для последующего ассемблирования.
Ну так средствами входящими в состав CVAVR создается файл с расширением .asm, который в последующем мы используем.
В данном случае имеется такая вот проблемка.
Еслиб Вы еще сказали где именно у Протеуса и что заменить или подправить, было бы вообще отлично.
Alexandr14 вне форума   Ответить с цитированием
Непрочитано 10.02.2009, 13:12   #117
avr123-nm-ru
Почётный гражданин KAZUS.RUN
 
Регистрация: 13.05.2006
Адрес: Москва
Сообщений: 3,552
Сказал спасибо: 75
Сказали Спасибо 326 раз(а) в 230 сообщении(ях)
avr123-nm-ru на пути к лучшему
По умолчанию

Сообщение от Alexandr14
Ну так средствами входящими в состав CVAVR создается файл с расширением .asm, который в последующем мы используем.
Дак CVAVR для этого не предназначен !

Сообщение от Alexandr14
Еслиб Вы еще сказали где именно у Протеуса и что заменить или подправить, было бы вообще отлично.
Шукайте в папке протеуса файлы .inc под ваш МК - скорей всего так. Т.е. то место где было первое определение.
__________________
Обучалка AVR PIC ARM начинающим программирование курс самоучитель шаг за шагом с нуля, CVAVR, PROTEUS, MPLAB, WinAVR, IAR, KEIL электроника - http://proavr.narod.ru
avr123-nm-ru вне форума   Ответить с цитированием
Непрочитано 10.02.2009, 13:14   #118
avr123-nm-ru
Почётный гражданин KAZUS.RUN
 
Регистрация: 13.05.2006
Адрес: Москва
Сообщений: 3,552
Сказал спасибо: 75
Сказали Спасибо 326 раз(а) в 230 сообщении(ях)
avr123-nm-ru на пути к лучшему
По умолчанию

Вобще не пойму нафига АСМ то вам ?

Работайте НОРМАЛЬНО - как все.

http://proteus123.narod.ru/01.htm
__________________
Обучалка AVR PIC ARM начинающим программирование курс самоучитель шаг за шагом с нуля, CVAVR, PROTEUS, MPLAB, WinAVR, IAR, KEIL электроника - http://proavr.narod.ru
avr123-nm-ru вне форума   Ответить с цитированием
Непрочитано 10.02.2009, 15:22   #119
woroba
Гражданин KAZUS.RUN
 
Регистрация: 13.06.2005
Адрес: РК г.Павлодар
Сообщений: 862
Сказал спасибо: 98
Сказали Спасибо 216 раз(а) в 139 сообщении(ях)
woroba на пути к лучшему
По умолчанию

Спасибо KISONу за помощь. Наконец отладил в железе GCCишный вариант своей прошивки.Результат не утешительный размер кода 2316байт, против 2004 байта CVAVR, и это при оптимизации Os(при других код ещё больше). И для того чтобы запихнуть его в 2313 пришлось часть фукционала закоментить.
Теперь о своих эмоциях при освоении WinAVR,к сожалению отрицательных больше.Только не поймите, что я говорю о том ,что CV лучше. Если бы он меня CV полностью устраивал, то не искал бы я ему замену.
Теперь что не понравилось в GCC:
1)Молчание об ошибках и предупреждениях. Не было никаких предупреждений когда я пытался без макроса присвоить значение переменной в EEPROM, когда я передавал функции
void name (unsigned int a), значение unsigned char
и из чего функция возвращала че попало.
2)Не удобство в работе с битовыми операциями.
3)Не преемственность версий. Старые макросы отменяются, новые вводяться.Поэтому старые проекты не компиляться в новых.
4)Ну и наконец увлекательная борьба с оптимизатором.Например
sind=2;
_delay_ms(1000.0);
sind=3;
от этой переменной зависит, что будет выводится на 7ми сегментный индикатор. А оптимизатор считает , а на фига промежуточное значение, давай сразу последнее.
Вобщем пошел грузить IAR4.11, как отлажу эту прогу в нем, сравним ощушения.
Здесь работающий проект в двух компиляторах.

Прикрепленный файл: 7593101.rar
__________________
Не ошибается лишь тот, кто ни чего не делает!
woroba вне форума   Ответить с цитированием
Непрочитано 10.02.2009, 15:29   #120
avr123-nm-ru
Почётный гражданин KAZUS.RUN
 
Регистрация: 13.05.2006
Адрес: Москва
Сообщений: 3,552
Сказал спасибо: 75
Сказали Спасибо 326 раз(а) в 230 сообщении(ях)
avr123-nm-ru на пути к лучшему
По умолчанию

Цитата:
пошел грузить IAR4.11
Может лучше 5.11 full из соседней ветки

или с офсайта 5.20 демо полнофункционалбню.
__________________
Обучалка AVR PIC ARM начинающим программирование курс самоучитель шаг за шагом с нуля, CVAVR, PROTEUS, MPLAB, WinAVR, IAR, KEIL электроника - http://proavr.narod.ru
avr123-nm-ru вне форума   Ответить с цитированием
Ответ


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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Защита кода Gn0me Микроконтроллеры, АЦП, память и т.д 7 25.06.2009 14:07
[Решено] Покупаете ли Вы лицензионный софт: САПР, компиляторы и т.п.? LeonidIwanowitch Отвлекитесь, эмбеддеры! 1 16.06.2008 20:33
GNU отладчики и компиляторы для МК um Микроконтроллеры, АЦП, память и т.д 7 22.12.2007 20:50
компиляторы crossfire Proteus, KiCAD и другие ECAD 2 20.10.2006 20:48
С компиляторы для Т89С51СС01 Andy Микроконтроллеры, АЦП, память и т.д 3 07.07.2003 08:18


Часовой пояс GMT +4, время: 01:33.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.