1 //*----------------------------------------------------------------------------
\r
2 //* ATMEL Microcontroller Software Support - ROUSSET -
\r
3 //*----------------------------------------------------------------------------
\r
4 //* The software is delivered "AS IS" without warranty or condition of any
\r
5 //* kind, either express, implied or statutory. This includes without
\r
6 //* limitation any warranty or condition with respect to merchantability or
\r
7 //* fitness for any particular purpose, or against the infringements of
\r
8 //* intellectual property rights of others.
\r
9 //*----------------------------------------------------------------------------
\r
10 //* File Name : dbgu.c
\r
11 //* Object : DBGU routines written in C
\r
12 //* Creation : JG 16/Aug/2004
\r
13 //*----------------------------------------------------------------------------
\r
15 // Include Standard files
\r
18 //*--------------------------1--------------------------------------------------
\r
19 //* \fn AT91F_DBGU_Printk
\r
20 //* \brief This function is used to send a string through the DBGU channel (Very low level debugging)
\r
21 //*----------------------------------------------------------------------------
\r
22 void AT91F_DBGU_Printk( char *buffer)
\r
24 AT91PS_DBGU pDbgu = AT91C_BASE_DBGU ;
\r
27 while(*buffer != '\0')
\r
33 if ( (pDbgu->DBGU_CSR & 0x0200) == 0)
\r
39 pDbgu->DBGU_THR = *buffer;
\r
45 void Init_DBGU_CLK(void)
\r
47 AT91F_PMC_EnablePeriphClock(AT91C_BASE_PMC, ((unsigned int) 1 << AT91C_ID_SYS));
\r
50 void Init_DBGU_BGR(unsigned short baud)
\r
52 AT91PS_DBGU pDbgu = AT91C_BASE_DBGU ;
\r
54 pDbgu->DBGU_BRGR = (unsigned short)baud;
\r
57 void DBGU_TX_Enable(void)
\r
59 AT91PS_DBGU pDbgu = AT91C_BASE_DBGU ;
\r
61 pDbgu->DBGU_CR = 0x00000040;
\r
64 void DBGU_RX_Enable(void)
\r
66 AT91PS_DBGU pDbgu = AT91C_BASE_DBGU ;
\r
68 pDbgu->DBGU_CR = 0x00000010;
\r
71 void DBGU_RX_TX_RST_DIS(void)
\r
73 AT91PS_DBGU pDbgu = AT91C_BASE_DBGU ;
\r
74 pDbgu->DBGU_CR = 0x000000AC;
\r
77 void DBGU_Parity_Cfg(unsigned int par)
\r
79 AT91PS_DBGU pDbgu = AT91C_BASE_DBGU ;
\r
81 pDbgu->DBGU_MR = par << 9;
\r
85 void Init_DBGU(void)
\r
87 AT91F_DBGU_CfgPIO();
\r
88 DBGU_RX_TX_RST_DIS();
\r
89 Init_DBGU_BGR(26); //26 <=> 115kBd
\r