Hi,
       I have a Cortex-A9 processor based development board with me. I have run 
the standalone Hello World Application successfully. I want to add support for 
memcpy and memset functions so I have modified the hello_world code and written 
basic implementations of memcpy and memset functions. The code gets compiled 
and I can see the mem functions code via objdump into the hello_world elf. But 
when I try to run the code on the board it hangs after the following message. 
Please let me know what I am missing. Even The Basic print statements are not 
printed. I have attached the modified hello world code.

/***********************************************************/
Starting application at 0x0C100000 ...
/***********************************************************/

Regards,
Amit.
/*
 * (C) Copyright 2000
 * Wolfgang Denk, DENX Software Engineering, [email protected].
 *
 * See file CREDITS for list of people who contributed to this
 * project.
 *
 * 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 <common.h>
#include <exports.h>

DECLARE_GLOBAL_DATA_PTR;


void *my_memset(void * s,int c,size_t count)
{
        char *xs = (char *) s;
        while (count--)
                *xs++ = c;
        return s;
}

void *my_memcpy(void * dest,const void *src,size_t count)
{
        char *tmp = (char *) dest, *s = (char *) src;

        while (count--)
                *tmp++ = *s++;

        return dest;
}


int hello_world (int argc, char * const argv[])
{
        int i;
        char sbuff[10] = "amit";

        /* Print the ABI version */
        app_startup(argv);
        printf ("Example expects ABI version %d\n", XF_VERSION);
        printf ("Actual U-Boot ABI version %d\n", (int)get_version());

        printf ("Hello World\n");

        my_memset((void *)sbuff, 'a', 10);

        printf ("argc = %d\n", argc);

        for (i=0; i<=argc; ++i) {
                printf ("argv[%d] = \"%s\"\n",
                        i,
                        argv[i] ? argv[i] : "<NULL>");
        }

        printf ("Hit any key to exit ... ");
        while (!tstc())
                ;
        /* consume input */
        (void) getc();

        printf ("\n\n");
        return (0);
}
_______________________________________________
U-Boot mailing list
[email protected]
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to