Клавиатура и NedoPC-90

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

Moderator: Shaos

User avatar
Shaos
Admin
Posts: 24083
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

SfS wrote:
Shaos wrote:А как программировать чип на использование внешнего кварца?
FUSE выставить надо. CKSEL=1110, CKOPT=0.
Внешний кварц от 1МГЦ до 16 МГц. Блокировочные кондеры на кварце - от 12пФ до 22пФ.
Вроде так.
А как выставить эту FUSE через твою систему сборки и/или программирующую программку uisp?
Я тут за главного - если что шлите мыло на me собака shaos точка net
SfS
Doomed
Posts: 491
Joined: 16 Apr 2005 22:35
Location: Томск

Post by SfS »

Shaos wrote:А как выставить эту FUSE через твою систему сборки и/или программирующую программку uisp?
Сейчас могу написать только в общих словах как я это делал для меги128. Думаю и для меги8535 можно аналогично.

1. Считываешь FUSE-биты в файл fuse.bin.
uisp -dlpt=/dev/parport0 --segment=fuse --download of=fuse.bin -v=0 -dprog=dapa --hash=32

2. Правишь в любом редакторе файл fuse.bin. В каком байте какие фузы - не помню, но это легко выяснить сопоставив значения байтов со значениями по умолчанию которые есть в документации. Там всего несколько байт.

3. Конвертируешь файл fuse.bin в fuse.hex.
arm-elf-objcopy -I binary -O ihex fuse.bin fuse.hex

4. Записываешь FUSE-биты в контроллер.

uisp -dlpt=/dev/parport0 --segment=fuse --upload -v=0 if=fuse.hex -dprog=dapa --hash=32

Примерно так.
Мой способ скорее всего не совсем рациональный - но другого я не придумал :)

Если все получилось, то файлик fuse.hex переименовываешь в fuse_atmega8535.hex и ложишь в каталог ./fuses.

После этого фузы для atmega8535 будут прошиваться автоматически по команде "make load"
SfS
Doomed
Posts: 491
Joined: 16 Apr 2005 22:35
Location: Томск

Post by SfS »

Видать в штатах ночь наступила :)
Получилось фузы выставить ?
User avatar
Shaos
Admin
Posts: 24083
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

SfS wrote:Видать в штатах ночь наступила :)
Получилось фузы выставить ?
Нет еще - сначала надо осмыслить написанное ;)
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Shaos
Admin
Posts: 24083
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

Со дня на день должен получить посылку от Jameco, где кроме всего прочего будут кварцы на 8 Мгц - а то у меня в хозяйстве только 20 ;)
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Shaos
Admin
Posts: 24083
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

Всё что касается новго девайса пернес в новый топик

P.S. Кварцы получил - теперь надо разбираться как заставить его работать ;)
Я тут за главного - если что шлите мыло на me собака shaos точка net
acidrain
Senior
Posts: 159
Joined: 28 Feb 2005 02:31
Location: Krasnodar, Russia

Post by acidrain »

Shaos wrote:
SfS wrote:
Shaos wrote:А как программировать чип на использование внешнего кварца?
FUSE выставить надо. CKSEL=1110, CKOPT=0.
Внешний кварц от 1МГЦ до 16 МГц. Блокировочные кондеры на кварце - от 12пФ до 22пФ.
Вроде так.
А как выставить эту FUSE через твою систему сборки и/или программирующую программку uisp?
А вындовьз или мс-дос чаво не пользуете? Если из принципа, тогда вам avreal не поможет;). Он оч просто умеет фузы и прочее делать.
User avatar
HardWareMan
Banned
Posts: 2139
Joined: 20 Mar 2005 13:41
Location: От туда

Post by HardWareMan »

acidrain wrote:А вындовьз или мс-дос чаво не пользуете? Если из принципа, тогда вам avreal не поможет;). Он оч просто умеет фузы и прочее делать.
У него WINE наверно есть.... =)
User avatar
Shaos
Admin
Posts: 24083
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

HardWareMan wrote:
acidrain wrote:А вындовьз или мс-дос чаво не пользуете? Если из принципа, тогда вам avreal не поможет;). Он оч просто умеет фузы и прочее делать.
У него WINE наверно есть.... =)
А у меня XP наверное есть как вторая ОС, тока я туда редко захожу ;)

P.S. Про ежа покоцал :)
Я тут за главного - если что шлите мыло на me собака shaos точка net
SfS
Doomed
Posts: 491
Joined: 16 Apr 2005 22:35
Location: Томск

Post by SfS »

acidrain wrote:А вындовьз или мс-дос чаво не пользуете? Если из принципа, тогда вам avreal не поможет;). Он оч просто умеет фузы и прочее делать.
avreal есть и под NIX.
http://ln.com.ua/~real/avreal/index.html
User avatar
Shaos
Admin
Posts: 24083
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

Shaos wrote:
SfS wrote:Видать в штатах ночь наступила :)
Получилось фузы выставить ?
Нет еще - сначала надо осмыслить написанное ;)
А теперь я жду тёплой погоды, чтобы открыть окно и спокойно попаять :)
Я тут за главного - если что шлите мыло на me собака shaos точка net
SfS
Doomed
Posts: 491
Joined: 16 Apr 2005 22:35
Location: Томск

Post by SfS »

Ну и как успехи ? :)
Имеются ? :)

Я сейчас из дурных командировок не вылажу - совсем не до паяльника, блин (
User avatar
Shaos
Admin
Posts: 24083
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

SfS wrote:Ну и как успехи ? :)
Имеются ? :)

Я сейчас из дурных командировок не вылажу - совсем не до паяльника, блин (
Тёплая погода пришла - скоро возьмусь за паяльник ;)
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Shaos
Admin
Posts: 24083
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

SfS wrote: 1. Считываешь FUSE-биты в файл fuse.bin.
uisp -dlpt=/dev/parport0 --segment=fuse --download of=fuse.bin -v=0 -dprog=dapa --hash=32

2. Правишь в любом редакторе файл fuse.bin. В каком байте какие фузы - не помню, но это легко выяснить сопоставив значения байтов со значениями по умолчанию которые есть в документации. Там всего несколько байт.

3. Конвертируешь файл fuse.bin в fuse.hex.
arm-elf-objcopy -I binary -O ihex fuse.bin fuse.hex
download мне почему-то сразу в HEX-формате файл возвращает...
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Shaos
Admin
Posts: 24083
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

Я посмотрел доку по uisp - оказывается у него есть специальные опции для чтения и записи фюзов - вот что он мне выдал по --rd_fuses:

Code: Select all

Fuse Low Byte      = 0xe1
Fuse High Byte     = 0xd9
Fuse Extended Byte = 0xff
Calibration Byte   = 0xa3  --  Read Only
Lock Bits          = 0xff
    BLB12 -> 1
    BLB11 -> 1
    BLB02 -> 1
    BLB01 -> 1
      LB2 -> 1
      LB1 -> 1
Я тут за главного - если что шлите мыло на me собака shaos точка net