Meestal werk ik met CodeBlocks als IDE voor het ontwikkelen van de software voor bovengenoemde controllers. Ik heb daar geen goede debugger voor, dus gebruik ik een kleine serial module en laat in mijn programma op strategische plaatsen data naar buiten sturen.

Dat werkt, maar is toch wat omslachtig. Iedere keer na het ontdekken van een fout, herprogrameren van de controller. En het neemt (software)tijd en (geheugen)plaats in beslag. Ook als je tijdkritische dingen wil doen in bv. assembler word het wat moeilijker om te debuggen.

Ik heb net MPLab gedownload, ik denk dat daar een simulator in zit?, Maar soms is het handig om "real time" dingen te kunnen zien, vooral als je wat sensoren, knoppen... wil uitlezen/aansturen.

Er zijn verschillende HW debuggers op de markt, maar wat is volgens jullie goed, werkbaar spul? Met natuurlijk een redelijke prijs.

Groetjes,
eSe

Eigenlijk ken ik maar 1 echte hardware debugger en dat was de background debugger van Motorola. Ik heb dat eigenlijk nergens anders gezien. Het werkte wel heel erg goed.

Met de meeste debuggers kun je niet in je target kijken zonder deze te verstoren; bij een breakpoint wordt de target gestopt, dus het real-time gedrag is wel om zeep. Als dat geen probleem is, kun je een JTAG of debugwire debugger gebruiken.

Inderdaad, Debugwire.

En hou er rekening mee dat oudere AVR controllers geen debugwire hebben.
Die kun je niet "hardware debuggen", er is geen mogelijkheid om de CPU stil te zetten en de registers/memories te bekijken.

Welke AVR gebruik je?

Dank je voor de antwoorden. Ik heb al wat gelezen over DebugWire, da's een protocol, geen "echte" debugger. Daarvoor heb je een apparaat nodig dat dit protocol gebruikt.

Je kan inderdaad dingen zelf in elkaar knutselen, zoals @bprosman laat zien,(en waar ik mee aan het stoeien was een tijd geleden) maar ik was eerder aan een een oplossing aan het denken die ik zou kunnen gebruiken met MPLab. b.v. Pickit, AVRIce... en daarom mijn vraag aan jullie over dit soort programmers/debuggers.

Ik zou het zelf kunnen maken, maar er is natuurlijk weer wat anders tussengekomen en ligt dit weer op de plank.

Daarom dacht ik aan gewoon iets te kopen dat compatibel is met zo'n "prof" programmeer omgeving.

Het zal meestal gebruikt worden voor de ATMega328 en ATtiny85. Ik gebruik ook de 32u4 maar die heeft geen DebugWire registers aan boord, wel een JTAG, dacht ik. Daarom is zo'n multifunctioneel ding wel handig.

Groetjes,
eSe

Op 17 april 2021 12:33:30 schreef eSe:
Dank je voor de antwoorden. Ik heb al wat gelezen over DebugWire, da's een protocol, geen "echte" debugger. Daarvoor heb je een apparaat nodig dat dit protocol gebruikt.

AVR-dragon. (Of JTAG-ICE, maar die is nòg duurder).

(Ik weet niet of er goedkopere AVR programmers zijn die kunnen debuggen. USBasp en consorten kunnen het vziw niet, maar cmiww. Ik zit tegenwoordig vooral met Renesas en STM32 te stoeien...)

[Bericht gewijzigd door Lucky Luke op (23%)]

Met de avr chips (M328, Tiny85) die je wilt gebruiken heb je niet veel meer keus dan debuggen met de debugwire, andere debug interfaces hebben deze chips niet.
Sommige grotere avr's hebben nog jtag aan boord en de xmega serie hebben een pdi interface.
Werk je met de Arduino ide dan zijn er nog wat software debug library's beschikbaar, maar dat is voor realtime debuggen niet altijd handig.

In de 25jaar dat ik met avr chips werk heb ik eigenlijk nog nooit een debugger nodig gehad, zou vaak willen dat ik er een gehad had, maar dus nooit echt nodig gehad.
Meestal kom je er met print variable er wel uit. Tijd kritische (asm) routines zijn prima in de simulators te testen of met een gpio en scoop.

Op 17 april 2021 12:33:30 schreef eSe:
Dank je voor de antwoorden. Ik heb al wat gelezen over DebugWire, da's een protocol, geen "echte" debugger. Daarvoor heb je een apparaat nodig dat dit protocol gebruikt.

Ben je soms op zoek naar een "echte" in-circuit-emulator, die de plek van de CPU inneemt op de PCB?

Die heb ik sinds de Motorola 68000 niet meer gezien eigenlijk. Ik geloof niet dat iemand die nog maakt.

@blurp Neen, dat heb ik niet nodig, is misschien wat overkill voor dit soort controllers en voor de dingen die ik doe -> huis, tuin en keuken electronica.

Ik heb hier zoiets in huis dat ik lang geleden zelf heb gebouwd voor de 8051 controller en dat staat hier stof te vergaren :'(

Er zit een 8051 AH Basic print in, samen met AD/DA converters, 16 mini relais, en nog wat i/o. Op de 40 polige header, in't midden, kan je een flatcable stoppen met aan de andere zijde een 40 polige dip connector om in een bord te prikken op de plaats van de 8051. Hiermee kan je dan alle i/o op het bord testen zonder dat je iedere keer een eprom of 8051 hoeft te herprogrameren. Ik heb er ook nog ergens een kaartje bij met ram als eprom emulator.

Het heeft zijn tijd gehad, kan naar't museum :)

Groetjes,
eSe

Op 17 april 2021 14:43:13 schreef eSe:
Hiermee kan je dan alle i/o op het bord testen zonder dat je iedere keer een eprom of 8051 hoeft te herprogrameren.

Ik wil niet lullig doen, maar dat kan ik ook met een ongeprogammeerde AVR en Debugwire....

@blurp Ja, natuurlijk, maar dit ging over een systeem van 1985 ofzo, toen waren er geen AVR's :-) Je moet het hele verhaal lezen en er geen stukjes uithalen.

Groetjes,
eSe

[Bericht gewijzigd door eSe op (21%)]