Changes in boot/arch/arm32/src/putchar.c [f1fc83a:4872160] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
boot/arch/arm32/src/putchar.c
rf1fc83a r4872160 2 2 * Copyright (c) 2007 Michal Kebrt 3 3 * Copyright (c) 2009 Vineeth Pillai 4 * Copyright (c) 2010 Jiri Svoboda5 4 * All rights reserved. 6 5 * … … 41 40 #include <str.h> 42 41 43 #ifdef MACHINE_gta0244 45 /** Send a byte to the gta02 serial console.46 *47 * @param byte Byte to send.48 */49 static void scons_sendb_gta02(uint8_t byte)50 {51 volatile uint32_t *utrstat;52 volatile uint32_t *utxh;53 54 utrstat = (volatile uint32_t *) GTA02_SCONS_UTRSTAT;55 utxh = (volatile uint32_t *) GTA02_SCONS_UTXH;56 57 /* Wait until transmitter is empty. */58 while ((*utrstat & S3C24XX_UTXH_TX_EMPTY) == 0)59 ;60 61 /* Transmit byte. */62 *utxh = (uint32_t) byte;63 }64 65 #endif66 67 #ifdef MACHINE_testarm68 69 /** Send a byte to the GXemul testarm serial console.70 *71 * @param byte Byte to send.72 */73 static void scons_sendb_testarm(uint8_t byte)74 {75 *((volatile uint8_t *) TESTARM_SCONS_ADDR) = byte;76 }77 78 #endif79 80 #ifdef MACHINE_integratorcp81 82 /** Send a byte to the IntegratorCP serial console.83 *84 * @param byte Byte to send.85 */86 static void scons_sendb_icp(uint8_t byte)87 {88 *((volatile uint8_t *) ICP_SCONS_ADDR) = byte;89 }90 91 #endif92 93 /** Send a byte to the serial console.94 *95 * @param byte Byte to send.96 */97 static void scons_sendb(uint8_t byte)98 {99 #ifdef MACHINE_gta02100 scons_sendb_gta02(byte);101 #endif102 #ifdef MACHINE_testarm103 scons_sendb_testarm(byte);104 #endif105 #ifdef MACHINE_integratorcp106 scons_sendb_icp(byte);107 #endif108 }109 110 /** Display a character111 *112 * @param ch Character to display113 */114 42 void putchar(const wchar_t ch) 115 43 { 116 44 if (ch == '\n') 117 scons_sendb('\r');118 45 *((volatile char *) VIDEORAM_ADDRESS) = '\r'; 46 119 47 if (ascii_check(ch)) 120 scons_sendb((uint8_t) ch);48 *((volatile char *) VIDEORAM_ADDRESS) = ch; 121 49 else 122 scons_sendb(U_SPECIAL);50 *((volatile char *) VIDEORAM_ADDRESS) = U_SPECIAL; 123 51 } 124 52
Note:
See TracChangeset
for help on using the changeset viewer.