Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: CodeVisionAVR
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
SergeyM
Здравствуйте!
Прочел про CodeVision вроде не плохая прога, но почему то не генерируется *.хекс какие то ошибки в асемблерном коде. Может знает кто как их решить или даст дельный совет про софт который лучше всего использовать?
ROC
Цитата(SergeyM @ May 4 2005, 12:30)
Здравствуйте!
Прочел про CodeVision вроде не плохая прога, но почему то не генерируется *.хекс какие то ошибки в асемблерном коде. Может знает кто как их решить или даст дельный совет про софт который лучше всего использовать?
*


Единственный совет: разобраться в "каких-то ошибках в ассемблерном коде".

Криво сломано??? smile.gif
LeoLabs
лучше ИАРа ничего не знаю для AVR. Самый удобный IDE, компактный код, широкие возможности ассемблера. Вобщем выбирай его, не пожалеешь; к счастью широко доступны дистрибутивы и лекарства. smile.gif
SergeyM
Цитата(LeoLabs @ May 4 2005, 11:53)
лучше ИАРа ничего не знаю для AVR. Самый удобный IDE, компактный код, широкие возможности ассемблера. Вобщем выбирай его, не пожалеешь; к счастью широко доступны дистрибутивы и лекарства. smile.gif
*


А по конкретней можно, на счет где взять.
Метценгерштейн
Насчёт IAR- да, это лучший считается компилятор для МК на Си, не только под АВР. Но!!! один чел писал на старой работе проект под 2313, оказалось, что при прерывании он в стек толкает все 32 регистра, и т.д. и т.п. Короче- писать то он писал, потом разбирался с глюками компилятора, и писал уже код так, чтобы понравилось компилятору, короче- под него писал подстраиваясь. Попробовал я CV, пришёл к выводу- лучше по старинке- на асме и в АВР- студио. Тем более что разницы между Си и Асмом для МК я не ощутил.
vet
SergeyM, чаще всего такая ошибка вылетает, если программа ссылается на нигде не описанный external. Проверьте.
Могут быть и другие причины. Точный диагноз можно поставить поиском в файле .LST вхождений строчки "error " .
freux
Цитата(Метценгерштейн @ May 4 2005, 13:51)
.. оказалось, что при прерывании он в стек толкает все 32 регистра, и т.д. и т.п.
*


Приведу ниже листинг начала прерывания:
; 30 /* interrupt handlers */
; 31 #pragma vector=UART_RX_vect

RSEG CODE:CODE:NOROOT(1)
; 32 __interrupt void UART_RX_interrupt( void )
; 33 {
; __nearfunc __interrupt void UART_RX_interrupt();
UART_RX_interrupt:
ST -Y,R30
ST -Y,R18
ST -Y,R17
ST -Y,R16
IN R16,0x3F
DEC R28
..
..
..
IN R18,0x0C
LDI R30,UART_RxHead
LD R17,Z
INC R17
ANDI R17,0x03

что-то не вижу я здесь всех регистров, в стек идут только те, которые используются в функции прерывания, да и то не все, а согласно Reference Гайду -
The registers R4–R15 and R24–R27 are preserved by the called function. This means that they are saved on the stack if used within the function. All other registers, R0–R3, R16–R23, and R30–R31, are scratch registers.

А насчет, спрашивать совета или помощи по ...какие то ошибки в асемблерном коде. - Это - к прорицателям, может они догадаются, какие же это ошибки.
ROC
Цитата(freux @ May 4 2005, 16:17)


[some text skipped]
Цитата(freux @ May 4 2005, 16:17)

А насчет, спрашивать совета или помощи по ...какие то ошибки в асемблерном коде.  - Это - к прорицателям, может они догадаются, какие же это ошибки.


Тут может быть все проще: криво "вылеченный" CodeVision часто ругается на неизвестную функцию _main smile.gif
SergeyM
Цитата(vet @ May 4 2005, 16:49)


Большое СПАСИБО!
запустилась и генерит хекс
LeoLabs
А по конкретней можно, на счет где взять.
*

[/quote]

оценочная версия - на сайте IARа, от полной отличается лишь отсутствием исходников на си и урезанным хелпом. Про это и про лекарства - наисано в топике "Вот и новая версия IAR 4.10b".

Кстати никто не поделится полной версией?

А про глюки ИАРа - это как и любым грозным оружием - надо уметь пользоваться wink.gif
Метценгерштейн
я не тот кулик, который хвалит своё болото, просто пытался пересесть на Си, соответственно, делал выводы о целесобразности. Но, одни говорят, что писать на Си просто класс, другие, не менее компетентные, уверяют, что для АВР, 2313, например, лучше асма ничего не надо. Привели пример с прерываниями, может там был частный случай, не знаю, рад что это не так. Потом, если уж на Си писать, то в чём лучше? IAR или CV? И ещё вопрос- в CV как программировать кристалл байтбластером, какой интерфейс надо выбрать?
Метценгерштейн
тут ещё вопрос- допустим, я хочу описать какой- то интерфейс, SPI, LCD, на асме я это просто делаю, sbi cbi nop, вот такой вот комбинацией я подстраиваюсь под график интерфейса протокола. На си как мне это сделать? Асмовской вставкой или на Си писать такие же команды? Как это вообще грамотно делать?
vet
Цитата(Метценгерштейн @ May 8 2005, 10:13)
тут ещё вопрос- допустим, я хочу описать какой- то интерфейс, SPI, LCD, на асме я это просто делаю, sbi cbi nop, вот такой вот комбинацией я подстраиваюсь под график интерфейса протокола. На си как мне это сделать? Асмовской вставкой или на Си писать такие же команды? Как это вообще грамотно делать?
*


Код
PORTB.5 = 1; //аналог sbi PORTB, 5
PORTB.5 = 0; //аналог cbi PORTB, 5
delay_us(10); //задержка в 10 микросекунд (требует #include <delay.h>)
delay_ms(10); //задержка в 10 миллисекунд
phantom
Уже второй год работаю с CodeVision и мне нравится. Сравнивал с ICC и E-Lab Pascal. Быстрее где-то в 3 раза чем E-Lab и в 1.5 раза чем ICC. Работает без особых глюков. Могут быть проблемы с разбором длинных арифм. выражений, поэтому рекомендую один длинный оператор присваивания разбивать на несколько коротких. Последовательность размещения переменных играет роль в выделении памяти CodeVision компилятором, следовательно часто употребляемые переменные (типа: i, j циклов) лучше описывать первыми, поскольку они попадут где-нить сразу после R0 и время доступа к ним сократиться. Вообще иногда из-за "плохого" описания переменных не компилирунтся ASM-часть проекта и тогда перестановка в описании переменных помогает. Но по сравнению с тем что ICC в некоторых случаях вообще неправильно делает арифм. операции, а в E-Lab Pascal 2.40 больше глюков чем работы (и я использую его исключительно в преподавательской практике из-за отладчика в котором эмулируется железо (клава, ЖКИ и т.д)- очень кстати удобно) то ничего другого для работы с AVR не рекомендую. (p.s. IAR for AVR "крякнутый" достал только недавно, поэтому пока особо его не исследовал, где-то на днях протестирую)
at90
кто-нибудь пробовал CV 1.24.6
at90
Цитата(at90 @ May 19 2005, 15:58)
кто-нибудь пробовал CV 1.24.6
*


Кстати на Ftp появился Сodevision 1.24.6 c лекарством
Balaganov
Кстати на Ftp появился Сodevision 1.24.6 c лекарством
*


А адресок ftp плиз
at90
Цитата(Balaganov @ May 22 2005, 21:12)
Кстати на Ftp появился Сodevision 1.24.6 c лекарством
*



А адресок ftp плиз
*


ftp форума.Но там вход только для СВОИХ
MicronSys
Я перепробовал все IDE и остановился на
VMLAB + WinAvr очень доволен коплилятор довольно не плохо компилит я
эмулятор прилично эмулирует
Да а выходом VMLAB 3.11 воще просто стало в сласть работать
В нем добовили какую класную штуку как разработку своих личных компонентов ( ну типа лог. мелкосхем и т.д. ) я уже написал пару компонент

Да только взломать VMLAB 3.11 пока не предстовляется возможным
но мне и 4кб кода достаточно
Советую ВСЕМ присмотрется к энтому тондему cheers.gif
Balaganov
Цитата(at90 @ May 22 2005, 21:41)
Цитата(Balaganov @ May 22 2005, 21:12)
Кстати на Ftp появился Сodevision 1.24.6 c лекарством
*



А адресок ftp плиз
*


ftp форума.Но там вход только для СВОИХ
*



А как стать своим?
Очень нужно лекарство к Сodevision 1.24.6
at90
Цитата(Balaganov @ May 23 2005, 17:37)
Цитата(at90 @ May 22 2005, 21:41)
Цитата(Balaganov @ May 22 2005, 21:12)
Кстати на Ftp появился Сodevision 1.24.6 c лекарством
*



А адресок ftp плиз
*


ftp форума.Но там вход только для СВОИХ
*



А как стать своим?
Очень нужно лекарство к Сodevision 1.24.6
*



Намыль мне at90(собака)yandex.ru
at90
Если у тебя стоит CV1.24.5 то 1.24.6 будет работать сразу.
Лечится также как 1.24.5

Чтобы стать своим смотри здесь
http://forum.electronix.ru/index.php?showtopic=2605
O6opoTeHb
Мужуки!!! Диплом горит, а скотинская эволушн-версия код-вижна ругаицца благим матом. Мабыть кто-нить без особых искусов кинет в меня версией не шибкой старой и с кряком? А то я с дуру скоро начну портировать прогу под ICC, а библиотЭку lcd.lib придется портировать чуть ли не чистым асмом. Оно конечно справлюсь, но время!!!! Если добрый дух отзовется в ком-нить, кидайте в сюда chuzak@mail.ru, жевательно кусками (дабы не материться при дисконнекте)
vet
Цитата(O6opoTeHb @ May 26 2005, 01:57)
Мужуки!!! Диплом горит, а скотинская эволушн-версия код-вижна ругаицца благим матом. Мабыть кто-нить без особых искусов кинет в меня версией не шибкой старой и с кряком? А то я с дуру скоро начну портировать прогу под ICC, а библиотЭку lcd.lib придется портировать чуть ли не чистым асмом. Оно конечно справлюсь, но время!!!! Если добрый дух отзовется в ком-нить, кидайте в сюда chuzak@mail.ru, жевательно кусками (дабы не материться при дисконнекте)
*

Сабж версии 1.24.6 выложен по адресу http://www.webfile.ru/320690.
O6opoTeHb
Большое спасибоsmile.gif надеюсь, ума и знания инглиша хватит, чтобы сделать кряк. Вот ведь замутили защиту...
Я так думаю, что всем фирмам по софту нуна для россии спец-релиз делать, который не надо крякатьsmile.gif потому что как бы не извращался производитель, в конце концов все равно крякнутsmile.gif
serg28serg
Как в CodeVisionAVR писать в FLASH (не EEPROM), возможно ли без асмовских вставок ???
Petka
Цитата(serg28serg @ Oct 9 2005, 21:20)
Как в CodeVisionAVR писать в FLASH (не EEPROM), возможно ли без асмовских вставок ???
*


Внимательно читаем help:

".......
Constants are stored in FLASH memory, to specify this you must use the flash or const keywords.
Constant expressions are automatically evaluated during compilation.
Example:

flash int integer_constant=1234+5;
........"


P.S. Сорри, не сразу понял суть вопроса. По поводу записи во Flash:
не думаю что это стоит делать кроме случая "bootloader". по причине того, что flash нельзя писать побайтно, а только предварительно "стерев" целую страницу, не зная организации памяти можно "убить" полезный код. как я понимаю запись во флэш нужна только по причине малого количества eeprom. в таком случае советую воспользоваться внешними микросхемками, они сейчас есть достаточно большие и дешёвые, и удобные.
osminog
Извините конечно, что старую тему поднимаю=) Доступа к Своим не имею, но очень хочется CV 1.24.6, пошлите кто-нибудь на мыло sdtoa@mail.ru, заранее спасибо.
Igrek_O
java script:emoticon(':santa2:', 'smid_22')

После 2-ух лет программирования на asm-e (AVR Studio) в прошлом 2005 году перешел на Си
попробовал Image Craft , Code Vision , ICC мне понравился Code Vision - довольно-таки компактный
код получается. Больше всего мне понравились битовые операции - которых нет в других си
для АВР-ов. Но более удобный коде-генератор в Image Craft-e и некотрые исходники в нем компилирую - когда некогда переделывать исходник на си - коде на си-код в Code Vision.
Нех-код не генерится потому-что не установлены соответсвующие опции вкомпиляторе.
ошибки в асм-коде у меня тоже были - их можно найти в асемблеровском тексте - часто это
не правильное описание переменных - вообщем причина в именах переменных. В последних
версиях CVavr-a (e меня 1.24.6) появилась новая версия авр-ассемблера и новые опции по
сообщениям - поэтому с такими ошибками стало легче бороться.
Версию 1.24.6 легко найти с помощью е-муле.java script:emoticon(':laugh:', 'smid_16')
rmo
Цитата(MicronSys @ May 23 2005, 13:40) *
Я перепробовал все IDE и остановился на
VMLAB + WinAvr очень доволен коплилятор довольно не плохо компилит я
эмулятор прилично эмулирует
Да а выходом VMLAB 3.11 воще просто стало в сласть работать
В нем добовили какую класную штуку как разработку своих личных компонентов ( ну типа лог. мелкосхем и т.д. ) я уже написал пару компонент

Да только взломать VMLAB 3.11 пока не предстовляется возможным
но мне и 4кб кода достаточно
Советую ВСЕМ присмотрется к энтому тондему cheers.gif


Бесплатный и без ограничений VMLAB3.11H
http://electronix.ru/redirect.php?http://[banned]/avrpic04.htm
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.