Nybörjare på microprocessorer
Nybörjare på microprocessorer
Hej!
Jag är en glad amatör som precis börjat leta mig in i microprocessorvärden. Dock så har jag några små funderingar.
Hur är det med jobb för folk som jobbar med inbyggda system? Är det många på detta forum som jobbar med just det eller är det mest hobbyverksamhet?
Vilken nybörjarbok skulle ni rekomendera? (Helst inom AVR då jag har programmerat C i väldigt många år).
Är STK500 fortfarande aktuell eller finns det något "modernare" utvecklingspaket som är bättre?
Tacksam för svar/Erik
Jag är en glad amatör som precis börjat leta mig in i microprocessorvärden. Dock så har jag några små funderingar.
Hur är det med jobb för folk som jobbar med inbyggda system? Är det många på detta forum som jobbar med just det eller är det mest hobbyverksamhet?
Vilken nybörjarbok skulle ni rekomendera? (Helst inom AVR då jag har programmerat C i väldigt många år).
Är STK500 fortfarande aktuell eller finns det något "modernare" utvecklingspaket som är bättre?
Tacksam för svar/Erik
Börja här:
http://www.elektronikforumet.com/wiki/i ... ontrollers
Kolla sedan:
http://www.mikroe.com/en/compilers/
vika enligt mig gör mycket bra program.
Edit: rättade ett stavfel
http://www.elektronikforumet.com/wiki/i ... ontrollers
Kolla sedan:
http://www.mikroe.com/en/compilers/
vika enligt mig gör mycket bra program.
Edit: rättade ett stavfel
Senast redigerad av lgrfbs 12 november 2006, 23:36:02, redigerad totalt 1 gång.
-
- EF Sponsor
- Inlägg: 2109
- Blev medlem: 27 augusti 2005, 20:57:58
- Ort: Borlänge
Denna bok kan kanske vara nåt http://www.smileymicros.com/
STK500 funkar bra om man vill ha färdig hårdvara, annars är AVRISP MKII en billig programmerare som tar de flesta AVR-kretsar. AVR Dragon är en mycket billig emulator, som dock är något begränsad.
STK500 funkar bra om man vill ha färdig hårdvara, annars är AVRISP MKII en billig programmerare som tar de flesta AVR-kretsar. AVR Dragon är en mycket billig emulator, som dock är något begränsad.
Fri C-kompilator (GCC) som går att köra på alla möjliga plattformar (Linux, Windows, Mac, osv). Dessutom är AVR-arkitekturen speciellt konstruerad för att programmeras i C.
> Om om du har programmerat i C på något *annat* än mikrokontrolles, så
har du inte alls så mycket nytta av det som du (verkar) tro...
Jag håller inte alls med. När jag började med mikrokontrollers (AVR) så kunde jag redan C, och det hade jag otrolig nytta av. Jag letade upp något kodexempel och kollade vad som skiljde jämfört med vanlig C på PC. Sen var det bara att läsa databladet och börja leka.
Sionic: Jag tror inte du behöver någon bok. Allt förutom hur interrupt-rutiner konstrueras står i databladet för den AVR du vill använda.
Det finns en bok som heter "Embedded C Programming and the Atmel AVR" som kan vara hyfsat bra om man är nybörjare. Den använder dock en kommersiell C-kompilator, som skiljer sig något från den fria varianten (GCC). Låna den på bibblan om du inte vill köpa. Men jag tror som sagt att du klarar dig bra utan bok om du lär dig direkt från databladet istället. Databladet kommer du ändå inte ifrån.
Vilket OS kör du förresten?
> Om om du har programmerat i C på något *annat* än mikrokontrolles, så
har du inte alls så mycket nytta av det som du (verkar) tro...
Jag håller inte alls med. När jag började med mikrokontrollers (AVR) så kunde jag redan C, och det hade jag otrolig nytta av. Jag letade upp något kodexempel och kollade vad som skiljde jämfört med vanlig C på PC. Sen var det bara att läsa databladet och börja leka.

Sionic: Jag tror inte du behöver någon bok. Allt förutom hur interrupt-rutiner konstrueras står i databladet för den AVR du vill använda.
Det finns en bok som heter "Embedded C Programming and the Atmel AVR" som kan vara hyfsat bra om man är nybörjare. Den använder dock en kommersiell C-kompilator, som skiljer sig något från den fria varianten (GCC). Låna den på bibblan om du inte vill köpa. Men jag tror som sagt att du klarar dig bra utan bok om du lär dig direkt från databladet istället. Databladet kommer du ändå inte ifrån.

Vilket OS kör du förresten?
Senast redigerad av cykze 12 november 2006, 23:54:40, redigerad totalt 2 gånger.
Ja men det är ju helt klart bättre att börja med C kunskaper än utan dom, sen är det ju rätt sjävlklart att han får kolla andra dokument när han ska använda något maskinberoende.> Sen var det bara att läsa databladet...
Exakt. Smile Smile
detta är självklart felOm om du har programmerat i C på något *annat* än mikrokontrolles, så
har du inte alls så mycket nytta av det som du (verkar) tro...
Alltså, det finns massor av exempel där man har programmerat i C/Basic/Pascal/whatever
på *andra* plattformat/miljöer och plockar med sig samma kodningsprinciper
när man börjar med AVR/PIC, med mycket varierande resultat.
Jag hävdar fortfarande att man ofta överskattar nyttan man har av
tidigare erfarenhet av (vanligtsvis) Windows-programmering. Det är klart
att man sannolikt vet hur man skriver ett *syntaktiskt* korrekt (t.ex) C
program, men det är inte detsamma som "programmering"...
Det är narturligtsivs inget svart och vitt eller rätt och fel, jag säger bara
att många *nybörjare* på mikrokontrollers överskattar nyttan av
programmering på andra plattformar. "Bara jag kör samma språk
(oavsett om det är C, Basic eller något annat) så går det säkert bra."
Så enkelt är det inte riktigt...
på *andra* plattformat/miljöer och plockar med sig samma kodningsprinciper
när man börjar med AVR/PIC, med mycket varierande resultat.
Jag hävdar fortfarande att man ofta överskattar nyttan man har av
tidigare erfarenhet av (vanligtsvis) Windows-programmering. Det är klart
att man sannolikt vet hur man skriver ett *syntaktiskt* korrekt (t.ex) C
program, men det är inte detsamma som "programmering"...
Det är narturligtsivs inget svart och vitt eller rätt och fel, jag säger bara
att många *nybörjare* på mikrokontrollers överskattar nyttan av
programmering på andra plattformar. "Bara jag kör samma språk
(oavsett om det är C, Basic eller något annat) så går det säkert bra."
Så enkelt är det inte riktigt...
Att "kunna" ett programmeringsspråk är nog bra men kommer man från Windowsvärlden är det inte bara att köra på, man måste liksom göra ett OS från grunden, alltså initiera registre, reservera minne och faktisk inse att man inte har samma resurser i minne, kraft osv. Typisk är exemplet med dom som väljer 'float' variabler "för att de brukar göra det" och sedan undrar över att det går trögt och att programmet blir så stort.
Egentligen kvittar det vilket språk man kör, det svåra är att lära sig µC'ns begränsningar och hur man använder den effektivast.
Man kan bli mycket effektiv i C (/Pascal/Whatever) om man har förstådd till fullo hur man "betjänar" en µC, har man inte fatta det kommer programmen man gör sannolikt att suga.
Det finns exempel här på forumet där programmet fungerade men istället för att använde den inbyggda UART blev det använd en soft-UART, helt enkelt av okunnighet. I såna fall är ett högnivåspråk med dessa funktioner ett problem i mjukvaruutvecklingen i mitt tycke.
Egentligen kvittar det vilket språk man kör, det svåra är att lära sig µC'ns begränsningar och hur man använder den effektivast.
Man kan bli mycket effektiv i C (/Pascal/Whatever) om man har förstådd till fullo hur man "betjänar" en µC, har man inte fatta det kommer programmen man gör sannolikt att suga.
Det finns exempel här på forumet där programmet fungerade men istället för att använde den inbyggda UART blev det använd en soft-UART, helt enkelt av okunnighet. I såna fall är ett högnivåspråk med dessa funktioner ett problem i mjukvaruutvecklingen i mitt tycke.
Tack för de snabba svaren! C programmering (OS beroende) kan jag skriva i sömnen, är dock införstådd i att C för microprocessorer skiljer sig. Grunderna måste dock vara desamma om det ska kallas C
. Det som känns lite jobbigt med PIC är att de verkar i huvudsak endast kunna programmeras i ASM (finns säkert undantag). Jag kommer oundvikligen bli tvungen att återlära mig ASM förr eller senare. Men som ett första steg känns det nog lättast att börja med C.
>Vilket OS kör du förresten?
Har 3 aktuella datorer. Två mini-itx med Linux samt en vanlig P4:a med XP.
Hur var det med jobb. Vilka av er jobbar med inbyggda system/elektronikkonstruktion?

>Vilket OS kör du förresten?
Har 3 aktuella datorer. Två mini-itx med Linux samt en vanlig P4:a med XP.
Hur var det med jobb. Vilka av er jobbar med inbyggda system/elektronikkonstruktion?
> Det som känns lite jobbigt med PIC är att de verkar i huvudsak endast kunna programmeras i ASM
Jag vet inte varför du tror det, men det stämmer naturligtsvis inte.
Det finns både C, Basic och Pascal kompilatorer.
> Men som ett första steg känns det nog lättast att börja med C.
"Lättast" är inte alltid lika med "rätt".

Jag vet inte varför du tror det, men det stämmer naturligtsvis inte.
Det finns både C, Basic och Pascal kompilatorer.
> Men som ett första steg känns det nog lättast att börja med C.
"Lättast" är inte alltid lika med "rätt".


-
- Inlägg: 521
- Blev medlem: 31 maj 2003, 10:42:37
- Ort: Helsingborg