Představovaný programátor navrhl Daniel Malík, bývalý zaměstnanec Freescale v Rožnově pod Radhoštěm. Jelikož je jeho konstrukce cenově dostupná a zdrojové kódy jsou uvolněné jako opensource, získal si tento programátor velmi velkou oblibu (nejen) u low-cost vývojářů. Na stránkách serveru HW.cz je možné si prohlédnout detailní popis konstrukce a případně si ji objednat (momentální cena 300Kč).

 

 

img

Schéma původní verze OSBDM

 

Programátor dokáže pracovat s řadami S08Coldfire V1, RS08. Řadu RS08 dokáže pouze debugovat, ostatní řady je možné debugovat i programovat zároveň. OSBDM je kompatibilní s vývojovým prostředím CodeWarrior.

 

Jelikož autor nelení a programátor neustále zdokonaluje, světlo světa spatřila nová verze USBDM. Tato verze dokáže pracovat i s jinými dvaatřicetibitovými mikrokontroléry řad Coldfire V2Coldfire V4. USBDM je postaveno na trochu jiném hardwaru (použitý čip MCS08JM60 - viz oficiální fórum).

 

Deska se součástkami (převzato z HW.cz)

 

Oživování

img
Rozchodit programátor tak, aby se přihlásil jako samostatné USB zařízení, není nic složitého, pouze musíte řádně zapájet součástky a propojit jumpery JP2 až JP4. Dále je nutné instalovat ovladač USBICP, který se nachází v instalačním balíku ve zkomprimovaném souboru Firmware/JB16Firmware/ICP_Application.zip. Programem USBICP  do programátoru nahrajete firmware - při jeho spuštění načtete soubor jb16icp_be.imp s definicí mikrokontroléru a pak zvolíte a nahrajete firmware ze souboru Firmware/JB16Firmware/CW_SourceCode/bin/opensourcebdm.abs.s19.

 

 

img

Nyní již zbývá pouze odstranit programovací propojky JP2 - JP4 a spojit JP1. Po připojení do počítače a nahrání ovladačů OpenSourceBDM (Host/OpenSourceBDMDriver/drivers) je programátor připraven k použití. V programovacím prostředí CodeWarrioru teď můžete vybrat jako cílové připojení typ HCS08 Open Source BDM.

Jedinou mou výhradou směrem ke stavebnici byla skutečnost, že v ní nejsou obsaženy rezistory 0R, které slouží jako propojky na desce (9ks - je nutné je zvlášť přikoupit).

 

Možné problémy při nahrávání přes BDM rozhraní

Jelikož nic není ideální a nic nefunguje na první zapojení, uvedu zde několik problémů, které se mohou při nahrávání firmwaru vyskytnout. Zrovna u produktů Freescale je zdrojů kvalitních informací nebo příkladů jako šafránu, takže následující údaje mohou být někomu užitečné.

 

Pokud je spuštěn debugger  a příkazové okno neustále vypisuje tuto zprávu:

Target Speed Change Detected - New Speed 17.26 MHz

 

a při pokusu o naprogramování se vypisuje chybová hláška

Non Volatile Memory Control
X Error while loading diagnostics algorithm to target system.
The chip may be secured, or the derivative selected may be wrong.

 

pak nejspíš cílový mikrokontrolér není uveden do programovacího/ladicího režimu. Řešení může být jednoduché: Zapojit pull-up rezistor na pin BKGD, a pokud toto nepomůže, pak také mít při zapnutí cílového mikrokontroléru spojené BKGD a zem (viz oficiální fórum - je tam i popsané schéma, jak lze tohle provést automaticky).

 

Odkazy

Článek na HW.cz i se všemi soubory:

http://hw.cz/teorieapraxe/konstrukce/art2558-opensourcebdm-jednoduchy-programator-pro-mikrokontrolery-freescale-s

Webové stránky diskuse OSBDM

http://forums.freescale.com/freescale/board?board.id=OSBDM08