реклама на сайте
подробности

 
 
3 страниц V   1 2 3 >  
Reply to this topicStart new topic
> CodeVisionAVR, С чем лучше работать?
SergeyM
сообщение May 4 2005, 08:30
Сообщение #1


Участник
*

Группа: Свой
Сообщений: 68
Регистрация: 1-05-05
Из: Снежинск
Пользователь №: 4 654



Здравствуйте!
Прочел про CodeVision вроде не плохая прога, но почему то не генерируется *.хекс какие то ошибки в асемблерном коде. Может знает кто как их решить или даст дельный совет про софт который лучше всего использовать?
Go to the top of the page
 
+Quote Post
ROC
сообщение May 4 2005, 08:42
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 157
Регистрация: 14-11-04
Из: Санкт-Петербург
Пользователь №: 1 125



Цитата(SergeyM @ May 4 2005, 12:30)
Здравствуйте!
Прочел про CodeVision вроде не плохая прога, но почему то не генерируется *.хекс какие то ошибки в асемблерном коде. Может знает кто как их решить или даст дельный совет про софт который лучше всего использовать?
*


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

Криво сломано??? smile.gif


--------------------
WBR,
ROC.
Go to the top of the page
 
+Quote Post
LeoLabs
сообщение May 4 2005, 08:53
Сообщение #3


Участник
*

Группа: Новичок
Сообщений: 47
Регистрация: 5-03-05
Пользователь №: 3 082



лучше ИАРа ничего не знаю для AVR. Самый удобный IDE, компактный код, широкие возможности ассемблера. Вобщем выбирай его, не пожалеешь; к счастью широко доступны дистрибутивы и лекарства. smile.gif
Go to the top of the page
 
+Quote Post
SergeyM
сообщение May 4 2005, 10:14
Сообщение #4


Участник
*

Группа: Свой
Сообщений: 68
Регистрация: 1-05-05
Из: Снежинск
Пользователь №: 4 654



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


А по конкретней можно, на счет где взять.
Go to the top of the page
 
+Quote Post
Метценгерштейн
сообщение May 4 2005, 10:51
Сообщение #5


Профессионал
*****

Группа: Свой
Сообщений: 1 357
Регистрация: 12-04-05
Из: Петербург
Пользователь №: 4 079



Насчёт IAR- да, это лучший считается компилятор для МК на Си, не только под АВР. Но!!! один чел писал на старой работе проект под 2313, оказалось, что при прерывании он в стек толкает все 32 регистра, и т.д. и т.п. Короче- писать то он писал, потом разбирался с глюками компилятора, и писал уже код так, чтобы понравилось компилятору, короче- под него писал подстраиваясь. Попробовал я CV, пришёл к выводу- лучше по старинке- на асме и в АВР- студио. Тем более что разницы между Си и Асмом для МК я не ощутил.
Go to the top of the page
 
+Quote Post
vet
сообщение May 4 2005, 11:47
Сообщение #6


Знающий
****

Группа: Свой
Сообщений: 550
Регистрация: 16-06-04
Из: Казань
Пользователь №: 32



SergeyM, чаще всего такая ошибка вылетает, если программа ссылается на нигде не описанный external. Проверьте.
Могут быть и другие причины. Точный диагноз можно поставить поиском в файле .LST вхождений строчки "error " .


--------------------
Главная линия этого опуса ясна мне насквозь!
Go to the top of the page
 
+Quote Post
freux
сообщение May 4 2005, 12:17
Сообщение #7


Участник
*

Группа: Новичок
Сообщений: 41
Регистрация: 7-02-05
Пользователь №: 2 473



Цитата(Метценгерштейн @ 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.

А насчет, спрашивать совета или помощи по ...какие то ошибки в асемблерном коде. - Это - к прорицателям, может они догадаются, какие же это ошибки.
Go to the top of the page
 
+Quote Post
ROC
сообщение May 4 2005, 13:44
Сообщение #8


Частый гость
**

Группа: Свой
Сообщений: 157
Регистрация: 14-11-04
Из: Санкт-Петербург
Пользователь №: 1 125



Цитата(freux @ May 4 2005, 16:17)


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

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


Тут может быть все проще: криво "вылеченный" CodeVision часто ругается на неизвестную функцию _main smile.gif


--------------------
WBR,
ROC.
Go to the top of the page
 
+Quote Post
vet
сообщение May 4 2005, 13:49
Сообщение #9


Знающий
****

Группа: Свой
Сообщений: 550
Регистрация: 16-06-04
Из: Казань
Пользователь №: 32



Как правильно лечить CV 1244,1245


--------------------
Главная линия этого опуса ясна мне насквозь!
Go to the top of the page
 
+Quote Post
SergeyM
сообщение May 4 2005, 15:13
Сообщение #10


Участник
*

Группа: Свой
Сообщений: 68
Регистрация: 1-05-05
Из: Снежинск
Пользователь №: 4 654



Цитата(vet @ May 4 2005, 16:49)


Большое СПАСИБО!
запустилась и генерит хекс
Go to the top of the page
 
+Quote Post
LeoLabs
сообщение May 5 2005, 01:15
Сообщение #11


Участник
*

Группа: Новичок
Сообщений: 47
Регистрация: 5-03-05
Пользователь №: 3 082



А по конкретней можно, на счет где взять.
*

[/quote]

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

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

А про глюки ИАРа - это как и любым грозным оружием - надо уметь пользоваться wink.gif
Go to the top of the page
 
+Quote Post
Метценгерштейн
сообщение May 8 2005, 06:04
Сообщение #12


Профессионал
*****

Группа: Свой
Сообщений: 1 357
Регистрация: 12-04-05
Из: Петербург
Пользователь №: 4 079



я не тот кулик, который хвалит своё болото, просто пытался пересесть на Си, соответственно, делал выводы о целесобразности. Но, одни говорят, что писать на Си просто класс, другие, не менее компетентные, уверяют, что для АВР, 2313, например, лучше асма ничего не надо. Привели пример с прерываниями, может там был частный случай, не знаю, рад что это не так. Потом, если уж на Си писать, то в чём лучше? IAR или CV? И ещё вопрос- в CV как программировать кристалл байтбластером, какой интерфейс надо выбрать?
Go to the top of the page
 
+Quote Post
Метценгерштейн
сообщение May 8 2005, 06:13
Сообщение #13


Профессионал
*****

Группа: Свой
Сообщений: 1 357
Регистрация: 12-04-05
Из: Петербург
Пользователь №: 4 079



тут ещё вопрос- допустим, я хочу описать какой- то интерфейс, SPI, LCD, на асме я это просто делаю, sbi cbi nop, вот такой вот комбинацией я подстраиваюсь под график интерфейса протокола. На си как мне это сделать? Асмовской вставкой или на Си писать такие же команды? Как это вообще грамотно делать?
Go to the top of the page
 
+Quote Post
vet
сообщение May 8 2005, 21:00
Сообщение #14


Знающий
****

Группа: Свой
Сообщений: 550
Регистрация: 16-06-04
Из: Казань
Пользователь №: 32



Цитата(Метценгерштейн @ 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 миллисекунд


--------------------
Главная линия этого опуса ясна мне насквозь!
Go to the top of the page
 
+Quote Post
phantom
сообщение May 17 2005, 15:28
Сообщение #15


Местный
***

Группа: Свой
Сообщений: 323
Регистрация: 13-05-05
Пользователь №: 4 986



Уже второй год работаю с 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 "крякнутый" достал только недавно, поэтому пока особо его не исследовал, где-то на днях протестирую)


--------------------
О сколько нам открытий чудных ...
Go to the top of the page
 
+Quote Post

3 страниц V   1 2 3 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 09:25
Рейтинг@Mail.ru


Страница сгенерированна за 0.01487 секунд с 7
ELECTRONIX ©2004-2016