Die Dateigröße wird aber beim Flashen nicht angezeigt, sondern die Größe der "Nutzdaten".
HB-UNI-Sensor1-THPD-BME280 HomeAssistant
Moderator: Co-Administratoren
-
- Beiträge: 12116
- Registriert: 20.11.2016, 20:01
- Hat sich bedankt: 849 Mal
- Danksagung erhalten: 2150 Mal
- Kontaktdaten:
Re: HB-UNI-Sensor1-THPD-BME280 HomeAssistant
- stan23
- Beiträge: 2042
- Registriert: 13.12.2016, 21:14
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Altmühltal
- Hat sich bedankt: 586 Mal
- Danksagung erhalten: 337 Mal
- Kontaktdaten:
Re: HB-UNI-Sensor1-THPD-BME280 HomeAssistant
Der Bootloader an sich ist nur Programmcode, wird also in den Flash geschrieben.Hackertomm hat geschrieben: ↑21.04.2021, 09:52Ich würde übrigens, erst den Bootloader flashen und dann die Fuses setzen!
Denn der Bootloader könnte andere Fuses mitbringen.
Mit AVRdude (Kommandozeile) oder AVRDUDESS (GUI) passiert auch nur genau das.
Tatsächlich ändert die Arduino IDE bei der Aktion "Bootloader brennen" auch die Fuses in einer Art, wie sie zum gewählten Board (meistens "Arduino Pro Mini") passen.
Viele Grüße
Marco
RaspberryMatic als VM auf einem NUC mit Proxmox und USB-Funkmodul
~80 Geräte (HM, HmIP, HMW, HBW, AskSin)
Marco
RaspberryMatic als VM auf einem NUC mit Proxmox und USB-Funkmodul
~80 Geräte (HM, HmIP, HMW, HBW, AskSin)
- FUEL4EP
- Beiträge: 586
- Registriert: 01.11.2017, 17:26
- System: Alternative CCU (auf Basis OCCU)
- Hat sich bedankt: 76 Mal
- Danksagung erhalten: 79 Mal
- Kontaktdaten:
Re: HB-UNI-Sensor1-THPD-BME280 HomeAssistant
Ich beziehe mich auf RG1004's LOG
Code: Alles auswählen
avrdude.exe: input file C:\Program Files (x86)\AVRDUDESS\ATmegaBOOT_168_atmega328_pro_8MHz.hex contains 32652 bytes
Grüße
Ewald
Meine SmartHome Entwicklungen gibt es hier: FUEL4Ps Homeautomation Github Repository oder als ZIP
Das passende RaspberryMatic Addon ist hb-ep-devices-addon
Passende Platinen gib es hier: PCBs
Ewald
Meine SmartHome Entwicklungen gibt es hier: FUEL4Ps Homeautomation Github Repository oder als ZIP
Das passende RaspberryMatic Addon ist hb-ep-devices-addon
Passende Platinen gib es hier: PCBs
-
- Beiträge: 1793
- Registriert: 30.08.2017, 23:25
- Hat sich bedankt: 175 Mal
- Danksagung erhalten: 399 Mal
- Kontaktdaten:
Re: HB-UNI-Sensor1-THPD-BME280 HomeAssistant
Moin Jerome,
dieser Bootloader geht erst bei Addr 7800h / 30720 los, und geht bis ca. Addr. zu 7F8Ch / 32652
ich denke die Ausgabe
bezieht sich auf die oberste Addr im hex file, ohne Rücksicht darauf das unter 7800h alles frei ist.avrdude.exe: input file C:\Program Files (x86)\AVRDUDESS\ATmegaBOOT_168_atmega328_pro_8MHz.hex contains 32652 bytes
https://github.com/TomMajor/SmartHome/b ... o_8MHz.hex
Sollte also passen für den bootloader.
Viele Grüße,
Tom
Tom
-
- Beiträge: 12116
- Registriert: 20.11.2016, 20:01
- Hat sich bedankt: 849 Mal
- Danksagung erhalten: 2150 Mal
- Kontaktdaten:
Re: HB-UNI-Sensor1-THPD-BME280 HomeAssistant
Stimmt, da ging es ja um den reinen Bootloader. Hab ich übersehen. Dachte das war Sketch-Hex-File
Re: HB-UNI-Sensor1-THPD-BME280 HomeAssistant
Also ich habe jetzt unendlich viel Zeit investiert um die Problematik genau zu rekonstruieren.
Zunächst habe ich den Original Bootloader gemäß Anleitung von Arduino mit Arduino IDE und dem Diamex Programmer wieder geflasht:
.
Wichtig ist, dass es nur in der im Screenshot dargestellten Konfiguration funktioniert, also Programmer "Atmel STK500 development board"
Wenn ich nun danach wie beschrieben mit dem AVRDUDE die Fuses adaptiere, ist ein Zugriff mit dem Arduino IDE nicht mehr möglich.
Also Kommando retour und nochmals Bootloader flashen wie zuvor beschrieben und dann wieder die Sketches (Freq.Test und danach den Fühler) flashen. Das funktioniert problemlos aber jetzt bin ich halt wieder am Anfang, nämlich dass sich der Sensor ohne ändern der Fuses nicht anlernen lässt.
Conclusio:
Der geänderte Bootloader z.B. https://github.com/TomMajor/SmartHome/b ... o_8MHz.hex führt zu folgenden Problemen:
- es lassen sich in welcher Konfiguration auch immer keine Sketches mehr über Arduino IDE einspielen
- nach dem Trennen und wiederverbinden des Arduino und verifizieren des Bootloaders kommt immer ein Fehler (beim ersten verifizieren nicht)
- mit dem Original Bootloader und Änderung der Fuses lassen sich keine Sketche mehr flashen.
Gibt es Ideen?
Zunächst habe ich den Original Bootloader gemäß Anleitung von Arduino mit Arduino IDE und dem Diamex Programmer wieder geflasht:
.
Wichtig ist, dass es nur in der im Screenshot dargestellten Konfiguration funktioniert, also Programmer "Atmel STK500 development board"
Wenn ich nun danach wie beschrieben mit dem AVRDUDE die Fuses adaptiere, ist ein Zugriff mit dem Arduino IDE nicht mehr möglich.
Also Kommando retour und nochmals Bootloader flashen wie zuvor beschrieben und dann wieder die Sketches (Freq.Test und danach den Fühler) flashen. Das funktioniert problemlos aber jetzt bin ich halt wieder am Anfang, nämlich dass sich der Sensor ohne ändern der Fuses nicht anlernen lässt.
Conclusio:
Der geänderte Bootloader z.B. https://github.com/TomMajor/SmartHome/b ... o_8MHz.hex führt zu folgenden Problemen:
- es lassen sich in welcher Konfiguration auch immer keine Sketches mehr über Arduino IDE einspielen
- nach dem Trennen und wiederverbinden des Arduino und verifizieren des Bootloaders kommt immer ein Fehler (beim ersten verifizieren nicht)
- mit dem Original Bootloader und Änderung der Fuses lassen sich keine Sketche mehr flashen.
Gibt es Ideen?
- Dateianhänge
-
- Bootlader.png (17.83 KiB) 451 mal betrachtet
- FUEL4EP
- Beiträge: 586
- Registriert: 01.11.2017, 17:26
- System: Alternative CCU (auf Basis OCCU)
- Hat sich bedankt: 76 Mal
- Danksagung erhalten: 79 Mal
- Kontaktdaten:
Re: HB-UNI-Sensor1-THPD-BME280 HomeAssistant
Lassen sich dann auch mit dem ISP Programmer "Sketch => Hochladen mit Programmer" keine Sketches mehr hochladen?
Mit einem ATmega328P basierten Testsensor habe ich Folgendes verifiziert:
a) Setzen der Fuses und Zurücklesen mit avrdude:
Code: Alles auswählen
avrdude: safemode: Fuses OK (E:FF, H:D6, L:D2)
a) mit dem ISP Programmer (Sketch=>Hochladen mit Programmer) ein Sketch erfolgreich hochladen:
Code: Alles auswählen
avrdude: Version 6.3-20190619
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright (c) 2007-2014 Joerg Wunsch
System wide configuration file is "/home/ewald/.arduino15/packages/arduino/hardware/avr/1.8.3/avrdude.conf"
User configuration file is "/home/ewald/.avrduderc"
User configuration file does not exist or is not a regular file, skipping
Using Port : usb
Using Programmer : stk500v2
avrdude: usbdev_open(): Found AVRISP mkII, serno: 0000000000000
AVR Part : ATmega328P
Chip Erase delay : 9000 us
PAGEL : PD7
BS2 : PC2
RESET disposition : dedicated
RETRY pulse : SCK
serial program mode : yes
parallel program mode : yes
Timeout : 200
StabDelay : 100
CmdexeDelay : 25
SyncLoops : 32
ByteDelay : 0
PollIndex : 3
PollValue : 0x53
Memory Detail :
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
eeprom 65 20 4 0 no 1024 4 0 3600 3600 0xff 0xff
flash 65 6 128 0 yes 32768 128 256 4500 4500 0xff 0xff
lfuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
hfuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
efuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
lock 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
calibration 0 0 0 0 no 1 0 0 0 0 0x00 0x00
signature 0 0 0 0 no 3 0 0 0 0 0x00 0x00
Programmer Type : STK500V2
Description : Atmel STK500 Version 2.x firmware
Programmer Model: AVRISP mkII
Hardware Version: 0
Firmware Version Master : 1.32
Vtarget : 3.3 V
SCK period : 8.00 us
avrdude: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.00s
avrdude: Device signature = 0x1e950f (probably m328p)
avrdude: NOTE: "flash" memory has been specified, an erase cycle will be performed
To disable this feature, specify the -D option.
avrdude: erasing chip
avrdude: reading input file "/tmp/arduino_build_863902/HB-UNI-Sensor1-THPD-BME280.ino.with_bootloader.hex"
avrdude: writing flash (32652 bytes):
Writing | ################################################## | 100% 10.92s
avrdude: 32652 bytes of flash written
avrdude: verifying flash memory against /tmp/arduino_build_863902/HB-UNI-Sensor1-THPD-BME280.ino.with_bootloader.hex:
avrdude: load data flash data from input file /tmp/arduino_build_863902/HB-UNI-Sensor1-THPD-BME280.ino.with_bootloader.hex:
avrdude: input file /tmp/arduino_build_863902/HB-UNI-Sensor1-THPD-BME280.ino.with_bootloader.hex contains 32652 bytes
avrdude: reading on-chip flash data:
Reading | ################################################## | 100% 9.69s
avrdude: verifying ...
avrdude: 32652 bytes of flash verified
avrdude done. Thank you.
Code: Alles auswählen
Using Port : /dev/ttyUSB0
Using Programmer : arduino
Overriding Baud Rate : 57600
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x00
Nachtrag: Versuche mal das Fuse-Setting H:D2 statt H:D6:
Code: Alles auswählen
avrdude: safemode: Fuses OK (E:FF, H:D2, L:FF)
Mit
Code: Alles auswählen
avrdude: safemode: Fuses OK (E:FF, H:D2, L:FF)
Grüße
Ewald
Meine SmartHome Entwicklungen gibt es hier: FUEL4Ps Homeautomation Github Repository oder als ZIP
Das passende RaspberryMatic Addon ist hb-ep-devices-addon
Passende Platinen gib es hier: PCBs
Ewald
Meine SmartHome Entwicklungen gibt es hier: FUEL4Ps Homeautomation Github Repository oder als ZIP
Das passende RaspberryMatic Addon ist hb-ep-devices-addon
Passende Platinen gib es hier: PCBs
Re: HB-UNI-Sensor1-THPD-BME280 HomeAssistant
Nochmals mit den neuen Einstellungen der Fuses getestet. Leider keine Verbesserung.
Ich fasse nochmals zusammen:
1.) Fuses sind auf E:FF, H:D6, L:D2 eingestellt und mittels AVRDUDESS verifiziert, ok
2.) ich habe dann mit dem Diamex Programmer und ARDUINO IDE den FreqTest Sketch erfolgreich mit Modus "Upload Using Programmer" hochgeladen, allerdings nur mit folgenden Einstellung beim ARDUINO IDE: Sobald ich die Programmereinstellung "AVRISP mkII" oder irgendeine andere Programmereinstellung (mit Ausnahme von "Atmel STK500 development board" wähle, kommt beim Hochladen eine Fehlermeldung:
3.) nach dem (vermutlich) erfolgreichen Hochladen des FreqTest Sketches mit der Programmeinstellung "Atmel STK500 development board" beginnt die Koppel LED auf der Platine zu blinken, was vermuten ließe der Frequenztest wird durchgeführt.
4.) Anwahl "Serial Monitor" im Arduino: dort kommt keinerlei Antwort: Bei den Erstversuchen kamen die Antworten wie beschrieben. Die Koppel LED hört auch nach 10-20 min nicht auf zu blinken
5.) Versuch den "HB-UNI-Sensor1-THPD-BME280.ino" Sketch hochzuladen: funktioniert ebenso, aber eben nur mit den zuvor beschriebenen Einstellungen im Arduino.
Ich komme da einfach nicht weiter.
Ich fasse nochmals zusammen:
1.) Fuses sind auf E:FF, H:D6, L:D2 eingestellt und mittels AVRDUDESS verifiziert, ok
2.) ich habe dann mit dem Diamex Programmer und ARDUINO IDE den FreqTest Sketch erfolgreich mit Modus "Upload Using Programmer" hochgeladen, allerdings nur mit folgenden Einstellung beim ARDUINO IDE: Sobald ich die Programmereinstellung "AVRISP mkII" oder irgendeine andere Programmereinstellung (mit Ausnahme von "Atmel STK500 development board" wähle, kommt beim Hochladen eine Fehlermeldung:
Code: Alles auswählen
Arduino: 1.8.13 (Windows Store 1.8.42.0) (Windows 10), Board: "Arduino Pro or Pro Mini, ATmega328P (3.3V, 8 MHz)"
Sketch uses 11052 bytes (35%) of program storage space. Maximum is 30720 bytes.
Global variables use 661 bytes (32%) of dynamic memory, leaving 1387 bytes for local variables. Maximum is 2048 bytes.
An error occurred while uploading the sketch
This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.
4.) Anwahl "Serial Monitor" im Arduino: dort kommt keinerlei Antwort: Bei den Erstversuchen kamen die Antworten wie beschrieben. Die Koppel LED hört auch nach 10-20 min nicht auf zu blinken
5.) Versuch den "HB-UNI-Sensor1-THPD-BME280.ino" Sketch hochzuladen: funktioniert ebenso, aber eben nur mit den zuvor beschriebenen Einstellungen im Arduino.
Ich komme da einfach nicht weiter.
-
- Beiträge: 680
- Registriert: 18.04.2018, 12:32
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Neuhausen auf den Fildern
- Hat sich bedankt: 15 Mal
- Danksagung erhalten: 19 Mal
Re: HB-UNI-Sensor1-THPD-BME280 HomeAssistant
Probier mal, den Sketch mit einem FDTI-Adapter hochzuladen!
Achtung!
Den Adapter vorher bitte auf 3.3V Jumpern!
Es geht zwar auch mit dem anderen Adapter, aber besser und einfacher mit dem FTDI-Adapter.
Das geht auch der Serielle Monitor in der Arduino IDE.
Achtung!
Den Adapter vorher bitte auf 3.3V Jumpern!
Es geht zwar auch mit dem anderen Adapter, aber besser und einfacher mit dem FTDI-Adapter.
Das geht auch der Serielle Monitor in der Arduino IDE.
Gruß
Hackertomm
Virtual Image auf einer Qnap TS-451D2, 2GHZ Celeron u. 8GB RAM, aktuell Raspberry OVA, Vers. 3.71.12.20231020
Hackertomm
Virtual Image auf einer Qnap TS-451D2, 2GHZ Celeron u. 8GB RAM, aktuell Raspberry OVA, Vers. 3.71.12.20231020
- FUEL4EP
- Beiträge: 586
- Registriert: 01.11.2017, 17:26
- System: Alternative CCU (auf Basis OCCU)
- Hat sich bedankt: 76 Mal
- Danksagung erhalten: 79 Mal
- Kontaktdaten:
Re: HB-UNI-Sensor1-THPD-BME280 HomeAssistant
Bitte, wie beschrieben, dieses Fuse-Setting verwenden:
(E:FF, H:D2, L:FF)
(E:FF, H:D2, L:FF)
ist falsch.1.) Fuses sind auf E:FF, H:D6, L:D2 eingestellt und mittels AVRDUDESS verifiziert, ok
Grüße
Ewald
Meine SmartHome Entwicklungen gibt es hier: FUEL4Ps Homeautomation Github Repository oder als ZIP
Das passende RaspberryMatic Addon ist hb-ep-devices-addon
Passende Platinen gib es hier: PCBs
Ewald
Meine SmartHome Entwicklungen gibt es hier: FUEL4Ps Homeautomation Github Repository oder als ZIP
Das passende RaspberryMatic Addon ist hb-ep-devices-addon
Passende Platinen gib es hier: PCBs