ATmega128

8-битные микроконтроллеры AVR (AT90, ATtiny, ATmega) от Atmel (в настоящий момент принадлежит Microchip)

Moderator: Shaos

SfS
Doomed
Posts: 491
Joined: 16 Apr 2005 22:35
Location: Томск

ATmega128

Post by SfS »

Поработал с ATMega128. Скоро выложу версию оськи, которая с ней корректно работает.

Хочу поделиться парой советов "для начинающих".
При программировании ATmega128, что бы использовать все ее ресурсы ОБЯЗАТЕЛЬНО надо изменить fuse-биты на следующие значения:

бит MEGA103C = 1 (отключаем совместимость с мегой103)
бит JTAGEN=1 (отключаем JTAG. если этого не сделать - то порт F работает только на ввод. в док ничего об этом не нашел. или дока куцая или я невнимательный. выяснилось только при подключении клавиатуры.)

Если тактировать контроллер будете от внешнего кварца, то биты CKSEL0..3 не забудьте установить в значение 0Ah (1010b).

Вроде пока вс.

Ну и в NedoPC-90.AVROS я добавил каталог, в котором храняться правильные значения fuse-битов, чтобы ОС запустилась. Эти значения прошиваются автоматом по команде Make load
Caro
Fanat
Posts: 88
Joined: 21 Nov 2002 11:09
Location: E-burg/Russia

Re: ATmega128

Post by Caro »

SfS wrote:бит MEGA103C = 1 (отключаем совместимость с мегой103)
бит JTAGEN=1 (отключаем JTAG. если этого не сделать - то порт F работает только на ввод. в док ничего об этом не нашел. или дока куцая или я невнимательный. выяснилось только при подключении клавиатуры.)
В доке написано, что в режиме совместимости с MEGA103 порт F работает только на чтение.
При разрешенном JTAG, старшие биты порта F (4..7) заняты его линиями
и не могут использоваться как линии порта ввода/вывода.
Младшие биты (0..3) при этом работают либо на ввод/вывод,
либо как входы АЦП.
Это все написано в разделе альтернативных функций портов.
SfS
Doomed
Posts: 491
Joined: 16 Apr 2005 22:35
Location: Томск

Re: ATmega128

Post by SfS »

Caro wrote:В доке написано, что в режиме совместимости с MEGA103 порт F работает только на чтение.
При разрешенном JTAG, старшие биты порта F (4..7) заняты его линиями
и не могут использоваться как линии порта ввода/вывода.
Младшие биты (0..3) при этом работают либо на ввод/вывод,
либо как входы АЦП.
Это все написано в разделе альтернативных функций портов.
Советы для начинающих :) Не все просекают, что по умолчанию МЕГА 128 работает в режиме совместимости с МЕГОЙ 103. У меня один знакомый с этим парился довольно долго (что собственно и сподвигло меня создать данную тему).

Про совместимость с MEGA103 в доке есть, не отрицаю. А вот про включенный JTAG - ни хрена у меня в доке нету.

Впрочем у меня неполная дока. Возможно в полной и все есть.
Caro
Fanat
Posts: 88
Joined: 21 Nov 2002 11:09
Location: E-burg/Russia

Re: ATmega128

Post by Caro »

SfS wrote:Про совместимость с MEGA103 в доке есть, не отрицаю. А вот про включенный JTAG - ни хрена у меня в доке нету.
Впрочем у меня неполная дока. Возможно в полной и все есть.
У меня DS - ATMega128(l).pdf размером больше 3 МБайт содержит 389 страниц текста.
Я думаю это полная дока. Скачал с сайта www.atmel.com
SfS
Doomed
Posts: 491
Joined: 16 Apr 2005 22:35
Location: Томск

Re: ATmega128

Post by SfS »

Caro wrote:У меня DS - ATMega128(l).pdf размером больше 3 МБайт содержит 389 страниц текста.
Я думаю это полная дока. Скачал с сайта www.atmel.com
Тоже уже скачал. :) Теперь если что вылезет - то только изза невнимательности. Ну или реальных недокументированных фич.
Caro
Fanat
Posts: 88
Joined: 21 Nov 2002 11:09
Location: E-burg/Russia

Re: ATmega128

Post by Caro »

SfS wrote:Теперь если что вылезет - то только изза невнимательности. Ну или реальных недокументированных фич.
Рекомендую, если еще не были, зайти по ссылке:
http://www.procyonengineering.com/avr/avrlib/
Отличный набор готовых решений для AVR на C.
SfS
Doomed
Posts: 491
Joined: 16 Apr 2005 22:35
Location: Томск

Re: ATmega128

Post by SfS »

Caro wrote:
SfS wrote:Теперь если что вылезет - то только изза невнимательности. Ну или реальных недокументированных фич.
Рекомендую, если еще не были, зайти по ссылке:
http://www.procyonengineering.com/avr/avrlib/
Отличный набор готовых решений для AVR на C.
Спасибо. Прекрасная ссылка. :)
User avatar
FreemaN
Senior
Posts: 124
Joined: 09 Jan 2009 20:30
Location: Мурманск

Post by FreemaN »

Кто может подсказать почему нельзя обьявить константу во флеш памяти? (WinAVR-20070525)
flash const unsigned char CharMap[6][128]; не прокатывает :x
Всё что ты видишь - лживый облик.
User avatar
HardWareMan
Banned
Posts: 2139
Joined: 20 Mar 2005 13:41
Location: От туда

Post by HardWareMan »

FreemaN wrote:Кто может подсказать почему нельзя обьявить константу во флеш памяти? (WinAVR-20070525)
flash const unsigned char CharMap[6][128]; не прокатывает :x
На асме вроде все проканывает. С для МК - моветон.
User avatar
CHRV
God
Posts: 1101
Joined: 29 Dec 2003 01:00
Location: Москва

Post by CHRV »

HardWareMan wrote:
FreemaN wrote:Кто может подсказать почему нельзя обьявить константу во флеш памяти? (WinAVR-20070525)
flash const unsigned char CharMap[6][128]; не прокатывает :x
На асме вроде все проканывает. С для МК - моветон.
ЭЭЭ нет ...
Для 128ой лучше использовать С. Ибо контролировать ассемблерный код > 8КБ это полный пипец (по крайней мере для меня).

Я использую следующий вариант:
1) WinAVR http://sourceforge.net/project/showfile ... p_id=68108
2) Родную студию http://www.atmel.com/dyn/products/tools ... ol_id=2725

ПРичем 1 интегрируется во 2 совершенно автоматически и без всяких проблем.
Московский филиал NedoPC http://www.nedopc.com
User avatar
FreemaN
Senior
Posts: 124
Joined: 09 Jan 2009 20:30
Location: Мурманск

Post by FreemaN »

FreemaN wrote:Кто может подсказать почему нельзя обьявить константу во флеш памяти? (WinAVR-20070525)
flash const unsigned char CharMap[6][128]; не прокатывает :x
Если подключить avr/pgmspace.h то прокатывает такое обьявление:
const unsigned char CP866[128][6] PROGMEM={...};
Всё что ты видишь - лживый облик.