Exemplo n.º 1
0
int
Cstart(void)
{
	char	**argv;
	int		argc;

	/* Connect the application to the monitor.  This must be done
	 * prior to the application making any other attempts to use the
	 * "mon_" functions provided by the monitor.
	 */
	monConnect((int(*)())(*(unsigned long *)MONCOMPTR),(void *)0,(void *)0);

	/* When the monitor starts up an application, it stores the argument
	 * list internally.  The call to mon_getargv() retrieves the arg list
	 * for use by this application...
	 */
	mon_getargv(&argc,&argv);

	/* Call main, then exit with the return from main().
	 */
	mon_appexit(main(argc,argv));

	/* Won't get here. */
	return(0);
}
Exemplo n.º 2
0
/* CstartAlt():
 * Demonstrates the use of the "call -a" command in uMon. 
 * For example, if for some reason you wanted to do this...
 * Load the application then load the symtbl file using
 * "make TARGET_IP=1.2.3.4 sym", then issue these commands:
 *
 *  tfs -v ld app
 *  call -a %CstartAlt one two three
 *
 * The "call -a" command in uMon correctly sets up the function
 * call parameters so that the following function would see 4
 * arguments (including arg0), with argv[1] thru argv[3] being
 * pointers to each of the number strings (i.e. "one", "two", "three")
 * and argv[0] being the ascii-coded-hex address of the function
 * CstartAlt.
 */
int
CstartAlt(int argc, char *argv[])
{
	monConnect((int(*)())(*(unsigned long *)MONCOMPTR),(void *)0,(void *)0);
	main(argc,argv);
	mon_appexit(0);
	return(0);
}
Exemplo n.º 3
0
int
start(void)
{
	int	argc;
	char	**argv;

	monConnect((int(*)())(*(unsigned long *)MONCOMPTR),(void *)0,(void *)0);

	/* Extract argc/argv from structure and call main(): */
	mon_getargv(&argc, &argv);

	/* Call main, then return to monitor. */
	return(main(argc, argv));
}
Exemplo n.º 4
0
void rtems_umon_connect(void)
{
  int(*moncomptr)(int,void *,void *,void *);

  if ( rtems_umon_connected )
    return;

  rtems_umon_connected = 1;

  moncomptr = rtems_bsp_get_umon_monptr();
  monConnect(
    moncomptr,                                    /* monitor base */
    (void *)0,                                    /* lock */
    (void *)0                                     /* unlock */
  );
}
Exemplo n.º 5
0
int
start(void)
{
    char	**argv;
    int		argc;

    /* Connect the application to the monitor.  This must be done
     * prior to the application making any other attempts to use the
     * "mon_" functions provided by the monitor.
     */
    monConnect((int(*)())(*(unsigned long *)MONCOMPTR),(void *)0,(void *)0);

    /* Extract argc/argv from structure and call main():
     */
    mon_getargv(&argc,&argv);

    /* Call main, then return to monitor.
     */
    return(main(argc,argv));
}