
Problemi s kompilatoryt MCC18 za upravlenie na vyn6na ram.
Ima li nqkoj s opit s upravlenie na vyn6na ram s kompilatora na microchip MCC18?W momenta izgrajdam baza ot danni wyw vin6na ram ot tipa 62100 za procersor pic18c801.Pri ot4aqnote mi opiti otkrih slednite gre6ki,koito dopuska kompilatoryt:
1.Kompilatoryt razli4ava ukazatelite deklarirani za rama na procesora i takiva deklarirani za vyn6nata oblast (tezi syzdadeni s derektivata ROM).Ima pylna nesyvmestimost mejdu dvata tipa.Tova e taka za6toto za pyrviq kompilatoryt zadelq 2bajta ,kato moje da adresira oblast do 64kBt,a za vtoriq toj zadelq 3bajta,kato moje da adresira do 1.66Mbt.Moqta baza e razpolojena na adres nad 64kBt i sledovatelno polzuvam vtoriq tip ukazateli.
2.Ne moga da syzdam strukturi za vyn6nata oblast,za6toto nadejniqt zapis v tqh e nevyzmojen.Tova estestveno e sledstvie i na gornata to4ka.
3.Kompilatoryt gre6i i pri deklarirane na sledniq kod:
rom far unsigned int *data_ptr
unsigned int br
data_ptr = data_ptr + br;
Gre6kata se polu4ava pri preiz4islqvane na adresa izvyn 64kBt oblast.
4.Kompilatoryt ne moje dinamy4no da upravlqva vyn6na RAM.
Programiraneto s tozi kompilator specialno za bazi ot danni e mnogo trudno.
Moje li nqkoj da mi poso4i kompilator,pri kojto tezi problemi sa otstraneni i moje da se programira mnogo po lesno?