Forum: Mikrocontroller und Digitale Elektronik Intel/Altera und Makros


von Marco (Gast)


Lesenswert?

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.

von Forist (Gast)


Lesenswert?

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?

von Marco (Gast)


Lesenswert?

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?

von Markus F. (mfro)


Lesenswert?

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.

von Forist (Gast)


Lesenswert?

Marco schrieb:
> NIOS ist ein Mikrocontroller, oder etwa nicht?

Wohl eher Code für einen FPGA.

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
Noch kein Account? Hier anmelden.