Hallo NG, ich bin gerade dabei, die Demo von "MMC" ( http://www.olimex.com/dev/soft/arm/SAM7/MMC.zip ) von dem Board von C nach Assembler zu übersetzen. Es gibt da 1 Zeilen (in Sternchen) am Ende der SPI-Initialisierung, die ich nicht auflösen kann: ... s_pPDC->PDC_PTCR = AT91C_PDC_TXTEN | AT91C_PDC_RXTEN; *********************************************************** ** s_pSpi->SPI_PTCR = AT91C_PDC_TXTEN | AT91C_PDC_RXTEN; ** *********************************************************** ... In der Doku (6175.pdf) finde ich kein "SPI_PTCR" (Offset). Die Basis-Adresse vom SPI wäre ja wohl 0xFFFE0000. Was ich natürlich machen könnte: aus den Headerdefinitions den Offset in der betreffenden Struktur ausrechnen, aber mich würde interessieren, wo aus dem Manual ich auf SPI_PTCR komme. Danke für jeden Tip!
PTCR gehört zum PDC Controller auf Seite 149, Basisadresse ist dann die vom SPI Controller + Offset für SPI-DMA Transfers (0x100-0x124), im Datenblatt auf Seite 263 als reserved für PDC deklariert Grüße lehmi
Hi, die "PDC" sind ja so quasi DMA-Controller und befinden sich bei folgenden Schnittstellen immer bei der BaseAdr + 0x0100 (die OffsetAdr)! siehe Doku "6175G.pdf" Seite 176! (Note 1.) DBGU USART SSC SPI MCI etc. mfg Stephan
Ah, OK. Dann müsste doch, wenn ichs richtig verstanden habe mein Offset 0x120 für SPI_PTCR sein, oder? Das würde sich auch mit den Debug-Infos (r0 + r1) aus dem C Programm decken... Vielen Dank!
> ich bin gerade dabei, die Demo von "MMC" > ( http://www.olimex.com/dev/soft/arm/SAM7/MMC.zip ) > von dem Board von C nach Assembler zu übersetzen. LOL dafür gibt es programme, die nennen sich 'compiler'
> *LOL* > dafür gibt es programme, die nennen sich 'compiler' eigentlich sollte ich´s ja nicht kommentieren, aber ich tu´s trotzdem mal: <*?#!*> Abowohl... Du hast recht. Wer braucht heute schon noch Assembler, wo es doch so intelligente Compiler gibt... <*?#!*?#!*> Naja, wenn ichs mir noch besser überlege: Wer braucht denn heute noch Compiler, wo es doch so tolle interpretierte Sprachen gibt. Da Spart man sich wenigstens die Zeit, die der Compiler mit compilieren verschwendet. </*?#!*?#!*> </*?#!*>
> Abowohl... Du hast recht. Wer braucht heute schon noch Assembler, > wo es doch so intelligente Compiler gibt... darum geht es nicht. natürlich braucht man manchmal assembler um z.b. dinge zu erreichen, die man mit einem compiler nicht hinbekommt. aber warum jemand einen (möglicherweise gut funktionierenden) C code von hand in assembler umwandelt, entzieht sich meiner vorstellungskraft.
Pippi Petinger wrote: >> Abowohl... Du hast recht. Wer braucht heute schon noch Assembler, >> wo es doch so intelligente Compiler gibt... > darum geht es nicht. > natürlich braucht man manchmal assembler um z.b. dinge zu erreichen, die > man mit einem compiler nicht hinbekommt. > aber warum jemand einen (möglicherweise gut funktionierenden) C code von > hand in assembler umwandelt, entzieht sich meiner vorstellungskraft. Assembler ist ja nicht schlecht - kann offensichtlich mindestens das, was C auch kann ;-) Schade finde ich es nur, dass Assembler-Code nicht so einfach - auf andere µCs oder sogar auf den PC - zu portieren ist wie C/C++ Code. Assembler ist halt eine Sackgasse irgendwie ... Mfg Thomas Pototschnig
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.