Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: ATtiny2313
Программаторы Мастер > Наши программаторы > Микросхемы
Mytilus G.
Привет!

Прикупил МАСТЕР-32, чтобы учиться программировать контроллеры. И сразу столкнулся с проблемами. Использую ATtiny2313-20PU. После прошивки МК не выполняет программу, а при выборе "Чтение ПЗУ" в MasterLink вижу совсем не то, что прошивал.

Настойки МастерЛинка такие:
Микросхема: ATtiny-2313
Скорость: 9600

Прошиваю без адаптера (где-то тут читал, что он не нужен). Самый элементарный код программы, которую прошивал:
.cseg
.org 0
ser R16
out DDRB, R16
out PortB, R16
Loop: rjmp Loop


Фьюзы: CKSEL0, CKSEL2, CKSEL3, SUT0, SPIEN

Тактовый генератор встроенный. Порты B после прошивки молчат. Что я делаю не так?
masterra
Сделайте после чтения прошивки Swap (изменить порядок байт).
Hex как получили?
Цитата(Mytilus G. @ 24.2.2012, 23:03) *
Привет!

Прикупил МАСТЕР-32, чтобы учиться программировать контроллеры. И сразу столкнулся с проблемами. Использую ATtiny2313-20PU. После прошивки МК не выполняет программу, а при выборе "Чтение ПЗУ" в MasterLink вижу совсем не то, что прошивал.

Настойки МастерЛинка такие:
Микросхема: ATtiny-2313
Скорость: 9600

Прошиваю без адаптера (где-то тут читал, что он не нужен). Самый элементарный код программы, которую прошивал:
.cseg
.org 0
ser R16
out DDRB, R16
out PortB, R16
Loop: rjmp Loop


Фьюзы: CKSEL0, CKSEL2, CKSEL3, SUT0, SPIEN

Тактовый генератор встроенный. Порты B после прошивки молчат. Что я делаю не так?

Mytilus G.
Hex взял у AVR Studio.
masterra
При чтении Hex автоматически меняется порядок байт для 16-битных м.с.
В данном случае этого делать не нужно, исправим в программе.
Пока нужно сделать Swap.
Цитата(Mytilus G. @ 25.2.2012, 23:46) *
Hex взял у AVR Studio.

Mytilus G.
Ладно. С чтением понятно. Но почему у меня ничего не работает? Что я проглядел?

1. Создаю hex
исходник:
CODE
.cseg
.org 0
ldi R16, 0b11111111
out DDRB, R16
ldi R16, 0b10101010
out PORTB, R16

hex-файл:
CODE
:020000020000FC
:080000000FEF07BB0AEA08BB81
:00000001FF

2. Втыкаю программатор в комп
3. Подаю на него питание
4. Запускаю MasterLink (прошивка 5.01)
5. Выбираю м/с ATtiny2313
6. Устанавливаю м/с в программатор
7. Щелкаю "Чтение файла" и выбираю свой hex
8. Щелкаю "Программирование ПЗУ"
9. Проверяю фьюзы
10. Закрываю MasterLink
11. Вынимаю м/с и втыкаю в макетную плату
13. Подаю напряжение на м/с и проверяю напряжение на портах вывода - 0 вольт

Есть ли ошибка в моих действиях?
masterra
Ошибка в выборе формата, должен быть Hex.
После чтения в буфере должен быть код программы.
При необходимости нужно сделать Swap.
Цитата(Mytilus G. @ 26.2.2012, 13:35) *
Ладно. С чтением понятно. Но почему у меня ничего не работает? Что я проглядел?

1. Создаю hex
исходник:
CODE
.cseg
.org 0
ldi R16, 0b11111111
out DDRB, R16
ldi R16, 0b10101010
out PORTB, R16

hex-файл:
CODE
:020000020000FC
:080000000FEF07BB0AEA08BB81
:00000001FF

2. Втыкаю программатор в комп
3. Подаю на него питание
4. Запускаю MasterLink (прошивка 5.01)
5. Выбираю м/с ATtiny2313
6. Устанавливаю м/с в программатор
7. Щелкаю "Чтение файла" и выбираю свой hex
8. Щелкаю "Программирование ПЗУ"
9. Проверяю фьюзы
10. Закрываю MasterLink
11. Вынимаю м/с и втыкаю в макетную плату
13. Подаю напряжение на м/с и проверяю напряжение на портах вывода - 0 вольт

Есть ли ошибка в моих действиях?

Mytilus G.
У меня ведь и так Hex. huh.gif
Цитата(masterra @ 27.2.2012, 0:22) *
Ошибка в выборе формата, должен быть Hex.
После чтения в буфере должен быть код программы.
При необходимости нужно сделать Swap.

masterra
После чтения файла, что видите в буфере?
Цитата(Mytilus G. @ 27.2.2012, 11:32) *
У меня ведь и так Hex. huh.gif

Mytilus G.
EF 0F BB 07 EA 0A BB 08 FF FF FF FF ...
Цитата(masterra @ 28.2.2012, 0:42) *
После чтения файла, что видите в буфере?
masterra
Swap делали перед записью?
Цитата(Mytilus G. @ 28.2.2012, 15:10) *
EF 0F BB 07 EA 0A BB 08 FF FF FF FF ...

Mytilus G.
Пробовал и со swap'ом, и без. Если брать hex от исходника, который я привел последним, то получается такая вот ситуация:
- без swap перед записью (EF 0F BB 07 EA 0A BB 08): чтение возвращает именно то, что записывал
- со swap перед записью (0F EF 07 BB 0A EA 08 BB): почему-то возвращает 0F 0F 03 03 0A 0A 08 08

Очень нужен совет, так как пока только обучаюсь, а без возможности программировать м/с мое обучение стоит на месте.
Цитата(masterra @ 28.2.2012, 23:18) *
Swap делали перед записью?
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
IPB NULL RU