C til embedded hvor lærer man det ?

Do you have a question? Post it now! No Registration Necessary

Translate This Thread From Danish to

Threaded View
Hej NG

Hvis jeg skal lære noget  "kvalitetprogramering" i C til ehvervs brug.
Hvor kommer man så på kursus ?

Jeg anvender noget visuelt programeringsværktøj idag, men med begrænsede
mulighed, for at komme ind til opsætning af registre, timere osv.

Det visuelle værktøj kan kun anvendes til ST72... og jeg vil gerne kunne
lave software til andre produkter end ST´s.

Jeg har kig på Nohau´s kurser om C programmering... men 2 dage for
10.000,-kr. pr. kursus og dem er der 3-4 stk af.  !!!! øh -så skal det også
være kvalitet.

Det er muligt at det er den eneste vej, men er der nogen der har erfaring
med disse kurser fra Nohau, eller findes der alternativer ?


Mvh.

Esben



Re: C til embedded hvor lærer man det ?
Quoted text here. Click to load it

Jeg tvivler lidt på at kurserne er prisen værd, men jeg er ikke sikker
på at der findes gode alternativer.

Den bedste måde at lære embedded programmering på er efter min mening
at prøve sig frem. Hvis man er godt inde i C sproget generelt og har
en god forståelse for hardware er det ikke svært, men det tager tid.

Er der noget bestemt du gerne vil lære, står du for at skulle bruge
det til et bestemt project eller er det blot interesse?

--
Absolutely not the best homepage on the net:
http://home20.inet.tele.dk/midgaard
We've slightly trimmed the long signature. Click to see the full one.
Re: C til embedded hvor lærer man det ?
Hej Bertel

Jeg kan gi´dig et eksempel på hvorfor jeg ønsker at kunne anvende C prog.

Jeg har på mit arbejde siddet i 2 dage for at få et PWM udgangssignal til at
arbejde på ca.300Hz iforb. med et D/A koverteringssignal.
Jeg kan max. opnå en frevens på 10-15Hz...... Jeg ved der er noget der skal
ændres i timeropsætningen ( captur, interrupt compar. osv ), men mit
nuværende udviklingsmiljø har begrænsninger i dette felt, og jeg er låst !
Det jeg udvikler i ( ST-Realizer ) er hamrende smart - hurtigt til små enkle
opgaver, men når det gælde timing og hastighed er der mangler.

Jeg er godt klar over at jeg vil løbe ind i problemer med C .... men
mulighederne for at komme ind til kernen i prossecoren er der vel !

Jeg har forsøgt mig med tutorials i C - og downloads af C udviklings værktøj
for uP, med det mål at få en LED til at blinke..... , men det munder altid
ud med frustation over manglende overblik i håndtering af værktøjet (
headerfiler - komandoer til den enkelte processor osv. ) så derfor tror jeg,
at jeg mangler et " kursus / inspiration " til at komme igang. Og hvordan
kommer jeg videre !

Esben




Quoted text here. Click to load it



Re: C til embedded hvor lærer man det ?
Quoted text here. Click to load it

En ST7, er det ikke det andre kalder en 8051? Der må findes tonsvis
af kode til den på nettet.

Jeg synes at du skal:

1: Smide dit udviklingsmiljø i havet.

2: Finde en almindelig editor til  at skrive koden i, og lave nogle
simple makefiler.

3: Læse hardware manualen, igen og igen.

På den anden side: Et kursus til 10kkr svarer til ca. en ugeløn,
og den tid kan du måske godt spare ved at komme på et kursus.

Men hensyn til PMW: Hvis din PMW skal have 256 step og køre med 300Hz
kræver det en klok freq. på 76800Hz det burde være muligt, også selv
om klokken fra krystallet skal deles et par gange.

--
Absolutely not the best homepage on the net:
http://home20.inet.tele.dk/midgaard
We've slightly trimmed the long signature. Click to see the full one.
Re: C til embedded hvor lærer man det ?
Quoted text here. Click to load it

I så fald er jeg ret sikker på at der findes en portering af GCC.
Alternativt kan du kigge på sourceforge for at se hvad der findes af
værktøjer. Købe-udviklingsværktøjer er ret pebrede til embedded. Hvis du
vil købe, har jeg engang arbejdet med Keil c-compiler til 8051, det er
et godt miljø.

Quoted text here. Click to load it
Hardwareforståelsen er nøglen til succes!

Quoted text here. Click to load it
Hvis man kode C i forvejen er det efter min mening spild af tid og
penge, med mindre kurset omhandler den processor man vil arbejde med.

Quoted text here. Click to load it


--
Erlo
-----

We've slightly trimmed the long signature. Click to see the full one.
Re: C til embedded hvor lærer man det ?

Quoted text here. Click to load it

    Nopes, ST5, ST6, og ST7 osv. er processore fra ST, de har deres eget
udviklingsværktøjer hvoraf nogen minder lidt om at arbejde i Labview, og
begrunder fordelen med at det er så nemt at kan man tegne, og trække en
streg kan man spare bunkehvis i udviklingspenge :( ak, det er så den
fælde Esben er gået i nu :(

Quoted text here. Click to load it

    Hørt...

Quoted text here. Click to load it

    ST har et C/Asm udviklingsmiljø, og en bunkevis af gode eksempler...

Quoted text here. Click to load it

    Yeps, og de findes nemt inde på st's hjemmeside ;) lidt forvirende at
finde frem, men de har nu også et godt forum derinde til dem som
udvikler på skidtet.

Quoted text here. Click to load it

    Hvis man er på bar bund med C delen osv. allerede, så er kurset ikke
det værd, man bør i stedet invistere i nogen grundbøger om C på den
pågældene MPU man vil bruge, det er en god hurtig start, og man komme
hurtigt ind i rutinen, til billige penge.

--
VH
Lars Molnit
MZ ETZ 300 CDi ReedValve
We've slightly trimmed the long signature. Click to see the full one.
Re: C til embedded hvor lærer man det ?
Quoted text here. Click to load it

Men bruger en ST7 ikke samme instruktions sæt som 8051 & er det ikke den
samme core?

--
Absolutely not the best homepage on the net:
http://home20.inet.tele.dk/midgaard
We've slightly trimmed the long signature. Click to see the full one.
Re: C til embedded hvor lærer man det ?

Quoted text here. Click to load it

Nope niks og nej ST7 er en viderudvikling af ST6 og er ST helt egne. ST6
brugte ikke meget strøm meeeen den lavede nu heller ikke meget.

Jeg startede i tidens morgen med realizeren til ST6 var vis den første der
brugte den i verden for der var flere fejl i den end i windows. Fandt
hurtigt ud af at det kunne ikke køre hurtigere end få hertz. Akiftede
processor og værktøj en nu havnet via 8051 og nitron hos Atmels AVR. Der kan
du få multimeget hjælp til. Se evt. www.avrfreaks.com der er sponsoreret af
Atmel men ikke ejet af Atmel.

Hent en begrænset AVR C compiler hos.
http://www.hpinfotech.ro/html/download.htm Den største udgave koster i
øvrigt 1500 + moms så det kan da klares uden at sælge svigermor.

Et stort udviklings værktøj STK500 fås for en 500 las.

Benny

PS. Atmel AVR er udviklet i Norge så lidt kan de dog finde ud af der oppe.



Re: C til embedded hvor lærer man det ?

Quoted text here. Click to load it

Har du overvejet assembler? Jeg startede med assembler programmering af
PIC-kredse, og har derefter bevæget mig videre til en blanding af assembler
og C på Motorola 68k og TMS320C26, og senest ren C (bortset fra
vektortabellen) på en TMS320C6713. På Motorola'en brugte jeg Newlib og GNU
gcc som crosscompiler og fik derfor en masse erfaring i at lave makefiler og
koble koden korrekt sammen. Det har hjulpet mig utroligt meget, og det har
været helt og aldeles smertefrit at bevæge sig videre til ren C, med den
grundlæggende viden i baghånden. Måske du kan bruge kapitel 4 i vores
4.semester-projektrapport til noget:
http://kom.aau.dk/~ttho02/projekter/p4/rapport.pdf

Du kan også finde mine resterende projekter her:
http://kom.aau.dk/~ttho02/greyscale/aauprojekter.html
P6 er det semester hvor vi brugte TMS320C26, og 8. semester (som ikke er på
siden) brugte vi TMS320C6713. Hvis du er interesseret kan jeg evt. sende dig
den rapport også, men den handler mest om akustik.






Re: C til embedded hvor lærer man det ?
Quoted text here. Click to load it

Nu ved jeg godt at jeg får slag ;-) MEN:

Kernighan & Richies bog "The C Programming Language" er efter min mening et
udemærket sted at starte.

Assembler er godt/nødvendigt til specialiserede/krævende algoritmer - men
til generelt programstruktur mener jeg det er absolut spild af tid! Jeg
bruger kun (inline) assembler når det er absolut nødvendigt ;-)

Mvh.
 Anders



Re: C til embedded hvor lærer man det ?

Quoted text here. Click to load it

    Hvorfor ?

Quoted text here. Click to load it

    Man bør kunne Asm, men at kunne det, og så arbejde med det er to ting,
grunden til man bør kunne det lidt er at man derved for indsigt i sin
MPU, og derved nemmere ved at debugge hvad man laver.

    Men at lave hele projektet i Asm, er snart henne hvor det rent
tidsmæssigt er spild af tid ;) især når vi nu om dage både har USB, LAN,
osv. på vores små MPU'er. Og så er det jo godt at C, kan indtage Asm, i
de få rutiner hvor Asm er det mest optimale pga. en helt speciel timing.


--
VH
Lars Molnit
MZ ETZ 300 CDi ReedValve
We've slightly trimmed the long signature. Click to see the full one.
Re: C til embedded hvor lærer man det ?

Quoted text here. Click to load it

jeg er fuldstændig enig. Man bør have en grundlæggende forståelse for den
maskine compileren genererer kode til. Assembler er jo ikke bare assembler
på samme måde som C, men nærmere en definition af hvad processoren kan og
ikke kan. Som eksempel kan man jo prøve at se den genererede kode på en PIC,
hvis man forsøger at multiplicere eller dividere - det er meget anderledes
end på f.eks. en DSP som TMS320C6713 som har disse indbygget som
maskinkodeinstruktioner.



Site Timeline