BeRTOS
kdebug_i196.c
Go to the documentation of this file.
00001 
00040 #error Revise me!
00041 
00042 #include <cfg/debug.h>
00043 #include <cfg/macros.h> /* for BV() */
00044 #include <appconfig.h>
00045 #include <hw/hw_cpufreq.h>     /* for CPU_FREQ */
00046 #include <hw_ser.h>     /* Required for bus macros overrides */
00047 
00048 
00049 #include "Util196.h"
00050 #define KDBG_WAIT_READY()      do {} while (!(SP_STAT & (SPSF_TX_EMPTY | SPSF_TX_INT)))
00051 #define KDBG_WRITE_CHAR(c)     do { SBUF = (c); } while(0)
00052 #define KDBG_MASK_IRQ(old) \
00053     do { \
00054         (old) = INT_MASK1 & INT1F_TI; \
00055         INT_MASK1 &= ~INT1F_TI; \
00056     } while(0)
00057 #define KDBG_RESTORE_IRQ(old)  do { INT_MASK1 |= (old); }
00058 typedef uint16_t kdbg_irqsave_t; /* FIXME: unconfirmed */
00059 
00060 #if CONFIG_KDEBUG_PORT == 666
00061     #error BITBANG debug console missing for this platform
00062 #endif
00063 
00064 
00065 INLINE void kdbg_hw_init(void)
00066 {
00067     /* Set serial port for 19200bps 8N1 */
00068     INT_MASK1 &= ~(INT1F_TI | INT1F_RI);
00069     SP_CON = SPCF_RECEIVE_ENABLE | SPCF_MODE1;
00070     ioc1_img |= IOC1F_TXD_SEL | IOC1F_EXTINT_SRC;
00071     IOC1 = ioc1_img;
00072     BAUD_RATE = 0x33;
00073     BAUD_RATE = 0x80;
00074 }