Sivu 1/1
Lähetetty: 30 Loka 2007, 15:44
Kirjoittaja timo3
PetriK voisi valistaa noiden 7052:sen eri moodien merkityksen, kuten boot user ja muut .
Myös siinä olevien työ, ohjelma ja flash:n muistin käyttötarkoituksen.
Jos ei tuosta 7052.sta ole vielä tietoa, niin yleensäkin vastaavissa muissa piireissä olevien.
Lähetetty: 30 Loka 2007, 18:12
Kirjoittaja busajasa
Tarkoittanet noita flash modja?
User programming mode ja boot mode periaattessa eroaa toisistaan siinä että loader softa on eri paikassa aloituksessa.
Boot modella loader softa on hostin päässä josta se SCIn kauuta siirretään kontrollerille ja kontrolleri käynnistää tuon proggiksen --> siirtää hostista siirrettävän blokin kontrollerin muistiin. Tässä pinnit väännetään tietyynasentoon ja anetaan resetti laitteelle (RES nasta).
User prog modessa kone on jo hengissä ja edelleen nastojen avulla hivuttaudutaan user programming moodiin. Tällöin loader softa on jo koneessa ja se vain potkitaan käyntiin sieltä. Nämä löytyy HW manuskan sivulta 690 ja 691.
Riippuu jonkun verran kernelistä mitä moodia voidaan käyttää. Käsittääkseni vielä ei ole tiedossa se mitä kerneliä tuolla ajetaan mutta jos tuolta saadaan image ulos niin eiköhän se selviä. Kernelillä on merkitystä muistinkäsittelyyn, keskeytyskäsittelyyn jne..
Myös noilla pinneillä (MD0, etc) on merkitys että mihin tilaan ne on asetettu tuossa piirilevyllä - mahdollistaako vain jomman kumman noista flash tavoista.
Voi olla että FTD:llä voidaan automaagisesti rakentaa loaderi softa jos joudutaan käyttämään boot modea. Voi myös olla että FTD osaa oletus käyttiksen loaderin potkaista käyntiin hostista.. Itselleni ei ole vielä ihan selvää että mitä pystytään ja mitä ei mutta Petri on experimentaalisen testin kimpussa josta varmaan jonkun verran avautuu asioita.
Yleensä tuosta pelistä: Prosarihan on piiri ilman IOta - kontrolleri sisältää prosan ja IO:t. On pitkälle stand-alone laite. Näin myös 7052 jossa on varsin kattavasti erillaista laskuria ja IO ohjausta. Tuolta saataneen valmiiksi ulos jos sun mitä. Ihan tästä kontrollerista en ole 100% varma mutta tyypillisesti näistä saadaan varsin helposti erilaista pulssi muotoa ulos.
Kontrolleri toimii myös paljolti keskeytysten varassa. Johonkin pinniin tulee jotain (1 tai 0) tai joku rekisteri saa jonkun arvon tjms niin nostetan keskeytys ja suoritus siirtyy keskeytys hallintaan. Myös kontrollereissa on varsin kattavat inputit sekä binääri että analogia tuloja varten.
JOtta asia ei välttämättä olisi ihan helppo tämäkin konrtolleri taitaa olla liukuhihna kontrolleri jossa käytänössä suoritetaan yhtäaikaa montaa käskyä. En kuitenkaan usko etä tässä harjoituksessa (tovottavasti) jouduta pohtimaan tuota että missä järjestyksessä mikäkin tapahtuu vaan kartta-alue saadaan ulos ja sitten siitä kaivettua algoritmi joka muutaa kartta tietoa injektori ohjauksesksi. Tuo algoritmi ei vain taida olla ihan helppo sillä analogisia parametreja taitaa olla läjä seassa....
Muisti alueista - RAM on se jossa koodi suorittaan.. Flash on se missä koodimajailee ja pysyy. Lisäksi oheispiireillä voi olla autonomisia muistialueita joita käytävät omiin tarkoituksiin sillä joissakin kontrollereissa tuppaa olemaan oheispiirejä jotka voivat toimia aika itsenäisesti itse prosasta riippumatta.
Itse muistin käsittelyssä tämäkin taitaa olla 32 bit kone ja silloin oletattavaa on että käytössä on referenssitaulut muistiviitauksissa. Eli kun koodista viitataan johonkin muistipaikaan on se käytänössä vain viittaus jonnekkin muistipaikaan joka sisältää osoitteen varsinaiseen muistipaikkaan jossa varsinainen tarvittava data on.
Eli jos tuota koodia on oikeasti jaappanin inssit optimoineet niin voi mennä hankalaksiksin. Se että vastaavaa kontrolleria on käytetty jossain muualla ei vielä mahdollista itsessää mitään sillä sisältää vielä paljon muuttuvia tekijöitä ihan käyttiksestä lähtien.
Silti olettaisin että eivät ole keksineet pyörää ihan uusiksi vaan olemassaolevasta datasta on referenssi mielessä apua. Piakkoinhan se nähdään kun saadaan se image ulos...
Lähetetty: 30 Loka 2007, 18:17
Kirjoittaja PetriK
Hauska sattuma, rr juuri kysyi myös noista.
User mode = normal running
User programming mode = flash voidaan lukea ja kirjoittaa
Boot mode = koko flash ensin erase ja sitten kirjoitetaan kerralla
Programmer mode = off board programming, eli ennen kuin prosessori asennetaan piirilevylle
Mä yritin eilen saada selvyyttä ja sen verran varmistui että harness connectorissa on varmasti Reset, TX ja RX. Tuo FWE myös aikaansai jotain, mutta sitä en vielä ehtinyt mittaamaan. Valitetettavasti ainakaan flash development toolkit ei vielä saanut yhteyttä mun ecuun, mutta sehän on dremelöity auki joten siinä voi olla vikaakin.
Tässä lisää aiheeseen liittyvää:
Flashing ja Processor modes...
EDIT - prossun referenssidataa vastaavasta ECU:sta voisi katsella openecu.org:sta. Osassa siellä olevista ECU:ista on hyvin samankaltainen prossu - SH-2 sarjalainen.
Edited By PetriK on 1193761179
Lähetetty: 30 Loka 2007, 18:29
Kirjoittaja busajasa
PetriK kirjoitti:Hauska sattuma, rr juuri kysyi myös noista.
User mode = normal running
User programming mode = flash voidaan lukea ja kirjoittaa
Boot mode = koko flash ensin erase ja sitten kirjoitetaan kerralla
Programmer mode = off board programming, eli ennen kuin prosessori asennetaan piirilevylle
Mä yritin eilen saada selvyyttä ja sen verran varmistui että harness connectorissa on varmasti Reset, TX ja RX. Tuo FWE myös aikaansai jotain, mutta sitä en vielä ehtinyt mittaamaan. Valitetettavasti ainakaan flash development toolkit ei vielä saanut yhteyttä mun ecuun, mutta sehän on dremelöity auki joten siinä voi olla vikaakin.
Tässä lisää aiheeseen liittyvää:
Flashing ja Processor modes...
EDIT - prossun referenssidataa vastaavasta ECU:sta voisi katsella openecu.org:sta. Osassa siellä olevista ECU:ista on hyvin samankaltainen prossu - SH-2 sarjalainen.
Oliko ne selvillä että missä tilassa (virrat päällä) nuo MD0, MD1, MD2 nastat on? Noillahan tehdään valintaa siitä mitä flash moodia voi edes käyttää? Vai tulevatko nuo liittimelle ja saa itse asettaa?
FTD:ssä kyseltiin myös prosari nopeutta joten kättelyn kannalta silläkin voi olla merkitystä. Löytyykö levyltä kidettä josata näkisi taajuutta? Itse prossa taitaa manuskan mukaan mahdollistaa 40mhz maksimissaan
Lähetetty: 30 Loka 2007, 19:33
Kirjoittaja PetriK
MD0=Vcc, MD2=Vcc, MD1=MD1 harness connectorissa - tässä oli ajatusvirhe aiemmin, jostain syystä ajattelin että tämä on mains direct.
MD1 näyttäisi olevan floating tilassa 10k Vcc, Vss ????? Onko vinkkejä miksi ????
Eli ohjelmointinastat ovat:
29 txd 112 rxd1 c902, r902,r906 (dremeled off, do not know value, reinstalled 100 ohm on the board as on the txd too)
30 rxd 111 txd1 c903, r907,
31 sds n/c
32 fwe 28 fwe c 905 to gnd, r901, d404 (dremeled broken ???)
34 rct 30 reset c906 to gnd, r320, d502, c411
14 md1 22 md1 r908 (100ohm, floating 10k to Vcc, 10k to Gnd)
Edited By PetriK on 1193766150
Lähetetty: 30 Loka 2007, 19:48
Kirjoittaja timo3
Siis voiko User programming mode:ssa flash:n kirjoittaa väliin yksittäiseen muistipaikkaan pyyhkimättä edellistä arvo, vähän niinkuin ohjelmoinnissa lukiessa ja kirjoittaessa RANDOM tiedostoa hajasaatitiedostona.
Eli jos haluaisi muuttaa vaikka kartassa jotain tiettyä arvoa, voisi lukea vain sen arvon flash:sta ja muuttaa pelkästään sitä?
Lähetetty: 30 Loka 2007, 19:58
Kirjoittaja timo3
Olisiko se 10k vain MD1:sen ylösveto vastus FWE tilasta poistuttaessa, vai käsitinkö kysymyksen väärin.
Edit.
Jos tota kuvaan on luottamista
http://www.kenic.co.jp/image/kswriter/image4.jpg
FWE tilassa
MD0= alhalla
MD1= Alhaalla
MD2= ylhäällä
FWE = ylhäällä 74HC04:stä johtuen
FwE tilasta poistuttaessa
MD0= alhalla
MD1= ylhäällä
MD2= ylhäällä
FWE = alhaalla 74HC04:stä johtuen
Onko noin?
Edited By timo3 on 1193769234
Lähetetty: 30 Loka 2007, 20:09
Kirjoittaja PetriK
Mittauksen perusteella MD1 on 10k->Vcc, 10k->Vss, eli puolessa välissä. MD1:sellä on varmaan joku default arvo joka löytyy prossun manuaalista Renesas_sh707052f_hardware_manual.pdf siellä softa-arkistossa.
Nyt kun on varmistunut että MD1 tulee myös harness connectorille pitää tutkia tarkemmin tuo ylempi sekä myös
reneasa_fztat_programmer_manual.pdf. Näistä varmaan löytyy riittävästi dataa siitä että miten tuo lukeminen ja ohjelmointi pitää suorittaa.
Tuossa itse kyhätyssä ohjelmointilaitteessa laitan MD1=Vcc niin kuin myös MD0 ja MD2, eli kaikki ykkösiä tuon ohjelmointilogiikan kannalta ja seuraus pitäisi olla user programming mode jos oikein arvaan ?
Neuvoja vastaanotetaan...
ps. Ohjelmointia voi suorittaa vain muistiblokki kerrallaan user programming modessa. Boot modessa koko muisti kerrallaan.
Lähetetty: 30 Loka 2007, 20:18
Kirjoittaja busajasa
timo3 kirjoitti:Siis voiko User programming mode:ssa flash:n kirjoittaa väliin yksittäiseen muistipaikkaan pyyhkimättä edellistä arvo, vähän niinkuin ohjelmoinnissa lukiessa ja kirjoittaessa RANDOM tiedostoa hajasaatitiedostona.
Eli jos haluaisi muuttaa vaikka kartassa jotain tiettyä arvoa, voisi lukea vain sen arvon flash:sta ja muuttaa pelkästään sitä?
128 Byteä on pienen blokki joka voidan kirjoitaa - vaatii ersoinnin ensin.
Lähetetty: 30 Loka 2007, 20:33
Kirjoittaja busajasa
PetriK kirjoitti:Mittauksen perusteella MD1 on 10k->Vcc, 10k->Vss, eli puolessa välissä. MD1:sellä on varmaan joku default arvo joka löytyy prossun manuaalista Renesas_sh707052f_hardware_manual.pdf siellä softa-arkistossa.
Nyt kun on varmistunut että MD1 tulee myös harness connectorille pitää tutkia tarkemmin tuo ylempi sekä myös
reneasa_fztat_programmer_manual.pdf. Näistä varmaan löytyy riittävästi dataa siitä että miten tuo lukeminen ja ohjelmointi pitää suorittaa.
Tuossa itse kyhätyssä ohjelmointilaitteessa laitan MD1=Vcc niin kuin myös MD0 ja MD2, eli kaikki ykkösiä tuon ohjelmointilogiikan kannalta ja seuraus pitäisi olla user programming mode jos oikein arvaan ?
Neuvoja vastaanotetaan...
ps. Ohjelmointia voi suorittaa vain muistiblokki kerrallaan user programming modessa. Boot modessa koko muisti kerrallaan.
MD0 tulee olla 1 jotta ei jouduta programmer tilaan (standalone flash) ja päästään on-board ohjelmointi tilaan user moden kautta - tämä näyttäisi olevan OK; MD0 = 1
USer programming mode vaatii User tilasta
MD 1 = 1
MD 2 = 1
FWE = 1
Eli Olet Petri Oikeassa. Kone käytniin (MD1=1, MD2=1, FWE=0) antaa mennä user modeen ja sitten FWE = 1. Pitäisi päätyä user programming modeen.
Tuonne pitäisi päätyä myös jos reset moden kautta asettamalla MD1 = 1, MD2 = 1, FWE = 1 ja antamalla resetti
(RES = 0 - maattaa RES pinnin --> heilahtaa reset tilaan)
Taas boot modeen joutuu jos MD1 = 0 ja MD2 =1 ja FWE =1
Missä tilassa sulla on FWE - se on se avain tuonne programming tilaan.
Mitäs tonne RES pinniin tulee? Tuleeko se liittimelle jonnekkin?
Oletan että jos kortti on kylmänä ja asettelee nastat kohdilleen ja räppää virrat koko korttiin niin tasot asettuu todennäköisesti eri aikaan oikeille tasoille kuin itse nastojen luku joten koneeseen pitäisi saada virrat i.e. kone henkiin ensin ja sitten tehdä nuo FWE tai RES tila liikut.
EDIT: RES Pinni korjaus - kts postais alempana!!
Edited By busajasa on 1193862024
Lähetetty: 30 Loka 2007, 20:44
Kirjoittaja PetriK
Res menee suoraan prosessorille - se toimii, testasin eilen. MD1 ei oltu kytketty mihinkään, kytken sen seuraavaan yritykseen Vcc:hen kuten muutkin.
Nyt opetellaan ohjelmointisekvenssiä, tässä linkki ohjelmointimanuaaliin.
http://macmadigan.no-ip.com/Public/ECU/renesas_FDT3.07UserGuide.pdf
Vasta äksen huomasin manuaalista että prossu voi olla myös lukittu että siitä ei saa koodia ulos (niin kuin monet muutkin prossut). No yritetään ensin saada yhteys kuntoon ohjelmointilaitteen ja prossun välille ja vasta sitten kun tuo toimii niin voidaan miettiä että onko suojattu vai ei...
Lähetetty: 30 Loka 2007, 21:01
Kirjoittaja busajasa
PetriK kirjoitti:Res menee suoraan prosessorille - se toimii, testasin eilen. MD1 ei oltu kytketty mihinkään, kytken sen seuraavaan yritykseen Vcc:hen kuten muutkin.
Nyt opetellaan ohjelmointisekvenssiä, tässä linkki ohjelmointimanuaaliin.
http://macmadigan.no-ip.com/Public/ECU/renesas_FDT3.07UserGuide.pdf
Vasta äksen huomasin manuaalista että prossu voi olla myös lukittu että siitä ei saa koodia ulos (niin kuin monet muutkin prossut). No yritetään ensin saada yhteys kuntoon ohjelmointilaitteen ja prossun välille ja vasta sitten kun tuo toimii niin voidaan miettiä että onko suojattu vai ei...
Tuon eston huomasin itsekkin viikonloppuna mutta olettaisin että tuo ei ole voimassa sillä Yosi Boxilla tuonne pitää jotenkin kirjoittaa. Mutta on varsin mahdollista että luennat/kirjoitukset on estetty. Toivotaan parasta...
tuon flashayksen osalta pitää vielä toivoa että FDT löytää kernelin loader proggiksen....
Edited By busajasa on 1193771223
Lähetetty: 30 Loka 2007, 21:20
Kirjoittaja busajasa
Ajatus virhe RES pinnin kanssa - se on kompletoitu. Eli muutos 0-->1 aiheuttaa resetin. Eikös vaan?
EDIT: RES nastan 0 aiheuttaa resetin mutta paluu tilaan 1 käynnistää exeption hadlerin.
Edited By busajasa on 1193861959
Lähetetty: 30 Loka 2007, 21:22
Kirjoittaja PetriK
Luin tuota vanhaa fztat manuaalia...siinä on Vpp jonka kuvittelisin olevan sama kuin FWE. Tuossa nostetaan ohjelmoitaessa Vpp 12v tasolle ???
Olettaisin muutaman erillisen lauseen perustella että suojaus toimii niin että se estää ohjelmointikernelin lataamisen muuten kuin tyhjään muistiin.
No joka tapauksessa mulla pysähtyi eilen siihen että PC ja Prossu eivät saaneet minkäänlaista yhteyttä - ensimmäinen viesti oli negotiating channel bandwith, ja siitä ei päästy eteenpäin.
Ainut mitä vielä epäröin on tuossa prossun alapuolella kuvassa näyvä D404 joka antaa myös jännitettä FWD:lle. Siitä en saanut mitattua mitään arvoa. Se menee IC401 nastaan 10. IC 401 näyttäisi olevan 8044. Veikkaus on kuitenkin että tuo liittyisi siihen että prossun muistiin kirjoitetaan YoshBox:n arvoja.
EDIT - resetoinnin maadoitus aiheuttaa resetin. En muista enään miten tuohon päädyin, mutta se näyttäisi toimivan koska ecun toiminta lakkaa hetkeksi (tuo mittaridatasignaali loppuu).
Edited By PetriK on 1193772405
Lähetetty: 30 Loka 2007, 21:50
Kirjoittaja busajasa
HW Protection
SW Protection
Eli mikäli oikein HW manuskasta käsitin niin suojaus koskee vain erasointia ja kirjoitusta. Softa suojauksessa kirjoitetaan asiaan kuuluvaan rekisteriin soppeli bittimaski.