Klausimas TI tms320vc5402 C Programing?

K

kimjin

Guest
Norėčiau programuoti Flash, naudojant C, o kodas keičiamas taip:

tuščia flash_write (unsigned int * PA, unsigned int PD);
tuščia teisėjas (unsigned int * MA)

void main (void)
(
/**************
pradinis įprastas
**************/
while (1)
(
flash_write ((unsigned int *) 0x8000, 0x5555);
)
)

tuščia flash_write (unsigned int * PA, unsigned int PD)
(

* (lakiųjų nepasirašytos *) 0xd555 = 0xaa;
* (lakiųjų nepasirašytos *) 0xaaaa = 0x55;
* (lakiųjų nepasirašytos *) 0xd555 = 0xa0;

* PA = PD;

teisėjas (MA);
return;
)

tuščia teisėjas (unsigned int * MA)
(
unsigned int temp_1, temp_2;
daryti
(
temp_1 = (* MA);
temp_2 = (* MA);
temp_1 = temp_1 & 0x40;
temp_2 = temp_2 & 0x40;
) while (temp_1! = temp_2);
return;
)

bet rezultatas yra neteisingas, I 'd stebuklas mano naudojantis žymeklis yra teisinga, ar ne, aš painioti su kursoriumi.
3xParašytas po 16 minučių:deassembly kodas keičiamas taip:

0000:0449 Pagrindinis
0000:0449 EEFD FRAME -3
; pradinis įprastas
0000:045 B 7.600 ST # 5555h, 0h, antrasis parametras 0h
0000:045 D F6B8 RSBX SXM
0000:045 E F274 CALLD flash_write
0000:0460 F020 LD # 8000h, 0; pirmasis parametras
0000:0462 F073 B L1
0000:0464 flash_write
0000:0464 4A11 PSHM 11h
0000:0465 EEFE FRAME -2
0000:0466 F495 NOP
0000:0467 8000 STL, 0h; atrodo neteisinga, kad 0h,
0000:0468 7711 SPM 0d555h, 11h
0000:046 7.681 ŠV # 0aah * AR1
0000:046 C 7.711 SPM 0aaaah, 11h
0000:046 E 7.681 ST # 55h, * AR1
0000:0470 7711 SPM 0d555h, 11h
SENT # 0a0h 7681 0000:0472, * AR1
0000:0474 1004 LD 4H,; priimti antrą parametrą iš 04H, bloga pozicija
0000:0475 7100 MVDK 0h, 11h
0000:0477 8081 STL, * AR1
0000:0478 1000 LD 0h,
0000:0479 F074 CALL teisėjas
0000:047 B EE02 Frame 2
0000:047 C 8A11 POPM 11h
0000:047 D FC00 RET
0000:047 E teisėjas
0000:047 E 4A11 PSHM 11h
0000:047 F EEFD FRAME -3
0000:0480 F495 NOP
0000:0481 8000 STL, 0h
0000:0482 L2
0000:0482 7100 MVDK 0h, 11h
0000:0484 1081 LD * AR1,
0000:0485 8001 STL, 1h
0000:0486 1081 LD * AR1,
0000:0487 8002 STL, 2h
0000:0488 6801 ANDM 40h, 1h
0000:048 6.802 ANDM 40h, 2h
0000:048 C 1.001 LD 1h,
0000:048 D 0.802 SUB 2h,
0000:048 E F844 pr L2, ANEQ
0000:0490 EE03 rėmeliais 3
0000:0491 8A11 POPM 11h
0000:0492 FC00 RET

Kas nutiko su mano programa, kas gali man padėti?
ačiū

 

Welcome to EDABoard.com

Sponsor

Back
Top