| Problem
Wer mit den PICs experimentieren will, braucht ein Programmiergerät und geeignete Software. Diese Software USBurn kann das mit einem Brenner8 (bzw. Brenner8mini) bzw. einem Brenner9 mit USB-Anschluss. Voraussetzungen - ein Brenner8 bzw. Brenner8mini bzw. Brenner9 - ein PC oder NoteBook mit Linux-Betriebssystem mit USB-Anschluss und den libusb-Treibern. |
![]() |
Möglichkeiten
- Brennen, Löschen,
Auslesen, Vergleichen,
- Entfernung des
Speicherschutzes
bei gleichzeitigem Löschen
Eine Liste der unterstützten PIC-Typen
befindet sich auf der "US-Burn für Windows" - Seite
| Option kurz |
Option lang |
Wert |
Bedeutung |
benutzbar |
| -h |
--help |
- |
Auflistung aller möglichen
Optionen |
ja |
| -r |
--read |
- |
Auslesen des PIC in ein HEX-File |
ja |
| -w |
--write |
- |
Brennen eines HEX-Files in den
PIC |
ja |
| -c |
--compare |
- |
Vergleichen eines PIC mit dem
HEX-File |
ja |
| -e |
--erase |
- |
Löschen des PIC |
ja |
| -p |
--remove |
- |
entfernt Codeprotection vom PIC
und löscht ihn |
ja |
| -i |
--info |
- |
bewirkt die zusätzliche
Ausgabe aller möglichen sinnlosen und hilfreichen Informationen |
ja |
| -d |
--reanimate |
- |
erweckt einen scheinbar toten
PIC wieder zum Leben |
ja |
| -l |
--list |
- |
listet alle unterstützten
PIC-Typen auf |
ja |
| -b |
--blank |
- |
testet, ob PIC leer ist |
nein |
| -f |
--firmware |
- |
brennt neue Firmware in den
Brenner |
ja |
| -k |
--calibration |
- |
kalibrieren der Vpp-Erzeugung
des Brenner8 |
ja |
| -t |
--test |
- |
interaktiver Test der Hardware |
ja |
| -o |
--boot |
- |
schaltet den Brenner in den
Bootloadermode |
ja |
| -n |
--normal |
- |
schaltet vom Bootloadermode in
den normalen Mode |
ja |
| -u |
--run |
- |
aktiviert vor Programmende die
Betriebsspannung des PIC via ICSP beim Brenner8P |
ja |
| -S |
--SOCKET |
8, 14, 18, 20, 28, 40, ICSP | Pinzahl des PIC im
DIL-Gehäuse (wenn er im Testsockel des Brenners steckt) bzw.
Auswahl des ICSP-Anschlusses (Vorgabe: 18 / ICSP) |
ja |
| -F |
--FAMILY |
10, 16, 18, 18J, 24, 30, 33 |
Auswahl der PIC-Familie
(PIC10F...dsPIC33F...) (Vorgabe: 16) |
ja |
| -H |
--HEX |
name.hex |
legt einen Namen für Brenn-
und Lese-Hexfile fest |
ja |
| -I |
--IN |
name.hex |
legt den Namen für das
Brenn-Hexfile fest (Vorgabe: HexIn.hex) |
ja |
| -O |
--OUT |
name.hex |
legt den Namen des Lese-Hexfiles
fest (Vorgabe: HexOut.hex) |
ja |
Die Version V 0.3 (vom
02.03.2010)
(für Brenner8 & 9)
Unterstützt
mit dem Brenner8 fast alle mir
bekannten 14-Bit-Kern-Typen (z.B. PIC16Fxxx) und 16-Bit-Kern-Typen
(z.B. PIC18F) sowie Signalcontroller der Serie dsPIC30Fxxxx (>170
unterschiedliche
Typen).
Zusätzlich werden die
12-Bit-Typen (PIC10F200 u.s.w) via ICSP-Kabel unterstützt.
Unterstützt
mit dem Brenner9 fast alle mir
bekannten PIC24, dsPIC33 sowie PIC18FxxJxx-Typen (via ICSP-Anschluss).
USBurn ist für Linux mit libusb-Treibern geeignet. (Ich teste die Software aber ausschließlich unter Debian 5.0.)
Dauer eines vollständigen Brennens
(FLASH + EEPROM + ID + Config) inclusive Vergleich auf Richtigkeit:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Bug: Ein unter
64-Bit-Linux compiliertes usburn kann die Database aufgrund einer
Typenunverträglichkeit nicht verarbeiten, und funktioniert deshalb
nicht. Das Problem wird in der nächsten Version behoben sein.
Solange sollte mit der zusätzlichen Option -m32 (im makefile) die Erzeugung von
32-Bit Code erzwungen werden.
Bug bis V0.2:
für
PIC24-Typen muss als
Familie z.Z. "33" und nicht "24" angegeben werden.
Die automatische Umschaltung auf den ICSP-Anschluss bei
PIC18J/PIC24/dsPIC funktioniert nicht. Es muss "-SICSP" verwendet
werden. (in V0.3 gefixt)
Bug bis V0.2: PICs
im 20-poligen
DIL-Gehäuse (wie z.B.
PIC16F631/677/685/687/689/690) sind mit der Einstellung --SOCKET 8 zu brennen, wenn sie im
40-poligen Testsockel eingesetzt sind. (in V0.3 gefixt)
Da der Zugriff auf
den Brenner8&9
nicht über Kernelmodule, sondern direkt über libusb erfolgt,
sind eigentlich root-Rechte
erforderlich. Damit alle User Zugriff bekommen, legt man eine
Datei "/etc/udev/rules.d/99-sprutbrenner"
an und schreibt in diese Datei:
SUBSYSTEM=="usb", SYSFS{idProduct}=="ff0b", SYSFS{idVendor}=="04d8",
GROUP = "plugdev"
Damit sollte der Brenner ab dem nächsten Einstecken
für alle User der plugdev-Gruppe (in der man ja grundsätzlich
sein muss, wenn man usb-Geräte benutzen möchte)
verfügbar sein. Getested unter Gentoo und Debian 4.0. (Danke
Marcel)
Dieser Trick funktioniert z.Z. nicht, beim Einspielen neuer Firmware in
den Brenner, da sich dabei der USB-Bootloader nicht als
"PIC-Brenner..." im System anmeldet. Zum Update der Firmware
benötigt man also noch Root-Rechte.
Das Programm ist
noch recht jung und
deshalb
sicherlich noch unreif. Ich bitte um Erfahrungsberichte.
Folgende Typen funktionieren z.Z. nicht sicher im Brenner8 (Brennen der ID kann fehlschlagen):
Alle PIC10Fxxx, PIC18FxxJxx,
PIC24,
dsPIC30F
und
dsPIC33F
werden nur über den
ICSP-Anschluss gebrannt.
Das Brennen von PICs mit im Flash oder
Config abgelegtem OSCCAL-Wert kann ich noch nicht empfehlen
(ungetestet).
Vom Brennen von PICs mit in der Config abgelegtem BG-Wert (Bandgap)
rate ich dringend ab, der BG-Wert ginge verloren.
02.03.2010
usburn für Linux V0.3
- einige Fehler beseitigt
- BG bleibt erhalten
- OSCCAL bleibt erhalten
- OSCCAL kann manuell eingestellt werden
18.12.2009
neue Database und aktuelle Firmware ins TAR-Archiv aufgenommen
19.09.2008
usburn für Linux V0.2
- Fehler in Typerkennung beseitigt
- Optionen "-I" und "-O" nachgerüstet
10.09.2008
- usburn für Linux V0.1