rew
four NANDS do make a NOR . Kijk ook eens in onze shop: http://www.bitwizard.nl/shop/
Hoi,
Ik heb een STK500V2 nagemaakt om mijn AVR dingen te programmeren. Ik gebruik avdrude als programmer software. De firmware voor "mijn" stk500 komt van tuxgraphics:
http://www.tuxgraphics.org/common/src2/article05101/
behorende bij het verhaal:
http://www.tuxgraphics.org/electronics/200510/article05101.shtml
Ik gebruik een ATMEGA168 op 20MHz, terwijl tuxgraphics een ATMEGA8 op 3.nogwat MHz gebruikt.
Om de boel om te zetten, heb ik bijvoorbeeld de EEPROM functies er uit moeten halen, omdat die volgens mij AVRGCC niet supported zijn op de 168. Zal best, was niet belangrijk.
In ieder geval, als ik nu mijn AVR via mijn STK500 programmer probeer te programmeren, krijg ik een "command failed"... Alles nalopend, blijkt dat de uitgaande reset puls op de PB2 lijn er niet is. Die blijft continue laag.
(Ik zit nu even de programmer te controleren zonder de te programmeren schakeling er aan, dus het ligt niet aan dat gedeelte.)
In de firmware van de programmer staat:
case CMD_ENTER_PROGMODE_ISP: // 0x10 ...
spi_init();en in spi_init staat dan:
void spi_init(void)
{
sbi(DDRB,PB2); // pb2 as reset pin is output, this is also the ss pin wh
ich
// must be output for master to work.
sbi(PORTB,PB2); // reset = high = not active
En zelfs al zou ie de volgende clock weer laag worden, mijn scope zou daarop moeten triggeren, toch? In werkelijkheid staat er een delay van 20ms, alvorens dat ie laag gemaakt wordt, en vervolgens komt er nog een pulsje....
Heeft iemand een idee wat hier mis aan het gaan kan zijn?
Het flashen van de firmware kan via ICSP, maar het gaat nogal langzaam. Kost iets van een half uur. Dus gericht zoeken is het devies.... Suggesties?
pros
Prosper, yop la boum, c'est le roi du macadam (aldus Maurice Chevalier)
Alles nalopend, blijkt dat de uitgaande reset puls op de PB2 lijn er niet is. Die blijft continue laag.
Laag??? De init-routine maakt hem hoog. En:
En zelfs al zou ie de volgende clock weer laag worden, mijn scope zou daarop moeten triggeren, toch?
Is, en blijft, RESET nou hoog of laag? Mijn remedie voor dergelijke problemen = nachtje slapen - eindje fietsen - met een frisse kop het probleem te lijf gaan...
rew
four NANDS do make a NOR . Kijk ook eens in onze shop: http://www.bitwizard.nl/shop/
Ja, laag. Als ik de code naloop, maakt hij hem tijdens init even hoog, geeft een pulsje (kort hoog), en daarna is en blijft ie laag.
reset laag betekent chip-in-reset, en dan kan je hem programmeren. 't feit dat het niet werkt kan er op wijzen dat de te programmeren chip een verse flank op z'n reset lijn wil zien. Toch?
[update] Mhhhh. Suffe meetfout kennelijk. Hij wordt 15 ms hoog, dan 10ms laag, en dan gaat ie op ongeveer 1MHz oscileren. /dat/ moet niet. Zou er iets met OSC1B aanstaan?
[update2] Hmmmmm... Ik heb nu de default "snelheid" in de firmware omlaag gebracht. Nu probeert hij niet meer hardware SPI te gebruiken. Hij houdt dan de pennen onder software besturing, en dat gaat kennelijk goed.
Nu ik deze programmer aan de praat heb, kan ik veel sneller experimenteren om een tweede van deze bordjes als betere programmer te gaan gebruiken: het zal nu veel minder dan een half uur kosten om een nieuwe firmware er in te flashen...
Eerst even m'n "lamp sturing" projectje proberen aan de gang te krijgen. Die heb ik al bestukt....
[Bericht gewijzigd door rew op (36%)]