Jump to content
ELFORUM - Forumul electronistilor
mitescu

Intrebare

Recommended Posts

M-am lovit de o situatie la care eu nu am gasit (pana acum) rezolvare

Datele sunt: placa cu ATmega128, program bootloader 4kw

In cadrul programului am o matrice care depaseste marimea flash-ului alocat (4kw) si doresc sa il plasez in zona cu inceput de adresa 0x1000.

Matricea este de tipul:

flash char matrix[128][128]={1,2,3.........   }
Deci in total are 8kw - 16kbytes

complilatorul imi trece matricea imediat dupa jump-urile de la intreruperei si prin urmare da overflow la memoria flash

Intrebare : cum reusesc sa "conving" compliatorul sa imi plaseze matricea la adresa 0x1000.?

Link to comment
Share on other sites

Daca descarci cu bootloader atunci nu trebuie sa plasezi tabelul, lasa cam face compliatorul.Bootloaderul se afla la "capatul" flashului, nu la inceput :)Daca vrei sa plasezi un tabel undeva poti sa faci cu directive asm .ORG .DSEG sau definesti sectiuni .section (valabil pentru avr-gcc), momentan nu am acces la laptopul meu personal unde am cateva exemple.

Link to comment
Share on other sites

In primul rand , nu descarc cu un bootloader. Programul pe care il scriu este de tip bootloader.In al doilea rand (si aici este greseala mea ca n-am specificat) , compilatorul utilizat este CodeVision. Acesta plaseaza tabelele imediat dupa vectorii de intrerupere. Nu stiu cum face avr-gcc, dar codevision nu ma lasa sa pun datele unde doresc. Pentru varianta cu declararea tabelului in asm, nu este nicio problema, se poate. Ideea era sa accesez zona tabelara prin intermediul unei matrici direct, fara sa apelez la asm. Si apropo, se cunoaste vreo librarie care face "SPM"? si daca da care este aceea?

Link to comment
Share on other sites

Pai in codevision e foarte simplu: project -> configure -> c compiler options -> program type (vezi poza)[attachment=0]codevision-boot.JPG[/attachment]nu stiu daca codevision are sau nu librarii pentru scriere in flash, parca nu, avr-gcc are vezi boot.hEu am gasit una pe net in asm, si am portat/modificat dupa nevoile mele

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.Terms of Use si Guidelines