Page 1 of 1

MS2 ohjelmointi BDM:llä

Posted: Wed Feb 07, 2007 22:13
by risu
Alkoi jo rönsyilemään alkuperäinen viestiketju: viewtopic.php?t=2759 joten aloitan uuden tälle projektille. Sain käsiini nyt tuon cockjerryn simahtaneen ms2 prossulevyn joten aloitin kokelut ensin sillä - jos sen vaikka saisi elvytettyä. Jätin protolevyn teettämättä koska tuo simahtanu ms2-levy soveltuu tähän käyttöön ihan yhtä hyvin. Jos prossu on morjens niin sen voi sitten vaihtaa.

Hain tänään partcolta loput BDM:n osat ja sain ohjelmoitua itse ohjelmointilaitteen. Tämän jälkeen windows tunnisti laitteen kivuttomasti pelkän USB-kaapelin kautta. Usbin kautta otan paitsi käyttöjännitteen BDM:lle, myös ms2:lle niin ei tarvitse koko boksia ja virtalähteitä pöydällä pyöritellä, lopulta todella kätevää kun ei ole johtoviidakkoa.

TBDML:n tiedostot löytää täältä jos jotain kiinnostaa:
http://forums.freescale.com/freescale/b ... ssage.id=2
Zipissä on ihan kaikki tarvittava tieto laitteen kasaamiseen. Myös gerberit löytyy, oman levyni tein suoraan noista niin säästi vaivaa siinäkin. Tuo versio TBDML:stä toimii jonnekki 16MHz kiteille asti. MS2 käyttää 8MHz kidettä joten se on vielä hallussa. Kun lukee freescalen foorumia niin huomaa että jotkut tuntuvat sekoittavan kiteen ja todellisen taajuuden mikä generoidaan kakkosmegassaki PLL:n avulla 24 megahertsiin.

Olin jo ladannut valmiiksi Codewarrior for HC12 4.6:n projektia ajatellen. Ilmainen demoversio (koodirajoite 32kb eli ei käännä isompaa koodia) sisältää debuggerin jonka avulla voi myös prommailla fläshille tavaraa. Debuggeri tuntuisi kuitenkin polttavan piirille isommatkin koodit suoraan. Tosin se ei ole tarpeen, koska kun serial monitor saadaan asennettua niin lopun koodin lataaminen pitäisi onnistua sarjaportin kautta. Debuggerissa on myös suora tuki TBDML-laitteelle.

Ensimmäinen kummajainen ilmeni heti kun löin debuggerin käyntiin ja se ilmoitti prossuvariaatioksi 9S12Q32/64/128 kun megassa oikeasti on 9S12C64. Sain tuolla Q64:lla ainoastaan tyhjennettyä prossun fläshit. Asiaa ihmeteltyäni löysin tiedon että debuggerin hc12.ini sisältää MCUID-koodit kullekkin prosessorille. Lisäsin tuon havaitun Q-perheen tietueen alle yhteensopivuuden C64:lle ja tämän jälkeen pystyinkin debuggerista valitsemaan C64:n. Sen jälkeen debuggeri suostuikin polttelemaan nätisti tammikuisen ms2extrakoodin .s19 tiedoston ja muistipaikatkin näkyvät nyt ohjelmoituina jälleen.

Nyt olen tyhjentänyt prossulta kaiken ja ajanut vain serial monitorin sisään jotta näen toimiiko tämä osa koodista oikein. Debuggerista käsin kaikki näyttää ookoolta ja poltettu data löytyy buuttaamisenkin jälkeen.

Ironisesti kuitenkin nyt testailuja jatkaakseni puuttuu itse megan piirilevy. Ei ole yhtään moista enää nurkissa pyörimässä joten pitänee väkertää joku tilapäislevy niin pääsee testailemaan toimiiko tuo ihan käytännössäkin :)

Jatkan raporttia kunhan saan megan piirilevyn väkerrettyä. Tässä pari kuvaa:
ImageImage
Piirilevyä voisi yksinkertaistaa jos olisi erillinen prommeri millä ohjelmoisi ton bdm:n prossun. Ykkösmegan prommeriki todnäk toimii bdm:n prossun ohjelmoimiseen jos tekee adapterin tai käyttää ICP:tä. Sarjaliikennettä ei siis käytetä valmiissa BDM-laitteessa mihinkään.

Posted: Fri Apr 13, 2007 21:13
by risu
Teetin kuitenkin muutaman kappaletta omaa ms2-prossulautaa kun tuo alkuperäinen oli niin kömpelön kokoinen + se olisi kuitenkin pitänyt modata jotta saa kaikki prossun pinnit käyttöön. Levy on kaksipuolinen vs orig nelikerroslevy. Juotin tänään levyyn kaikki muut paitsi oheispiirit (CAN, NAND pwm rajoitukselle ja sarjaliikennepiiri jäi uupumaan, lähti tilaukseen vasta). Tavan juotosasema olisi ollu tällä hetkellä hieman kaukana joten malttamattomana oli pakko koittaa prossun asentamista hätävara 6e lidlin kolvilla :lol: Yllättävän helposti asentui fluksin avustuksella vaikka 48 pinnisen prossun jalkaväli on 0.2mm. Mainittakoon että aiemmin olen juottanut pintaliitososia metcalin asemilla vain 0.5mm jalkaväliin asti joten hieman jännitti. Välillä vaan muisti irrotella kolvia seinästä ettei liiaksi kuumentunut.

Mittailin ja testasin levyn eikä mitään kummajaisia ilmennyt. BDM:n kautta prossun muistiin pääsee normaalisti käsiksi ja vaikuttaisi näillä näkymin ihan toimivalta. Edelleen jäänyt itse megan oma piirilevy tekemättä niin ei pääse testailemaan enempiä. Ajattelin käyttikseen pistää ensin testiin kun siinä on yksinkertaisempi asennus, vähemmän extroja yms. Enää oikeastaan odottelen jotta saisin tyhjän boksin käsiini niin voisi vääntää leiskat sen mukaan ja alkaa todenteolla testailemaan.

Tässä yksi otos josta näkee eron orig ms2-levyyn:
Image

Muuten sama toiminnallisuus mutta kaikki prossun ylimääräset pinnit kytketty (esim PE0, PE1) ja ne on tuotu ms2extran dokumentoinnin mukaisiin nastoihin sekä tuotu myös bootloader kannalle (todnäk tarpeeton kun tämän voi ohittaa ohjelmallisesti mutta on tuossa varalla). Koitettu ottaa vähän oppia freescalen datalehdestä ja prossun jännitteet, kellopiiri sekä pll-komponentit on sommiteltu ohjeiden mukaisesti. Stepperipiiri olisi ollut omassa käytössä tarpeeton ja tilaavievä joten se on tiputettu pois (ohjaussignaalit tulee kannalle jos haluaakin laudalle kuitenkin asentaa jälkeenpäin). Levylle on lisätty sarjaliikennepiiri yksinkertaistamaan protolevyjen leiskoja (ja sai täytettyä stepperin alta jäänyttä hukkatilaa), eipähän tartte juotella sarjaliikenneosia joka kerta uudelleen.

Posted: Sun Apr 15, 2007 17:31
by risu
Kiitos erään #finsquirt -kanavalaisen, tajusin että voin testata sarjaliikenneosan myös erikseen ilman megan lautaa. BDM laitteessa on tyhjänpanttina rs232 kytkis joten otin sen hyötykäyttöön testaamista varten. En vaan tullut ajatelleeksi että hyppylankoja tulee tilapäistestaamista varten melkoisen paljon. Johtoviidakon selvittämisen jälkeen sain normaalia sarjakaapelia pitkin päivitettyä uusimman ms2extrakoodin oman levyni tyhjälle prossulle johon olin vain BDM:llä lähettänyt monitor(bootloader)-osan. Kaikki toimi kuten pitääkin sarjaliikenteen puolesta ja megatunekin tunnistaa laitteen oikein. Tunen mittarit tietenkin näyttää mitä sattuu kun A/D sisäänmenossa ei ole mitään kytkettynä. Asetukset pystyy konffaamaan ja polttamaan piirille ja muutetut tiedot löytyvät buutin jälkeenkin.