Intel/Altera und Makros

Gast #6094420
Ich will gerade etwas mit NIOS ("Software"-Mikrocontroller auf einem 
Intel FPGA) herumspielen, und die mitgelieferten Bibliotheken sehen da 
so aus:
1
/* Page Erase Operation */
2
#define ALTERA_ONCHIP_FLASH_PAGE_ERASE(base, page_erase_block_address)          \
3
    (                                                                           \
4
        IOWR_ALTERA_ONCHIP_FLASH_CONTROL((base),                                \
5
            (IORD_ALTERA_ONCHIP_FLASH_CONTROL((base))                           \
6
            &                                                                   \
7
                ~(                                                              \
8
                    ALTERA_ONCHIP_FLASH_CONTROL_ALLSECTOR_WRITE_PROTECT_MSK |   \
9
                    ALTERA_ONCHIP_FLASH_CONTROL_PAGE_ERASE_MSK |                \
10
                    ALTERA_ONCHIP_FLASH_CONTROL_SECTOR_ERASE_MSK                \
11
                )                                                               \
12
            )                                                                   \
13
            |                                                                   \
14
                (                                                               \
15
                    ALTERA_ONCHIP_FLASH_CONTROL_ALLSECTOR_WRITE_ENABLE  |       \
16
                    (page_erase_block_address) |                                \
17
                    ALTERA_ONCHIP_FLASH_CONTROL_SECTOR_ERASE_NOT_SET            \
18
                )                                                               \
19
        )                                                                       \
20
    )

Makros bestehend aus zeilenweise anderen Makros (teils wieder solche 
Funktionen). Laut Datei-Header stammt das von 2014! Intel hat es echt 
geschafft die Bibliotheken fast vollständig in Makros zu schreiben. Gibt 
es irgendeinen sinnvollen Grund dafür? Ist das bei Xilinx auch so?

Ich muss jedenfalls etwas debuggen und werde gerade fast verrückt.
Gast
Forist schrieb:
> Marco schrieb:
>> Ich will gerade etwas mit NIOS ("Software"-Mikrocontroller auf einem
>> Intel FPGA) herumspielen
>
> Dann vermute ich mal, dass du eine Frage zur FPGA-Programmierung hast.
> Was hat das mit Mikrocontrollern zu tun?

NIOS ist ein Mikrocontroller, oder etwa nicht?
Marco schrieb:
> Gibt
> es irgendeinen sinnvollen Grund dafür?

Sinnvoll? Weiß ich nicht.

Aber wie willst Du das groß anders machen, wenn - im Gegensatz zu einem 
fix in Hardware gegossenen µC - tatsächlich so ungefähr nichts fix ist?

I/O-Register können "(n)irgendwo" sein, Flash kann ein anderer sein, ...

All das ergibt sich ja erst, wenn es im Qsys festgeschrieben ist.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 6 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.