Телесистемы
 Разработка, производство и продажа радиоэлектронной аппаратуры
На главную   | Карта сайта | Пишите нам | В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:jobsmp@pochta.ru

Телесистемы | Электроника | Конференция «Микроконтроллеры и их применение»

Кто-то спрашивал исходник загрузчика от AVR ISP. Вот сделал с помощью IDA Pro 5.0 и напильника :)

Отправлено Леонид Иванович 01 июля 2007 г. 23:50


Для переделки на s2313/t2313 по идее достаточно добавить инициализацию стека.


ldi temp1,RAMEND
out SPL,temp1 ; Locate stack

Можно еще задействовать встроенный UART на скорости 115200 бод, быстрее будет происходить обновление. Для этого нужно добавить инициализацию UART и заменить функции getc и putc.


;***************************************************************************
;*
;* CONSTANTES
;*
;***************************************************************************

;**** Constant declarations Data Rate ****

.equ XTAL = 11059200 ;XTAL frequency, kHz
.equ BAUD = 115200 ;Data rate, bauds

.equ N = ((XTAL*10)/(16*BAUD)-5)/10

;***************************************************************************
;*
;* FUNCTION
;* u_init
;*
;* DESCRIPTION
;* Initialize UART.
;*
;***************************************************************************

u_init:
ldi temp1,N ; set baud rate
out UBRR,temp1
ldi temp1,(1< out UCR,temp1
ret

;***************************************************************************
;*
;* FUNCTION
;* getc
;*
;* DESCRIPTION
;* Wait for start bit and receive a character on the UART Rx line.
;*
;***************************************************************************

getc:
sbis USR,RXC ; wait until a character has been received
rjmp getc
in u_data,UDR ; Read byte from the UART
ret

;***************************************************************************
;*
;* FUNCTION
;* putc
;*
;* DESCRIPTION
;* Send a character on the UART Tx line.
;*
;***************************************************************************

putc:
sbis USR,UDRE ; test for TX register empty
rjmp putc ; loop until TX empty
out UDR,u_data ; send the byte
ret




Составить ответ | Вернуться на конференцию

Ответы


Отправка ответа
Имя*: 
Пароль: 
E-mail: 
Тема*:

Сообщение:

Ссылка на URL: 
URL изображения: 

если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
вычтите два из трёх, получится:

Перейти к списку ответов | Конференция | Раздел "Электроника" | Главная страница | Карта сайта

Rambler's Top100 Рейтинг@Mail.ru
 
Web telesys.ru