datatom
10.04.2010, 21:06
Um mit meinem Controller AVR32 UC3B0256 auf einenm ALVIDI-Board das USART-Beispiel aus dem ATMEL AVR32-UC3-SoftwareFramework-1.6.0 nutzen zu können, muss ich einige Änderungen in den Beispielprogrammen vornehmen.
Z.B. im Programm usart_example.c. Dort gibt es einige Definitionen die von den jeweiligen Atmel-Entwicklungsboards abhängig sind. Mein Chip gehört normalerweise zu dem Board EVK1101. Dort wird u.a. USART1 zugewiesen. Für mein Board muss ich aber USART0 zuweisen.
Anstatt so:
#elif BOARD == EVK1101
# define EXAMPLE_USART (&AVR32_USART1)
# define EXAMPLE_USART_RX_PIN AVR32_USART1_RXD_0_0_PIN
# define EXAMPLE_USART_RX_FUNCTION AVR32_USART1_RXD_0_0_FUNCTION
# define EXAMPLE_USART_TX_PIN AVR32_USART1_TXD_0_0_PIN
# define EXAMPLE_USART_TX_FUNCTION AVR32_USART1_TXD_0_0_FUNCTION
# define EXAMPLE_USART_CLOCK_MASK AVR32_USART1_CLK_PBA
# define EXAMPLE_PDCA_CLOCK_HSB AVR32_PDCA_CLK_HSB
# define EXAMPLE_PDCA_CLOCK_PB AVR32_PDCA_CLK_PBA
muss es bei meinem Board, folgendermaßen lauten:
#elif BOARD == EVK1101
# define EXAMPLE_USART (&AVR32_USART0)
# define EXAMPLE_USART_RX_PIN AVR32_USART0_RXD_0_1_PIN
# define EXAMPLE_USART_RX_FUNCTION AVR32_USART0_RXD_0_1_FUNCTION
# define EXAMPLE_USART_TX_PIN AVR32_USART0_TXD_0_1_PIN
# define EXAMPLE_USART_TX_FUNCTION AVR32_USART0_TXD_0_1_FUNCTION
# define EXAMPLE_USART_CLOCK_MASK AVR32_USART0_CLK_PBA
# define EXAMPLE_PDCA_CLOCK_HSB AVR32_PDCA_CLK_HSB
# define EXAMPLE_PDCA_CLOCK_PB AVR32_PDCA_CLK_PBA
Dann gibt es noch andere Änderungen die durchgeführt werden müssen. Wobei ich aber noch nicht genau weiß, welche es sind. Der Boardhersteller meint, es müsste aus den Datenblättern hervorgehen.
Vielleicht kann mir ja jemand auf die Sprünge helfen, der sich mit dem USART-Beispiel aus dem Framework auskennt, weil alleine werde ich wohl in 100 Jahren nicht drauf kommen.
Mein Board:
http://alvidi.de/avr32_modul_bmb.html
Das Datenblatt dazu:
http://alvidi.de/data_sheets/avr32-modul-bmb.pdf
Der Schaltplan dazu:
http://alvidi.de/data_sheets/avr32-schaltplan-bmb.pdf
Datenblatt zu meinem Chip:
http://www.atmel.com/dyn/resources/prod_documents/doc32059.pdf
Es soll hier keiner meine Arbeit machen, aber vielleicht kann mir jemand sagen, wo man einen Bezug zwischen meinem Board, meinem Chip und dem Chip-Datenblatt herstellt und unter welchen Punkten etwas für die Definitionen für USART steht.
Vielen Dank.
Grüße
datatom
Z.B. im Programm usart_example.c. Dort gibt es einige Definitionen die von den jeweiligen Atmel-Entwicklungsboards abhängig sind. Mein Chip gehört normalerweise zu dem Board EVK1101. Dort wird u.a. USART1 zugewiesen. Für mein Board muss ich aber USART0 zuweisen.
Anstatt so:
#elif BOARD == EVK1101
# define EXAMPLE_USART (&AVR32_USART1)
# define EXAMPLE_USART_RX_PIN AVR32_USART1_RXD_0_0_PIN
# define EXAMPLE_USART_RX_FUNCTION AVR32_USART1_RXD_0_0_FUNCTION
# define EXAMPLE_USART_TX_PIN AVR32_USART1_TXD_0_0_PIN
# define EXAMPLE_USART_TX_FUNCTION AVR32_USART1_TXD_0_0_FUNCTION
# define EXAMPLE_USART_CLOCK_MASK AVR32_USART1_CLK_PBA
# define EXAMPLE_PDCA_CLOCK_HSB AVR32_PDCA_CLK_HSB
# define EXAMPLE_PDCA_CLOCK_PB AVR32_PDCA_CLK_PBA
muss es bei meinem Board, folgendermaßen lauten:
#elif BOARD == EVK1101
# define EXAMPLE_USART (&AVR32_USART0)
# define EXAMPLE_USART_RX_PIN AVR32_USART0_RXD_0_1_PIN
# define EXAMPLE_USART_RX_FUNCTION AVR32_USART0_RXD_0_1_FUNCTION
# define EXAMPLE_USART_TX_PIN AVR32_USART0_TXD_0_1_PIN
# define EXAMPLE_USART_TX_FUNCTION AVR32_USART0_TXD_0_1_FUNCTION
# define EXAMPLE_USART_CLOCK_MASK AVR32_USART0_CLK_PBA
# define EXAMPLE_PDCA_CLOCK_HSB AVR32_PDCA_CLK_HSB
# define EXAMPLE_PDCA_CLOCK_PB AVR32_PDCA_CLK_PBA
Dann gibt es noch andere Änderungen die durchgeführt werden müssen. Wobei ich aber noch nicht genau weiß, welche es sind. Der Boardhersteller meint, es müsste aus den Datenblättern hervorgehen.
Vielleicht kann mir ja jemand auf die Sprünge helfen, der sich mit dem USART-Beispiel aus dem Framework auskennt, weil alleine werde ich wohl in 100 Jahren nicht drauf kommen.
Mein Board:
http://alvidi.de/avr32_modul_bmb.html
Das Datenblatt dazu:
http://alvidi.de/data_sheets/avr32-modul-bmb.pdf
Der Schaltplan dazu:
http://alvidi.de/data_sheets/avr32-schaltplan-bmb.pdf
Datenblatt zu meinem Chip:
http://www.atmel.com/dyn/resources/prod_documents/doc32059.pdf
Es soll hier keiner meine Arbeit machen, aber vielleicht kann mir jemand sagen, wo man einen Bezug zwischen meinem Board, meinem Chip und dem Chip-Datenblatt herstellt und unter welchen Punkten etwas für die Definitionen für USART steht.
Vielen Dank.
Grüße
datatom