В том то и дело, что они на железе работают, да и во встроенном Helpe они вроде бы есть (+)
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено Dir 12 мая 2003 г. 17:25
В ответ на: Нет. Все, как в 2313, к сожалению. Хотя не мешало бы проверить на железе - а вдруг? ;) отправлено BLACKEAGLE 08 мая 2003 г. 15:49

Но к встроенному Helpу у меня еще меньше доверия, чем DS.
Уже обнаруженные баги встроенного HELP:
- введена несуществующая в tiny26 команда EIJMP
- синтаксис команд STD Y+q,Rr и STD Z+q,Rr декларируется неправильно (ST Y+q,Rr и ST Z+q,Rr )
- отсутствует команда CLS.
Я бы может и поостергся использовать команды LPM Rd,Z и LPM Rd,Z+, но жизнь заставляет. Флэш забита под завязку, а замена кодов LPM на LPM Rd,Z и LPM Rd,Z+ позволит мне чуть-чуть сэкономить.
В общем, какие мнения насчет этих команд? Это ошибка DS или чтобы сразу же не выпускать ERRATy они были благоразумно исключены из даташитовского списка команд (а в ассемблере остались)?

PS. Симулируются команды LPM Rd,Z и LPM Rd,Z+ правильно.
PPS. Среда разработки - AStudio 4.07
PPPS. Для проверки на железе я использовал следующую тестовую программу (на голой ATtiny26). Как и полагается по логике - на всех ногах меандры.

.include "tn26def.inc"
.cseg
ldi ZL, Low(Table*2)
ldi ZH, High(Table*2)
ser R18
out DDRA,R18
out DDRB,R18
Loop:
wdr
lpm R16,Z+
andi ZL,0xFD
lpm R17,Z
out PORTA,R16
out PORTB,R17
rjmp Loop
.org 0x10
Table:
.db 0x55, 0xAA


Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru