roboforum.ru

Технический форум по робототехнике.

ASM для AVR - в вопросах и ответах

Программирование микроконтроллеров AVR, PIC, ARM.
Разработка и изготовление печатных плат для модулей.

ASM для AVR - в вопросах и ответах

Сообщение avr123.nm.ru » 15 окт 2008, 00:06

ASM - ассемблер для AVR - в вопросах и ответах.
А вопросы по Си для AVR пожалуйста задавайте там ! - там же и ответы.

Пожалуйста - ТОЛЬКО по ТЕМЕ !

Ассемблер для AVR на русском языке - http://asm-avr.narod.ru - все инструкции AVR,
Директивы ассемблера, макросы (подпрограммы). Добавьте в избранное ! Ctrl + D

Для разработки и отладки программ для AVR на ассемблере рекомендую использовать любую из программ :
VMLAB (4 Мб - бесплатная IDE) - где скачать и как использовать
PROTEUS (45 Мб - там) примеры на АСМ есть в установке программы.
AVRStudio (около 90 Мб наверно, беспл. IDE от Atmel) - где скачать и как создать проект, запуск отладки.

Желательно установить их все на ПК - они чудесно дополнят друг-друга.

КНИГИ ДЛЯ СКАЧИВАНИЯ И ЧТЕНИЯ по AVR, по ассемблеру и по электронике, технике - http://lord-n.narod.ru/walla.html

Устройство микроконтроллера AVR - там

Примеры устройств на AVR от Atmel - АпНоуты - список, схемы и тексты программ и "Как и чем прошить AVR"
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Re: ASM для AVR - в вопросах и ответах

Сообщение foxit » 17 окт 2008, 19:27

Что-то глухов этой теме. Хотя нужная и интересная

Есть неплохие обучалки на radiokot.ru и easyelectronics.ru.

Но может местые профи все-таки возмутся за написание курса по Ассемблеру для AVR :)
Аватара пользователя
foxit
 
Сообщения: 65
Зарегистрирован: 13 ноя 2007, 14:29
прог. языки: Си, Питон

Re: ASM для AVR - в вопросах и ответах

Сообщение Duhas » 09 дек 2008, 18:12

курс я постараюсь написать, но только после сессии..

такая трабла возникла.. инциализирую таймер1 в меге32 таким образом
Код: Выделить всёРазвернуть
timer1_init:
   ldi      tmp1,   0b10100010
   out      TCCR1A,   tmp1
   ldi      tmp1,   0b00011001
   out      TCCR1B,   tmp1   
   ldi      tmp1,   0xff
   out      ICR1L,   tmp1
   ldi      tmp1,   0x07
   out      ICR1H,   tmp1
ret

тоесть очистка по совпадению, установка на вершине..
фаст пвм топ=ICR
так эта борода в авр студии умудряется мне устройть PhaseCorrect PWM с TOP=1FF

эт я после долгого секаса сэнкодером туплю или студия гонит?
«Как сердцу выразить себя? … Мысль изреченная есть ложь!»
В этом мире меня подводит доброта и порядочность...
"двое смотрят в лужу, один видит лужу, другой отраженные в ней звезды"
Аватара пользователя
Duhas
 
Сообщения: 6338
Зарегистрирован: 15 сен 2007, 13:03
Откуда: Красноярск
прог. языки: ASM(МК), C(PC)
ФИО: Гагарский Андрей Александрович

Re: ASM для AVR - в вопросах и ответах

Сообщение avr123.nm.ru » 09 дек 2008, 23:58

Там разбирались с таймером - viewtopic.php?f=2&t=1070&p=74225#p74225
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Re: ASM для AVR - в вопросах и ответах

Сообщение Doniak » 28 окт 2010, 11:26

Такой вопрос, а как работать в асме с 16 битными числами?
например: переменная1=1000 переменная2=500 переменная3=переменная1+переменная2 ?
Аватара пользователя
Doniak
 
Сообщения: 142
Зарегистрирован: 26 сен 2007, 08:25
Откуда: Krivoy Rog, ukraina
прог. языки: Си
ФИО: Коля

Re: ASM для AVR - в вопросах и ответах

Сообщение avr123.nm.ru » 28 окт 2010, 11:33

Так как рекомендовано в апноутах ATMEL для AVR можно. В книге Ревич 2005 асм avr по русски.

Или универсальное решение - скомпилить в Си компиляторе и позырить АСМ листинг.
Читайте !
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Re: ASM для AVR - в вопросах и ответах

Сообщение galex1981 » 28 окт 2010, 13:37

Используешь 2 8ми битовых регистра для хранения одного числа и вручную пишешь функции сложения/вычитания/...
ЗЫ: Листинги даже полезно смотреть, правда иногда их можно и оптимизировать.
if(!Operate) Read(pDatasheet);
Аватара пользователя
galex1981
 
Сообщения: 4362
Зарегистрирован: 04 дек 2008, 22:44
Откуда: Камышин
Skype: galk-aleksandr1
прог. языки: Kotlin, Java, C, C++, Assm, BasCom, VB, php
ФИО: Галкин Александр Владимирович

Re: ASM для AVR - в вопросах и ответах

Сообщение dccharacter » 20 май 2012, 13:54

УРА! Некропост!

Народ, что за фигня: функция printf каким-то образом тихо оверрайдится в зависимости от того, как заканчивается строка. Пример:

printf(" Disk: disk not initialized or not inserted.\n");
printf(" Disk: attempting to initialize...\r");

Дизассемблер:
74 printf(" Disk: disk not initialized or not inserted.\n");
0x08000894: ldr r0, [pc, #68] ; (0x80008dc <main+144>)
0x08000896: bl 0x8001054 <puts>
75 printf(" Disk: attempting to initialize...\r");
0x0800089a: ldr r0, [pc, #68] ; (0x80008e0 <main+148>)
0x0800089c: bl 0x8001028 <printf>

Вот кто и где это делает?

Добавлено спустя 1 минуту 14 секунд:
А, причем еще и строку правит, т.е. подменяет "\n" на 0

Добавлено спустя 2 минуты 11 секунд:
Среда - CooCox IDE, проблемы начались после прикручивания FatFS. Что-то мне кажется я где-то в коде видел строку "replaces \n blah blah blah", но теперь же фиг найдешь. А главное, непонятно, что искать.

Добавлено спустя 3 минуты 12 секунд:
Блин, нашел в ff.c вот такое:

#if _USE_STRFUNC >= 2
if (c == '\n') f_putc ('\r', fil); /* LF -> CRLF conversion */
#endif

Но как оно умудряется перехватывать вызовы функций из stdio?

Добавлено спустя 15 минут 1 секунду:
http://www.ciselant.de/projects/gcc_pri ... rintf.html
The string constant in line 4 changed from "hello worldn" to "hello world". The call printf on line 16 changed to call puts on line 14.
Нихрина себе. Нету у меня никакой оптимизации...

Добавлено спустя 7 минут 15 секунд:
Ага, попалась гадина...
> gcc-4.0.2 -fno-builtin -O0 example1.c
> nm --undefined-only a.out
w __gmon_start__
w _Jv_RegisterClasses
U __libc_start_main@@GLIBC_2.0
U printf@@GLIBC_2.0

Или

> gcc-4.0.2 -fno-builtin-printf -O0 example1.c
> nm --undefined-only a.out
w __gmon_start__
w _Jv_RegisterClasses
U __libc_start_main@@GLIBC_2.0
U printf@@GLIBC_2.0
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.
Аватара пользователя
dccharacter
 
Сообщения: 4995
Зарегистрирован: 10 дек 2010, 13:16
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей

Re: ASM для AVR - в вопросах и ответах

Сообщение Victorovych » 21 май 2012, 11:28

Предыдущий пост - агитация писать на асме? :D
Аватара пользователя
Victorovych
 
Сообщения: 491
Зарегистрирован: 20 сен 2007, 11:44
Откуда: Харьков
Skype: Victorovych_FF
прог. языки: ASM
ФИО: Иван ВикторОвич

Re: ASM для AVR - в вопросах и ответах

Сообщение dccharacter » 21 май 2012, 11:47

Мне сейчас сложно объяснить ход мыслей и выбор темы, но искать по слову asm я начал после прочтения справки по команде bl :-)
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.
Аватара пользователя
dccharacter
 
Сообщения: 4995
Зарегистрирован: 10 дек 2010, 13:16
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей

Re: ASM для AVR - в вопросах и ответах

Сообщение Ahtyng » 17 фев 2013, 17:35

Добрый день, где можно писать на ассемблер для stm32f4? Все что в гугле нарыл это keil, но там ассемблер какой то свой...
Ahtyng
 
Сообщения: 3
Зарегистрирован: 17 фев 2013, 11:47

Re: ASM для AVR - в вопросах и ответах

Сообщение dccharacter » 17 фев 2013, 18:22

notepad
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.
Аватара пользователя
dccharacter
 
Сообщения: 4995
Зарегистрирован: 10 дек 2010, 13:16
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей

Re: ASM для AVR - в вопросах и ответах

Сообщение elmot » 17 фев 2013, 18:39

Ahtyng писал(а):Добрый день, где можно писать на ассемблер для stm32f4? Все что в гугле нарыл это keil, но там ассемблер какой то свой...

Ответили уже в другйо ветке. Не нужно тут на асме писать. А в кейле - асм как асм, обычный армовский.
Аватара пользователя
elmot
 
Сообщения: 5691
Зарегистрирован: 10 ноя 2011, 12:02
Откуда: Turku, Finland
Skype: elmot73
прог. языки: Java и все-все=все
ФИО: Илья


Вернуться в Микроконтроллеры

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

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