Перейти к содержанию
    

2 Real:

Command:
avreal32 -aft2232=olimex.cfg +atmega128 -e -f_low=0x24,_high=0xD9,_ext=0xFE -w -v prog.hex
Can't open FTDI device with description "Dual RS232 A" (FT_DEVICE_NOT_FOUND)

Гляньте

avreal32 +atmega128 -aft2232 -p?

Нужно будет что-то в духе

avreal32 -aft2232=olimex.cfg -pd="Olimex OpenOCD JTAG A" +atmega128 -e -f_low=0x24,_high=0xD9,_ext=0xFE -w -v prog.hex

Я уже толком не помню, почему было решено не искать "что попало с А в хвосте", если не задано описание. Но сейчас без -pd= оно ищет описание по умолчанию со стёртой EEPROM

 

2) avreal так и не научился искать конфиг там-же где и сам располагается?
ма - ма ...

Когда же я за него возьмусь...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Нужно будет что-то в духе

avreal32 -aft2232=olimex.cfg -pd="Olimex OpenOCD JTAG A" +atmega128 -e -f_low=0x24,_high=0xD9,_ext=0xFE -w -v prog.hex

Спасибо, заработало.

Следующий вопрос:

если запускать БЕЗ ключика "-5", то не может спрограммировать:

Command:
  -o6Mhz "-pd=Olimex OpenOCD JTAG A" -aft2232=olimex.cfg +atmega128 -e -f_low=0x24,_high=0xD9,_ext=0xFE -w -v prog.hex
Adapter enabled
Device connected, mega128 detected
Chip not locked
Device erased
Device connected, mega128 detected
Can't write to locked chip

Reset pin released
Adapter disabled

 

Это нормально?

 

ма - ма ...

Когда же я за него возьмусь...

Ждём =)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

если запускать БЕЗ ключика "-5", то не может спрограммировать:
Ой, аж -5 ?

-1 не помогает ?

А напряжение питания какое?

 

А вообще странно, у меня шьёт вроде бы и без. Это дома надо глянуть, что там стоит для меги128.

Хотя такое ощущение, что времена стирания подкорректировать надо малость, уже было.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ой, аж -5 ?

-1 не помогает ?

А напряжение питания какое?

 

А вообще странно, у меня шьёт вроде бы и без. Это дома надо глянуть, что там стоит для меги128.

5вольт. Странно сейчас проверил (правда HEX уже другой). Работает и без ключика "-5".

До этого на "-3" - вылетал с ошибками верификации.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ой, аж -5 ?

-1 не помогает ?

А напряжение питания какое?

 

А вообще странно, у меня шьёт вроде бы и без. Это дома надо глянуть, что там стоит для меги128.

Хотя такое ощущение, что времена стирания подкорректировать надо малость, уже было.

 

Adapter enabled

Device connected, mega128 detected

Chip not locked

Device erased

Device connected, mega128 detected

Can't write to locked chip

 

Подтверждаю. Сам солкнулся с таким после перехода на послденюю версию avreal. Откат назад версии программатора помог.

stk200, atmega128l-8 под 3.3 вольта.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2) avreal так и не научился искать конфиг там-же где и сам располагается?

А абсолютный путь к конфигу указать то почему нельзя? Запись немного длиннее, ну да и бог с ней.

 

Такой вопрос - что за частоту указывает -o ?

Просто может тогда сразу уж сделать возможным указывать частоту SPI ? Ибо по сравнению с частотой работы AVR -o всегда приходится занижать... -o6MHz для 8MHz итд..

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А абсолютный путь к конфигу указать то почему нельзя? Запись немного длиннее, ну да и бог с ней.
Абсолютный путь плох, если надо таскать проект между компами, на которых это дело лежит в разных местах (хотя у меня давно многое унифицировано).

Впрочем, тут могут помочь переменные среды. Но это удобно для makefile/батников, а когда хочется что-то вручную попинать, то удобнее было бы что-то в духе "если путь не указан никакой, то сначала искать в текущем каталоге, потом в каталоге программы", так что тут я со страждущими солидарен.

 

Такой вопрос - что за частоту указывает -o ?

Просто может тогда сразу уж сделать возможным указывать частоту SPI ? Ибо по сравнению с частотой работы AVR -o всегда приходится занижать... -o6MHz для 8MHz итд..

Странно. После того, как avreal стал замерять время обращения к LPT я занижаю только для RC-генератора, но она может быть реально ниже, чем номинальная. А с кварцами проблем нет и раньше не было - при указании времени обращения вручную (к примеру, -pE800,0.35).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну, у меня то на ft2232, да и это так, запрос лишней фичи 8) Не работало кстати именно на тактовой с внутреннего. На кварцах не проверял давно - всегда ставлю немного ниже реальной, возможно зря.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Стоп!

Каюсь, грешен, "круглые" частоты кварцев (с точки зрения равенства получающейся частоты SPI у адаптера с максимально допустимой частотой SPI) проскакивают у меня редко и не помню - пробовал ли с FT2232, для которой это актуально. Платка с 8МГц кварцем на работе, а там LPT.

Вполне может быть, что при 8МГц кварце и 2МГц частоте SPI от FT2232 будут косяки, так как всё "на грани" и достаточно малой разности частот, чтобы всё разбежалось. Сейчас подберу "круглых" кварцев, погоняю на макетке с панелькой под кварц.

 

_____________

Изначально было сделано указание частоты тактирования кристалла, так как у 90s1200 и у 90s8515 было разное соотношение высокого/низкого уровней и avreal по частоте тактирования процессора вычисляет именно длительности H/L на SCK, плясать от частоты тактирования было удобнее. Хотя сейчас у ft2232 скважность фиксированная

Мысль задавать в том числе частоту SPI возникала уже, только для тактирования от avreal с делителем (-o0,8) всё равно пляшет от частоты тактирования да и старый ключ для совместимости оставить надо.

Сейчас avreal игнорирует регистр ключей, может сделать -o - частота тактирования, -O - частота SPI ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Сейчас avreal игнорирует регистр ключей, может сделать -o - частота тактирования, -O - частота SPI ?

может логичнее "-spi" ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

может логичнее "-spi" ?
Тогда уже --spifreq или что-то в таком духе, если переходить к длинным ключам.

Может и стоит перейти, так как ключи не совсем хороши сейчас, тот же -v обычно используется для задания уровня болтливости программы.

 

 

 

 

 

Подтверждаю. Сам солкнулся с таким после перехода на послденюю версию avreal. Откат назад версии программатора помог.

stk200, atmega128l-8 под 3.3 вольта.

Каюсь, грешен, что-то там действительно не так. Причём с мегой168 (а у меня в ходу сейчас она да 48-ая) всё нормально, откопал плату со 128-ой, повторил результат.

Причём даже при 5 вольтах надо -2 а то и -3.

Только для стирания, если стереть с -3 отдельным вызовом, то потом шьётся без этих ключей вообще.

Более того, если стереть с -3, то потом лок-биты стёрты и проверка на чистоту работает. Если после этого опять дать -e без замедления, то лок-биты оказываются прошиты. Возможно, там что-то на тему защиты от разлочки укороченным стиранием.

Раньше времена в табличках были с запасом, после перехода к замеру всех времён через таймеры ОС я их приблизил к документации.

С мега48, мега168, тини13 всё нормально, так что больше похоже на опечатку в табличках.

Сейчас буду сравнивать версии между собой и с описаниями.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Тьху, заболтался и забыл

 

Вполне может быть, что при 8МГц кварце и 2МГц частоте SPI от FT2232 будут косяки, так как всё "на грани" и достаточно малой разности частот, чтобы всё разбежалось. Сейчас подберу "круглых" кварцев, погоняю на макетке с панелькой под кварц.
Да, при совпадении частот плохо.

4, 6, 8, 12 МГц кварца дают 1,5, 2, 4, 3 МГц SPI, которые отрабатываются в FT2232 как запрошено и обмен срывается. Чип детектится, фьюзы читаются, а на чтении или записи - срыв.

На одном из горсти разных кварцев 4МГц один раз почти до конца зашилось :-)

Или в -o надо давать 10% запас частоты, или, что более правильно, добавить ключ частоты SPI и переложить ответственность за выбор частоты на пользователя :-)

 

 

Каюсь, грешен, что-то там действительно не так. Причём с мегой168 (а у меня в ходу сейчас она да 48-ая) всё нормально, откопал плату со 128-ой, повторил результат.

Причём даже при 5 вольтах надо -2 а то и -3.

Только для стирания, если стереть с -3 отдельным вызовом, то потом шьётся без этих ключей вообще.

КГМ...

Документация на atmega128 (и так забито в avreal):

tWD_FUSE      4.5 ms
tWD_FLASH     5 ms
tWD_EEPROM   10 ms
tWD_ERASE    10 ms

ATmega128.xml от AVRstudio

Прошивка флеша - 10мс.

Прошивка EEPROM - 20мс

Страние - 20мс

 

"повбивав би"

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Тьху, заболтался и забыл

 

Да, при совпадении частот плохо.

4, 6, 8, 12 МГц кварца дают 1,5, 2, 4, 3 МГц SPI, которые отрабатываются в FT2232 как запрошено и обмен срывается. Чип детектится, фьюзы читаются, а на чтении или записи - срыв.

На одном из горсти разных кварцев 4МГц один раз почти до конца зашилось :-)

Или в -o надо давать 10% запас частоты, или, что более правильно, добавить ключ частоты SPI и переложить ответственность за выбор частоты на пользователя :-)

Пользователю (мне) удобнее частоту камня указывать (так проще makefile делать). Думаю, будет простительно потерять 10% производительности.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А что мешает и сделать новый ключик и дать запас? Так и "по старому" будет работать и у любителей выжать 100% будет такая возможность 8) Можно сделать ключик, отключающий запас... но это уже имхо перебор.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А что мешает и сделать новый ключик и дать запас? Так и "по старому" будет работать и у любителей выжать 100% будет такая возможность 8)
Да, конечно, так лучше.

________________

 

Что вообще весело, так это то, что в xml-ках от AVRstudio в секциях STK500v2 и STK600 даны разные времена стирания/пргошивания для многих кристаллов. Но при этом везде времена записи больше от "ну немного" до "раза в два", а вот времена стирания - от "раза в два" до "на порядок".

 

Второй обнаруженный косяк - в свежих версиях не только скорость LPT замеряется, но и времена отсекаются уже не по нему (в случае использования ft2232 вообще не подгружается dlportio.dll и драйвер на машине может не стоять), а системными вызовами, заодно не занимает процессор зря.

Как-то я уже привык, что Windows по Sleep() даёт время от заказанного времени, округлённого вверх к своим квантам до в несколько раз большего, что тут не страшно (Sleep(0) всегда особняком стояло, речь не о нём).

Оказалось, что меньше тоже умеет. Буду проверять по таймеру и дотягивать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...