FIFO vs Interrupts vs Paged Memory KARTE

B

Bukitoo

Guest
Čau!
Esmu nesen sācis strādāt Company Fix "dažas programmatūras problēmas" un iegulto sistēmu (ka man nav dizains).
Patiesībā, tur nebija dažas.Tā ir sistēma ar 512 kb izmantojot ATMEGA128 (to var pārvaldīt tikai 64KB, tāpēc tā izmanto 8 pags atmiņas.)
Arī sistēmas ieviešanā rindas, kas izmanto šo lapu.Protams ir pārtrauc paralēli veicot putru.
Pēc kāda smaga darba mēnešiem, es noteikt dažus bugs, nopirkt lielāku vienam tā ir dziļa noslēpums ar mani.Es mēģināju piespiest šo kļūdu, bet viņi apear dažās unikālus apstākļus tha man nevar pavairot.Aparently dažu rādītāju dažu datu struktūras tas maina savu vērtību un ovelaping adreses, bet tas ir suposition.Varbūt kaudze ir sasniegt pārpildes.Es nezinu.

Varbūt kāds varētu man palīdzēt sniegt man padomu.Dažas grāmatas atsaukties, vai kaut kas!Pleease!

Thanks in advance

 
Jūs esat mantojuši someone's buggy projektu.Lucky you.

Vai nav sastopami uz jūsu galda, vai tas ir viens no tiem bugs, kas notiek tikai tad, ja klients skar to?

Ja neveiksmes cēloņi tūlītēju simptoms, tad mēģiniet izmantot loģikas analizatoru, lai noskatītos CPU autobusu.Program to pārtraukt, kad tas redz nepilnības simptoms.Tagad jums ir momentuzņēmumu CPU uzvedību pirms neveiksmei.

Cita pieeja ir, lai ievietotu atkļūdošana kods stratēģiskās vietās firmware.Ja tā atklāj kaut ko aizdomīgu, nekavējoties tērēta drošais režīms (deaktivizēt pārtrauc, jaunas stack pointer, citas), un izgāztuves CPU reģistriem un atmiņas saturs ar vienkāršu I / O portu uz ārēju datoru.Tagad varat rakt caur šo stuff vairāk versijām.

 
Ar peidžeru iespējota, tas vienmēr ir grūti apstrādājami paged dati vienmēr.

labākais veids, kā var izvēlēties Milzīgs atmiņas modelis, kur visi dati tiek pieņemts, ka paged.Es neesmu pārliecināts, tas atrisinātu problēmu.

Kad es strādāju ar šāda veida velves ar C167, ar kurām es saskāros pašas problēmas, kad es izmanto norādes uz šo atmiņā kā locekļi vai citu struktūru.Normālai datu objektiem novietot vietā ar FAR atslēgvārdi, tā strādāja labi.

Jebkurš, kā es to kodēšanu un bija brīvi mainīt kodu, kā es gribu, lai kompilators laimīgs.

Best of luck
idlebrain

 
Paldies par atbildes!
echo47: problēma ir tā, ka sistēma ir 2 plates ar 2 uControllers.Tās sazināties caur SPI autobusu, taču to funkcionalitāte ir pilnīgi asinchonous.

Es zinu, ka daudzas problēmas.Problēmas notiek ļoti bieži uz lauka, un ļoti unfrequently manā stendā.

Unfortunally Dokumentācija neeksistē.

<img src="http://www.edaboard.com/images/smiles/icon_cry.gif" alt="Ļoti bēdīgs, raud" border="0" />Abi UC ir dump ziņojumiem, ja radušās kļūdas, bet tagad dienas tha informāciju, ko tās dod, ir bezjēdzīgi.

idlebrain: Paldies par jūsu ieteikumiem.Es zinu, ka kompilators (IAR AVR WORKBENCH) ir tās kompilatora direktīvas, lai es dodos lasīt carfully viņu functionallity.

 
Bukitoo wrote:

Čau!

Aparently dažu rādītāju dažu datu struktūras tas maina savu vērtību un ovelaping adreses, bet tas ir suposition.
Varbūt kaudze ir sasniegt pārpildes.
Es nezinu.Varbūt kāds varētu man palīdzēt sniegt man padomu.
Dažas grāmatas atsaukties, vai kaut kas!
Pleease!Thanks in advance
 
Cits veids, kā atrast kaudze pārplūdes ir aizpildīt jūsu kaudze ar īpašu baits (0xAA), pirms Jūs pārlēkt uz galveno.Pēc avārijas varat izlasīt atpakaļ savu steku un pārbaudītu, vai jūsu skursteņa virs tā 0xAA.Gomez

 

Welcome to EDABoard.com

Sponsor

Back
Top