Відповісти

Введіть повідомлення і натисніть Надіслати
Параметри

Назад

Огляд теми (нові повідомленні вгорі)

Googlist
2017-01-24 21:30:53

Приехало про микро (то что с юсб но без юсб, или то или другое где), вачдог не работает или работает крайне криво. Хотя может бьіть єто особенности порта. Стоит в юсб считает до посинения. Если отрезетить физически - один раз доходит до девяти, вачдогается и дальше начинает считать до посинения.

Наверное таки работал, просто особенность работьі через юсб что не сбрасьівается вачдогом. Сломал ардуину, перешил через битбанг с бутлоадером из иде, работает так же, через юсб считает до посинения, через сериал1 сбрасьівается как положено.

Nefreemen
2016-12-31 13:51:24
Googlist пише:

Ну та и я єтим же проверял.

Ну а за чем изобретать велосипед roll

Googlist
2016-12-31 02:40:43

Ну та и я єтим же проверял.

Nefreemen
2016-12-30 23:40:52

Работу проверял при помощи этого скетча:

#include <avr/wdt.h>
void setup() {
  wdt_disable(); // бесполезная строка до которой не доходит выполнение при bootloop
  Serial.begin(9600);
  Serial.println("Setup..");

  Serial.println("Wait 5 sec..");
  delay(5000); // Задержка, чтобы было время перепрошить устройство в случае bootloop
  wdt_enable (WDTO_8S); // Для тестов не рекомендуется устанавливать значение менее 8 сек.
  Serial.println("Watchdog enabled.");
}

int timer = 0;

void loop() {
  // Каждую секунду мигаем светодиодом и значение счетчика пишем в Serial
  if (!(millis() % 1000)) {
    timer++;
    Serial.println(timer);
    digitalWrite(13, digitalRead(13) == 1 ? 0 : 1); delay(1);
  }
    wdt_reset();
}

Он прост и понятный. Для убедительности можете закоментовать wdt_reset() и посмотреть в монитор  smile .
При баге после 9 происходит бутлуп (светодиод быстро мигает). А при отсутствии бага происходит сброс и все по новой до 8 smile .
В Arduino IDE есть исходники как исходного optiboot так и "модифицированного" можно посмотреть  big_smile .

Googlist
2016-12-30 21:54:31

Спасибо за столь масштабное исследование. Мой опьіт, правда, говорит другое, но наверняка вина дядюшки Ляо, я-то загрузчик через иде не обновлял, с чем пришло то и проверял. А чем проверяли вачдога?

Nefreemen
2016-12-30 13:23:39

И так, прошивка bootloader в Pro mini 328p а так же Nano V3 при помощи USBasp в Arduino IDE v.1.6.9 (более ранних версий у меня нет sad ) и проверка работоспособности WDT показала отсутствие бага. Прошивка выполнялась стандартным способом (без подмены файла загрузчика) с использованием загрузчика ATmegaBOOT_168_atmega328.hex.
Работоспособность WDT проверялась при помощи всем известного скетча и монитора Serial (не по светодиоду  lol ).
Вопрос с загрузчиком в Pro mini считаю закрытым.
Отдельное спасибо Googlist за интересную информацию по использованию USB<->Serial конвертера на базе чипа FT232R в качестве программатора ISP (режим Bit Bang).

P.S. Что бы не было кривотолков (и в подтверждение ранее мной написанного) делал проверку "родного" загрузчика в 3 платках (больше к сожалению у меня не было sad ) купленных в 15 и 16 году (какие из них когда не знаю sad ). Подтверждаю еще раз отсутствие  бага WDT. Перед прошивкой bootloader стирание flash делал при помощи STK500. Но не взирая на все выше изложенное для тех кому принципиально важна работа WDT все таки проверять smile, из китая может быть и "привет" lol .

Nefreemen
2016-12-27 23:47:20
Nefreemen пише:

Не знаю как там у "нормальных пацанов" с ногами или чем то другим  smile . Для того что бы я убедился что я нуб  big_smile просьба ссылочку на страницу из datasheet на Atmega328 о прошивке bootloader по Serial, или прошивке Hex файла без лоадера по Serial . Сниму шляпу и поставлю пиво  lol .

Так мухи от котлет отдельно smile . По моему Serial и SPI (ISP) разные вещи.
Пиво мне не жалко big_smile . Шляпу тоже сниму не тяжело big_smile . И только потому что не внимательно посмотрел внизу описание подключения, а в тексте не подчеркнуто об "экзотике" программатора а только цель- замена бутлоадера.

Googlist
2016-12-27 23:10:25

О, пиво значит зажали, так я и думал. Так битбанг вам как раз и даст тот же спі, просто адаптер позиционируется как сериал. И уточняйте тогда, что в атмегу без бутлоадера надо произвольньій гекс шить, а не гекс без бутлоадера в произвольную атмегу, а то читается двояко.

Googlist
2016-12-27 22:27:50
Nefreemen пише:

Не знаю как там у "нормальных пацанов" с ногами или чем то другим  smile . Для того что бы я убедился что я нуб  big_smile просьба ссылочку на страницу из datasheet на Atmega328 о прошивке bootloader по Serial, или прошивке Hex файла без лоадера по Serial . Сниму шляпу и поставлю пиво  lol .

Вот. Не атмега даташитаппнот, правда, но фурьічит. Тю, а через сериал хекса без бута шьется только в путь, просто кнопку ж нажать, или дудкину команду набрать и впуть.

Nefreemen
2016-12-27 21:48:39

Не знаю как там у "нормальных пацанов" с ногами или чем то другим  smile . Для того что бы я убедился что я нуб  big_smile просьба ссылочку на страницу из datasheet на Atmega328 о прошивке bootloader по Serial, или прошивке Hex файла без лоадера по Serial . Сниму шляпу и поставлю пиво  lol .

Googlist
2016-12-27 21:37:04
Nefreemen пише:

Не понял  roll , чего Вы здесь написали  roll? Каким боком здесь упомянули FT232R (USB to Srial конвертер) roll ? Как будто Вы прошивали в своем способе (описанном в пред. топике) без программатора? Загрузчик в Arduino можно прошить  только при помощи внутрисхемного интерфейса SPI и не важно какою среду использовать ИДЕ или "дудку". Исходим из следующего: среда Arduino IDE для программирования использует модифицированный AVRdude это первое, она также поддерживает USBasp это второе, среда содержит в себе правильный (без бага) загрузчик это третье, вопрос зачем все ранее описанное Вами roll ?

От таким боком. Не всьо так просто под луной, и FT232R умеет работать с дудкой в режиме Gang Bang, ну или как-то так big_smile . Ноги переназначаются и заменяет програмер спі, в сабже все написано. Так шта програмерьі для нубов, нормальньіе пацаньі шьют через сериал)))
А описано все єто для того, что бьі люди знали, как можно вьікрутиться в сложньіх ситуациях, когда тебе и вачдог нужен, и шекелей на кучерявьіе ардуиньі и програмер нету.

Googlist
2016-12-27 21:32:04
void loop пише:

Optiboot только в Уно и в Мини. Тоже прошиваю optiboot в Nano. Размер загрузчика 512 байт, поэтому в boards.txt добавляю новые строки

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


Nefreemen, когда чясто лампочкой мигает то єто значит шо вачдог не работает) У меня две бьіло мини и обе без вачдога, жду еще, потестю.

Nefreemen
2016-12-27 21:30:06
Googlist пише:

Нет, я проверял же перед стартом, ничего не устранили. Да и из ИДЕ загрузчик прошить без прогера та еще задача, мне удавалось только напрямую дудкой шить, что с USBasp, FT232R. Там написано, кстати, де читать и что сделать для проверки.

Не понял  roll , чего Вы здесь написали  roll? Каким боком здесь упомянули FT232R (USB to Srial конвертер) roll ? Как будто Вы прошивали в своем способе (описанном в пред. топике) без программатора? Загрузчик в Arduino можно прошить  только при помощи внутрисхемного интерфейса SPI и не важно какую среду использовать ИДЕ или "дудку". Исходим из следующего: среда Arduino IDE для программирования использует модифицированный AVRdude это первое, она также поддерживает USBasp это второе, среда содержит в себе правильный (без бага) загрузчик это третье, вопрос зачем все ранее описанное Вами roll ?

Nefreemen
2016-12-27 20:54:22

Ради эксперимента взял Nano V3 (Китай) запустил тест по вачдогу, работает. Кто считает что загрузчик в Nano (Atmega328) и Pro mini (таже атмега) разный? Nano V3 Это абсолютно та же Pro mini (я имею ввиду АТ328, по поводу 168 ничего утверждать не стану, не имел дела с ней) но с CH340 на борту. Поэтому думаю что либо говорить о баге с вачдогом в загрузчике для Pro mini и Nano V3 на базе 328 атмеги  не имеет смысла.

void loop
2016-12-27 15:42:47

Optiboot только в Уно и в Мини. Тоже прошиваю optiboot в Nano. Размер загрузчика 512 байт, поэтому в boards.txt добавляю новые строки
atmega328o.name=[Optiboot] Arduino Nano ATmega328
atmega328o.upload.protocol=arduino
atmega328o.upload.maximum_size=32256
atmega328o.upload.speed=115200
atmega328o.bootloader.low_fuses=0xff
atmega328o.bootloader.high_fuses=0xde
atmega328o.bootloader.extended_fuses=0x05
atmega328o.bootloader.path=optiboot
atmega328o.bootloader.file=optiboot_atmega328.hex
atmega328o.bootloader.unlock_bits=0x3F
atmega328o.bootloader.lock_bits=0x0F
atmega328o.build.mcu=atmega328p
atmega328o.build.f_cpu=16000000L
atmega328o.build.core=arduino:arduino
atmega328o.build.variant=arduino:standard

Підвал форуму