Hallo zusammen! Ich arbeite erst seit kurzem mit IAR Embedded Workbench (8.20.1) und programmiere damit einen Arm Cortex-M4 Mikrocontroller. Ich möchte das Bluetooth Modul nRF2740 von Nordic (nRF8001 BLE Chip) mit dem µC ansteuern. Für das Bluetooth Modul gibt es Beispielprojekte und Source Code. Die Beispielprojekte konnte ich in µVision 5 ohne Fehler compilieren. Jetzt zu meinem Problem: Wenn ich nun zu meinem Programm für den Mikrocontroller in IAR die Files für das Bluetooth Modul hinzufüge bekomme ich folgende Fehlermeldung: identifier "sfr" is undefined Hier einige Zeilen wo der Fehler auftritt (insgesamt mehr als 115 mal): sfr P0 = 0x80; sfr SP = 0x81; sfr DPL = 0x82; sfr DPH = 0x83; sfr DPL1 = 0x84; sfr DPH1 = 0x85; sfr PCON = 0x87; Wie der Fehler schon sagt muss sfr definiert werden, leider habe im www nichts dazu gefunden. Kann mir dabei vielleicht jemand helfen? Vielen Dank!
Hallo, die von Dir aufgelisteten "sfr" sind für den 8051. Das gibt es glaube ich nicht für die ARM CPUs
Hans schrieb: > die von Dir aufgelisteten "sfr" sind für den 8051. Da ist man schon ein wenig sprachlos ;-)
Philipp S. schrieb: > Kann mir dabei vielleicht jemand helfen? Vielen Dank! Ich habe schon mal ein nicht-triviales Projekt von 8051 auf Cortex-M3 portiert, da fässt man gefühlt jede 2. Zeile an. Natürlich müsste man den 8051 Code dazu überhaupt lesen können, was bei Dir offensichtlich nicht der Fall ist (ansonsten wäre Dir bekannt was ein SFR ist). Schmeiss das olle nRF8001 Modul weg und nimm eins mit den Nachfolgern NRF51 oder NRF52. Dort sind Cortex-M0 oder Cortex-M4 Core drin, die kannste mit IAR direkt programmieren.
Nabend, das BLE Modul hängt per SPI oder I2C oder UART oder ... am CM4 und Du versuchst über diese Schnittstelle das Ganze ans rennen zu bekommen? Wenn Du den CM4 programmieren möchtest, dann interessieren Dich die internen SFR im BLE Modul nicht sonderlich, da Du ja indirekt über das serielle Interface auf das BLE Modul zugreifst und hier würde ich die Zuordnung von Label und Adresse in ein #define packen. Oder möchtest Du direkt den 8051 im BLE Modul programmieren? Dann bist Du bei der EWARM falsch und bräuchtest die EW8051, die mit den SFRs besser umgehen kann...
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.