RE: alternative to printk, printing without buffering

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Yes.You could have your own put[s,char,ch] functions to directly write 
to the UART.

Something like:

#define TIMEOUT        0xffff
#define SERIAL_BASE    0xBD000020

static volatile unsigned char * const com1 = (unsigned char *)SERIAL_BASE;

void
puts(unsigned char *cp)
{
    unsigned char ch;
    int i = 0;

    while (*cp) {
        do {
            ch = com1[SER_CMD];
            slow_down();
            i++;
            if (i>TIMEOUT) {
                break;
            }
        } while (0 == (ch & TX_BUSY));
        com1[SER_DATA] = *cp++;
    }
    putch('\r');
    putch('\n');
}

slow_down() is a function that would go over 10000 iterations without doing
anything.
Just #define the serial base,command register and the data register
addresses.

HTH,
Manoj


> -----Original Message-----
> From: Marek Zawadzki [mailto:mzawadzk@cs.stevens-tech.edu]
> Sent: Wednesday, March 20, 2002 9:00 AM
> To: unlisted-recipients
> Cc: kernelnewbies@nl.linux.org
> Subject: alternative to printk, printing without buffering
> 
> 
> Hello,
> 
> Is there any alternative to printk which will output a given 
> string to the
> screen immediately, with no buffering, in all the cases? (sort of
> direct-device acccess)
> Sometimes when my kernel dies messages die with it in the buffer and I
> can't see what was the cause.
> Thanks!
> 
> -marek
> 
> --
> Kernelnewbies: Help each other learn about the Linux kernel.
> Archive:       http://mail.nl.linux.org/kernelnewbies/
> FAQ:           http://kernelnewbies.org/faq/
> 
--
Kernelnewbies: Help each other learn about the Linux kernel.
Archive:       http://mail.nl.linux.org/kernelnewbies/
FAQ:           http://kernelnewbies.org/faq/


[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux