роботы робототехника микроконтроллеры


 Страниц (1): [1]   

> Описание: Не могли бы Вы рассказать как с помощью WinAVR влить код Assembler атмегу8(код на с я вливал без проблем)
Dmitry_84 Post Id



Рядовой


Сообщений всего: 13
Дата рег-ции: Янв. 2010  



Здравствуйте уважаемые форумчане. Я залил с помощью программатора "пяти проводок" в атмегу8 программу написанную на языке программирования C. у меня всё отлично заработало. Теперь я хочу проделать тоже самое, но на ассемблере. Текст программы на ассемблере у меня есть, правдо он очень сложный. Не могли бы Вы рассказать как с помощью WinAVR влить его в атмегу8
код на ассемблере
CODE:

;********************************************************************
; Учебная программа Led_1.asm
; Мигание светодиода на RB0
; 8,0 мгц
;********************************************************************
.include "m8def.inc" ; Header files
.def temp=r16 ; Временный регистр
.equ Led=0 ; Светодиод
;********************************************************************
; Инициализация контроллера
;********************************************************************
.org 0x0000 ; Вектор сброса
rjmp reset ; процессора
;********************************************************************
reset:
;********************************************************************
; Установка указателя стека
;********************************************************************
ldi temp, low(RAMEND)
out SPL, Temp
ldi temp, high(RAMEND)
out SPH, Temp
;********************************************************************
; Настройка портов
;********************************************************************
ldi temp, 0b11111111 ; Все порты PВ
out DDRB, temp ; на выход
;********************************************************************
; Основная программа
;********************************************************************
main: sbi PORTB, Led ; включить Led
rcall Pause ; пауза 0,5 сек
nop ; выравнивающие
nop ; нопы
cbi PORTB, Led ; выключить Led
rcall Pause ; пауза 0,5 сек
rjmp main ; заново
;********************************************************************
; Пауза 0,5 сек
;********************************************************************
Pause: ldi r17, 21
ldi r18, 75
ldi r19, 187
delay: dec r19
brne delay
dec r18
brne delay
dec r17
brne delay
nop
nop
ret
;********************************************************************

только не отсылайте к книгам Мне нужен работающий пример, который вдохновитель бы меня на дальнейшие изучение.
Заранее большое спасибо всем тем кто откликнется.
 
 Top
Dimka_18rus Post Id


Рядовой


Сообщений всего: 14
Дата рег-ции: Нояб. 2012  



ассемблер лучше компилировать под AVR Studio, последующий НЕХ файл заливать через любой программатор. если заинтересовал именно WinAVR, тут вроде расписано http://www.myrobot.ru/stepbystep/mc_makefile.php . Если микроконтроллерами заинтересовались, лучше собрать программатор посложнее, варианты тут: http://radiokot.ru/lab/controller/29/
Сам пользуюсь программатором PROTTOS. Удобно, когда прошивать приходится с ноута.
PS: в данной программе не нужны выравнивающие нопы, подпрограмма задержки делает тоже самое.
 
 Top
Dmitry_84 Post Id



Рядовой


Сообщений всего: 13
Дата рег-ции: Янв. 2010  



у меня установлен WinAVR. в папке своего проекта я делаю два файла my_pro_asm.asm и Makefile. эти два я прикрепил сюда в форум. Далее я открываю my_pro_asm.asm в natepad2 и делаю tools-> make clear. всё проходит без ошибок. далее я нажимаю make oll и в окне лога появляется надпись:
CODE:

> "make.exe" all

-------- begin --------
avr-gcc (WinAVR 20100110) 4.3.3
Copyright (C) 2008 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

make.exe: *** No rule to make target `my_pro_asm.elf', needed by `elf'. Stop.

> Process Exit Code: 2
> Time Taken: 00:01



подскажите пожалуйста в чём проблема. Вторую неделю мучаюсь
 
 Top
mihail Post Id



Гуру


Сообщений всего: 1065
Дата рег-ции: Март 2010  



Если хотите работать с ассемблером, устанавливайте AVR Studio и не мучайтесь. Если хотите использовать ассемблер в GCC, то RTFM Улыбка http://we.easyelectronics.ru/AVR...i-v-avr-gcc.html http://we.easyelectronics.ru/AVR...nom-proekte.html
 
 Top
cjA Post Id



Генерал


Сообщений всего: 3291
Дата рег-ции: Янв. 2010  



я make не понимаю, и не вижу нужды, поэтому что он там пишет переписываю в *.ват или *.sh (если в Лынукс) какой-нибудь и переписываю все построчно что он там предлагает.Dimka_18rus, вовсе нет , пишите gcc -c ля-ля.asm , получаете ля-ля.o , прикрепляете его в линковке.
 
 Top
Страниц (1): [1]
« Микроконтроллеры »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 





Powered by Exclusive Bulletin Board
ExBB FM 1.0 RC1 Smiles by Fool from Foolstown
  Яндекс.Метрика   Рейтинг@Mail.ru