Ich stelle Euch also auch noch am besten ein kleines Shellskript zur Verfügung, welches ich zum kompilieren und flashen benutze.
Mit dem Editor Kate editiere ich die Quelldateien, dann habe ich immer noch ein Konsolenfenster im jeweiligen Arbeits-/Projektpfad auf.
Hier rufe ich dann einfach das Shellskript auf.
Die Datei wird dann kompiliert.Code:./binflash Bascomdatei_ohne_bas
Gibt es Fehler werden diese ausgegeben und die Verarbeitung abgebrochen.
An sonsten werden nur die wichtigsten Daten ausgegeben und danach auf eine Tasteneingabe gewartet.
Danach wird das Binary mit avrdude geflasht.
Dies funktioniert deutlich schneller als unter der Oberfläche, vor allem da man sich das ganze klicken sparen kann.
Das Shellskript ist immer noch sehr rudimentär und könnte deutlich verbessert werden.
Für Verbesserungen wäre ich also sehr dankbar.
Vor allem habe ich zur Zeit noch jeweils eine Kopie von binflash.sh in jedem Projektpfad.
Der Projektpfad muss jeweils angepasst werden:
Ich habe dies noch nicht geändert, da auch die Compileroptionen hier angepasst werden können bzw. müssen:Code:Projekt="Projektname"
Scheinbar werden die Parameter für den Stack sowie der Chip vom Compiler nicht aus dem Quellcode ausgelesen, sondern dem Compiler beim Aufruf übergeben.Code:/usr/bin/wine bascomp.exe 'd:\Bascom\$Projekt\'$1'.bas' SS=100 FR=100 HW=100 CHIP=17
Die Angaben müssen also beim Aufruf mit korrekt übergeben werden!
Der komplette Vorgang erzeugt dann z.B. so eine Ausgabe:
Code:PC:/win/Bascom/Netswitch$ ./binflash.sh Test6 err:winedevice:ServiceMain driver L"IOPort" failed to load bascomp command line compiler version 1.11.9.x supports all existing and future DAT files DAT Directory :C:\Programme\BASCOM-AVR\*.DAT DAT files found :67 EEPROM : 200 hex ROMSIZE : 2000 hex ROMIMAGE : 5E6 hex -> Will fit into ROM ROMIMAGE : 1510 dec _ROMSIZE 8192 FLASH USED : 18 % Compiled - ready to flash! avrdude: AVR device initialized and ready to accept instructions Reading | ################################################## | 100% 0.00s avrdude: Device signature = 0x1e9307 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 "/win/Bascom/Netswitch/Test6.bin" avrdude: writing flash (1510 bytes): Writing | ################################################## | 100% 0.94s avrdude: 1510 bytes of flash written avrdude: verifying flash memory against /win/Bascom/Netswitch/Test6.bin: avrdude: load data flash data from input file /win/Bascom/Netswitch/Test6.bin: avrdude: input file /win/Bascom/Netswitch/Test6.bin contains 1510 bytes avrdude: reading on-chip flash data: Reading | ################################################## | 100% 0.48s avrdude: verifying ... avrdude: 1510 bytes of flash verified avrdude: safemode: Fuses OK avrdude done. Thank you.








Zitieren

Lesezeichen