nedoPC.org

Community of electronics hobbyists established in 2002

...
Atom Feed | View unanswered posts | View active topics It is currently 14 Nov 2018 16:31



Reply to topic  [ 11 posts ] 
ATmega128 
Author Message
Doomed

Joined: 16 Apr 2005 23:35
Posts: 492
Location: Томск
Reply with quote
Поработал с ATMega128. Скоро выложу версию оськи, которая с ней корректно работает.

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

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

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

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

Ну и в NedoPC-90.AVROS я добавил каталог, в котором храняться правильные значения fuse-битов, чтобы ОС запустилась. Эти значения прошиваются автоматом по команде Make load


22 Aug 2005 00:17
Profile
Fanat

Joined: 21 Nov 2002 12:09
Posts: 88
Location: E-burg/Russia
Reply with quote
SfS wrote:
бит MEGA103C = 1 (отключаем совместимость с мегой103)
бит JTAGEN=1 (отключаем JTAG. если этого не сделать - то порт F работает только на ввод. в док ничего об этом не нашел. или дока куцая или я невнимательный. выяснилось только при подключении клавиатуры.)
В доке написано, что в режиме совместимости с MEGA103 порт F работает только на чтение.
При разрешенном JTAG, старшие биты порта F (4..7) заняты его линиями
и не могут использоваться как линии порта ввода/вывода.
Младшие биты (0..3) при этом работают либо на ввод/вывод,
либо как входы АЦП.
Это все написано в разделе альтернативных функций портов.


22 Aug 2005 04:30
Profile WWW
Doomed

Joined: 16 Apr 2005 23:35
Posts: 492
Location: Томск
Reply with quote
Caro wrote:
В доке написано, что в режиме совместимости с MEGA103 порт F работает только на чтение.
При разрешенном JTAG, старшие биты порта F (4..7) заняты его линиями
и не могут использоваться как линии порта ввода/вывода.
Младшие биты (0..3) при этом работают либо на ввод/вывод,
либо как входы АЦП.
Это все написано в разделе альтернативных функций портов.


Советы для начинающих :) Не все просекают, что по умолчанию МЕГА 128 работает в режиме совместимости с МЕГОЙ 103. У меня один знакомый с этим парился довольно долго (что собственно и сподвигло меня создать данную тему).

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

Впрочем у меня неполная дока. Возможно в полной и все есть.


22 Aug 2005 20:32
Profile
Fanat

Joined: 21 Nov 2002 12:09
Posts: 88
Location: E-burg/Russia
Reply with quote
SfS wrote:
Про совместимость с MEGA103 в доке есть, не отрицаю. А вот про включенный JTAG - ни хрена у меня в доке нету.
Впрочем у меня неполная дока. Возможно в полной и все есть.
У меня DS - ATMega128(l).pdf размером больше 3 МБайт содержит 389 страниц текста.
Я думаю это полная дока. Скачал с сайта www.atmel.com


22 Aug 2005 21:49
Profile WWW
Doomed

Joined: 16 Apr 2005 23:35
Posts: 492
Location: Томск
Reply with quote
Caro wrote:
У меня DS - ATMega128(l).pdf размером больше 3 МБайт содержит 389 страниц текста.
Я думаю это полная дока. Скачал с сайта www.atmel.com


Тоже уже скачал. :) Теперь если что вылезет - то только изза невнимательности. Ну или реальных недокументированных фич.


23 Aug 2005 01:35
Profile
Fanat

Joined: 21 Nov 2002 12:09
Posts: 88
Location: E-burg/Russia
Reply with quote
SfS wrote:
Теперь если что вылезет - то только изза невнимательности. Ну или реальных недокументированных фич.
Рекомендую, если еще не были, зайти по ссылке:
http://www.procyonengineering.com/avr/avrlib/
Отличный набор готовых решений для AVR на C.


23 Aug 2005 01:44
Profile WWW
Doomed

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


Спасибо. Прекрасная ссылка. :)


23 Aug 2005 21:54
Profile
Senior
User avatar

Joined: 09 Jan 2009 21:30
Posts: 124
Location: Мурманск
Reply with quote
Post 
Кто может подсказать почему нельзя обьявить константу во флеш памяти? (WinAVR-20070525)
flash const unsigned char CharMap[6][128]; не прокатывает :x

_________________
Всё что ты видишь - лживый облик.


09 Feb 2009 09:49
Profile
Banned
User avatar

Joined: 20 Mar 2005 14:41
Posts: 2150
Location: От туда
Reply with quote
Post 
FreemaN wrote:
Кто может подсказать почему нельзя обьявить константу во флеш памяти? (WinAVR-20070525)
flash const unsigned char CharMap[6][128]; не прокатывает :x

На асме вроде все проканывает. С для МК - моветон.


09 Feb 2009 11:42
Profile
God
User avatar

Joined: 29 Dec 2003 02:00
Posts: 1115
Location: Москва
Reply with quote
Post 
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


10 Feb 2009 02:03
Profile ICQ WWW
Senior
User avatar

Joined: 09 Jan 2009 21:30
Posts: 124
Location: Мурманск
Reply with quote
Post 
FreemaN wrote:
Кто может подсказать почему нельзя обьявить константу во флеш памяти? (WinAVR-20070525)
flash const unsigned char CharMap[6][128]; не прокатывает :x


Если подключить avr/pgmspace.h то прокатывает такое обьявление:
const unsigned char CP866[128][6] PROGMEM={...};

_________________
Всё что ты видишь - лживый облик.


10 Feb 2009 16:52
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 11 posts ] 

Who is online

Users browsing this forum: No registered users and 2 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.