OpenCores
URL https://opencores.org/ocsvn/amber/amber/trunk

Subversion Repositories amber

[/] [amber/] [trunk/] [sw/] [boot-loader-ethmac/] [serial.c] - Diff between revs 78 and 81

Only display areas with differences | Details | Blame | View Log

Rev 78 Rev 81
/*----------------------------------------------------------------
/*----------------------------------------------------------------
//                                                              //
//                                                              //
//  boot-loader-ethmac.c                                        //
//  boot-loader-ethmac.c                                        //
//                                                              //
//                                                              //
//  This file is part of the Amber project                      //
//  This file is part of the Amber project                      //
//  http://www.opencores.org/project,amber                      //
//  http://www.opencores.org/project,amber                      //
//                                                              //
//                                                              //
//  Description                                                 //
//  Description                                                 //
//  The main functions for the boot loader application. This    //
//  The main functions for the boot loader application. This    //
//  application is embedded in the FPGA's SRAM and is used      //
//  application is embedded in the FPGA's SRAM and is used      //
//  to load larger applications into the DDR3 memory on         //
//  to load larger applications into the DDR3 memory on         //
//  the development board.                                      //
//  the development board.                                      //
//                                                              //
//                                                              //
//  Author(s):                                                  //
//  Author(s):                                                  //
//      - Conor Santifort, csantifort.amber@gmail.com           //
//      - Conor Santifort, csantifort.amber@gmail.com           //
//                                                              //
//                                                              //
//////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////
//                                                              //
//                                                              //
// Copyright (C) 2010-2013 Authors and OPENCORES.ORG            //
// Copyright (C) 2010-2013 Authors and OPENCORES.ORG            //
//                                                              //
//                                                              //
// This source file may be used and distributed without         //
// This source file may be used and distributed without         //
// restriction provided that this copyright statement is not    //
// restriction provided that this copyright statement is not    //
// removed from the file and that any derivative work contains  //
// removed from the file and that any derivative work contains  //
// the original copyright notice and the associated disclaimer. //
// the original copyright notice and the associated disclaimer. //
//                                                              //
//                                                              //
// This source file is free software; you can redistribute it   //
// This source file is free software; you can redistribute it   //
// and/or modify it under the terms of the GNU Lesser General   //
// and/or modify it under the terms of the GNU Lesser General   //
// Public License as published by the Free Software Foundation; //
// Public License as published by the Free Software Foundation; //
// either version 2.1 of the License, or (at your option) any   //
// either version 2.1 of the License, or (at your option) any   //
// later version.                                               //
// later version.                                               //
//                                                              //
//                                                              //
// This source is distributed in the hope that it will be       //
// This source is distributed in the hope that it will be       //
// useful, but WITHOUT ANY WARRANTY; without even the implied   //
// useful, but WITHOUT ANY WARRANTY; without even the implied   //
// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR      //
// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR      //
// PURPOSE.  See the GNU Lesser General Public License for more //
// PURPOSE.  See the GNU Lesser General Public License for more //
// details.                                                     //
// details.                                                     //
//                                                              //
//                                                              //
// You should have received a copy of the GNU Lesser General    //
// You should have received a copy of the GNU Lesser General    //
// Public License along with this source; if not, download it   //
// Public License along with this source; if not, download it   //
// from http://www.opencores.org/lgpl.shtml                     //
// from http://www.opencores.org/lgpl.shtml                     //
//                                                              //
//                                                              //
----------------------------------------------------------------*/
----------------------------------------------------------------*/
#include "amber_registers.h"
#include "amber_registers.h"
 
 
 
 
 
#define DEBUG 1
 
 
 
#ifdef DEBUG
 
    #define trace(fmt, args...) print_serial("%s:%s:%d: "fmt"\n\r", __FILE__, __FUNCTION__, __LINE__, args)
 
#else
 
    #define trace(fmt, args...)
 
#endif
 
 
 
 
 
 
void init_serial()
void init_serial()
{
{
    /* Enable UART 0 */
    /* Enable UART 0 */
    *(unsigned int *) ADR_AMBER_UART0_LCRH = 0x10;
    *(unsigned int *) ADR_AMBER_UART0_LCRH = 0x10;
}
}
 
 
 
 
 
 
/* Add a line to the line buffer */
/* Add a line to the line buffer */
void print_serial(const char *fmt, ...)
void print_serial(const char *fmt, ...)
{
{
    int len;
    int len;
    register unsigned long *varg = (unsigned long *)(&fmt);
    register unsigned long *varg = (unsigned long *)(&fmt);
    *varg++;
    *varg++;
 
 
    /* Need to pass a pointer to a pointer to the location to
    /* Need to pass a pointer to a pointer to the location to
       write the character, to that the pointer to the location
       write the character, to that the pointer to the location
       can be incremented by the final output function
       can be incremented by the final output function
    */
    */
    len = print(0, fmt, varg);
    len = print(0, fmt, varg);
}
}
 
 
 
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.