diff options
author | henryk <henryk@6dc7ffe9-61d6-0310-9af1-9938baff3ed1> | 2007-11-11 02:08:38 +0000 |
---|---|---|
committer | henryk <henryk@6dc7ffe9-61d6-0310-9af1-9938baff3ed1> | 2007-11-11 02:08:38 +0000 |
commit | 13be0cd28e3e41a2415cd0d01bad8ecb0909e637 (patch) | |
tree | 3379ae180c0ab7d44c0cea2c4ab5c68b4e9217eb /openpicc/dfu/dbgu.c | |
parent | 39cb47ed0951074afb24687fcb6e66947b4f8ef8 (diff) |
Revert 313 and 315 again, I'm too stupid to get DFU working, focus on the application code first
git-svn-id: https://svn.openpcd.org:2342/trunk@316 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
Diffstat (limited to 'openpicc/dfu/dbgu.c')
-rw-r--r-- | openpicc/dfu/dbgu.c | 140 |
1 files changed, 0 insertions, 140 deletions
diff --git a/openpicc/dfu/dbgu.c b/openpicc/dfu/dbgu.c deleted file mode 100644 index ded704b..0000000 --- a/openpicc/dfu/dbgu.c +++ /dev/null @@ -1,140 +0,0 @@ -/* AT91SAM7 debug function implementation for OpenPCD - * (C) 2006 by Harald Welte <hwelte@hmw-consulting.de> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * - */ - -#include <lib_AT91SAM7.h> -#include <board.h> -#include <dfu/dbgu.h> -#include <stdarg.h> -#include <stdio.h> -#include <string.h> - -#define USART_SYS_LEVEL 4 -void AT91F_DBGU_Ready(void) -{ - while (!(AT91C_BASE_DBGU->DBGU_CSR & AT91C_US_TXEMPTY)) ; -} - -static void DBGU_irq_handler(void) -{ - static char value; - - AT91F_DBGU_Get(&value); - switch (value) { - case '9': - AT91F_DBGU_Printk("Resetting SAM7\n\r"); - AT91F_RSTSoftReset(AT91C_BASE_RSTC, AT91C_RSTC_PROCRST| - AT91C_RSTC_PERRST|AT91C_RSTC_EXTRST); - break; - default: - AT91F_DBGU_Printk("\n\r"); - } -} - -void AT91F_DBGU_Init(void) -{ - /* Open PIO for DBGU */ - AT91F_DBGU_CfgPIO(); - /* Enable Transmitter & receivier */ - ((AT91PS_USART) AT91C_BASE_DBGU)->US_CR = - AT91C_US_RSTTX | AT91C_US_RSTRX; - - /* Configure DBGU */ - AT91F_US_Configure(AT91C_BASE_DBGU, - MCK, AT91C_US_ASYNC_MODE, - AT91C_DBGU_BAUD, 0); - - /* Enable Transmitter & receivier */ - ((AT91PS_USART) AT91C_BASE_DBGU)->US_CR = - AT91C_US_RXEN | AT91C_US_TXEN; - - /* Enable USART IT error and AT91C_US_ENDRX */ - AT91F_US_EnableIt((AT91PS_USART) AT91C_BASE_DBGU, AT91C_US_RXRDY); - - /* open interrupt */ - - AT91F_AIC_ConfigureIt(AT91C_ID_SYS, USART_SYS_LEVEL, - AT91C_AIC_SRCTYPE_INT_HIGH_LEVEL, - DBGU_irq_handler); - AT91F_AIC_EnableIt(AT91C_ID_SYS); - -} - -void AT91F_DBGU_Printk(char *buffer) -{ - while (*buffer != '\0') { - while (!AT91F_US_TxReady((AT91PS_USART) AT91C_BASE_DBGU)) ; - AT91F_US_PutChar((AT91PS_USART) AT91C_BASE_DBGU, *buffer++); - } -} - -int AT91F_DBGU_Get(char *val) -{ - if ((AT91F_US_RxReady((AT91PS_USART) AT91C_BASE_DBGU)) == 0) - return (0); - else { - *val = AT91F_US_GetChar((AT91PS_USART) AT91C_BASE_DBGU); - return (-1); - } -} - -#ifdef DEBUG - -void AT91F_DBGU_Frame(char *buffer) -{ - unsigned char len; - - for (len = 0; buffer[len] != '\0'; len++) { } - - AT91F_US_SendFrame((AT91PS_USART) AT91C_BASE_DBGU, - (unsigned char *)buffer, len, 0, 0); -} - - -const char * -hexdump(const void *data, unsigned int len) -{ - static char string[256]; - unsigned char *d = (unsigned char *) data; - unsigned int i, left; - - string[0] = '\0'; - left = sizeof(string); - for (i = 0; len--; i += 3) { - if (i >= sizeof(string) -4) - break; - snprintf(string+i, 4, " %02x", *d++); - } - return string; -} - -static char dbg_buf[2048]; -void debugp(const char *format, ...) -{ - va_list ap; - - va_start(ap, format); - vsnprintf(dbg_buf, sizeof(dbg_buf)-1, format, ap); - va_end(ap); - - dbg_buf[sizeof(dbg_buf)-1] = '\0'; - //AT91F_DBGU_Frame(dbg_buf); - AT91F_DBGU_Printk(dbg_buf); -} - -#endif |