smc driver

Philippe Simons loki_666 at fastmail.fm
Mon Jul 4 18:30:30 UTC 2005


this is my main.cpp

#define CONFIGURE_INIT
#include "system.h"

#include <rtems/dosfs.h>
#include <rtems/ide_part_table.h>
#include <rtems/fsmount.h>

#include "engine.h"
#include "systemstub.h"

fstab_t fs_table[] = {
  {
    "/dev/smc1","/mnt/smc1",
    &msdos_ops, RTEMS_FILESYSTEM_READ_ONLY,
    FSMOUNT_MNT_OK | FSMOUNT_MNTPNT_CRTERR | FSMOUNT_MNT_FAILED,
    0
  }
};

rtems_task main_task(
  rtems_task_argument 
)
{
	const char *dataPath = "/mnt/smc1/GAME/AW";
	const char *savePath = "/mnt/smc1/GAME/AW";
	rtems_status_code rc;
	
	rc = rtems_ide_part_table_initialize("/dev/smc");
	printf("rtems_ide_part_table_initialize() result = %d\n",rc);
	rc = (rtems_status_code) rtems_fsmount( fs_table,
		      sizeof(fs_table)/sizeof(fs_table[0]),
		      NULL);
	printf("rtems_fsmount() result = %d\n",rc);

	SystemStub *stub = SystemStub_GP32_create();
	Engine *e = new Engine(stub, dataPath, savePath);
	e->run();
	delete e;
	delete stub;
	exit(0);
}

in rtems/ide_part_table.h ...

rtems_status_code
rtems_ide_part_table_initialize(char *dev_name);

looks good to me...


On Mon, 04 Jul 2005 20:05:54 +0200, "Thomas Doerfler"
<Thomas.Doerfler at imd-systems.de> said:
> Hi Philippe,
> 
> since the linker complaints about the function name INCLUDING the
> parameters, possibly you (or the linked code) are using the function
> undeclared and/or with the wrong calling/return parameters?
> 
> wkr,
> thomas.
> 
> Philippe Simons schrieb:
> > Hi,
> > 
> > i've been playing with a smc driver for the gp32 bsp, but I ran into a
> > strage issue...
> > I was able to sucessfully mount the smc with the fileio sample, read
> > some files and browse with the shell.
> > now I'm trying to build an app which mount the smc, like fileio does,
> > but link fails with
> > undefined reference to `rtems_ide_part_table_initialize(char*)'
> > 
> > I've checked librtemscpu.a and there is an ide_part_table.o with the fct
> > rtems_ide_part_table_initialize...
> > btw, the same app was able to link with Untar_FromMemory() fct which is
> > in librtemscpu.a too...
> > 
> > here is my system.h
> > /* configuration information */
> > 
> > #include <bsp.h> /* for device driver prototypes */
> > #include <smc.h>
> > 
> > #define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
> > #define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER
> > 
> > #define CONFIGURE_HAS_OWN_DEVICE_DRIVER_TABLE
> > 
> > #ifdef CONFIGURE_INIT
> > rtems_driver_address_table Device_drivers[] =
> > 	{
> > 	CONSOLE_DRIVER_TABLE_ENTRY
> > 	,CLOCK_DRIVER_TABLE_ENTRY
> > 	,SMC_DRIVER_TABLE_ENTRY
> > 	};
> > 
> > #include <rtems/bdbuf.h>
> > rtems_bdbuf_config rtems_bdbuf_configuration[] = {
> >   {512,128,NULL}
> > };
> > 
> > int rtems_bdbuf_configuration_size =( sizeof(rtems_bdbuf_configuration)
> > 				     /sizeof(rtems_bdbuf_configuration[0]));
> > #endif
> > 
> > 
> > #define CONFIGURE_MAXIMUM_TASKS             20
> > #define CONFIGURE_MAXIMUM_SEMAPHORES        20
> > #define CONFIGURE_MAXIMUM_MESSAGE_QUEUES    20
> > #define CONFIGURE_INIT_TASK_PRIORITY          10
> > #define CONFIGURE_INIT_TASK_INITIAL_MODES     RTEMS_PREEMPT
> > 
> > #define CONFIGURE_RTEMS_INIT_TASKS_TABLE
> > #define CONFIGURE_LIBIO_MAXIMUM_FILE_DESCRIPTORS        20
> > #define CONFIGURE_USE_IMFS_AS_BASE_FILESYSTEM
> > #define CONFIGURE_INIT_TASK_ENTRY_POINT   main_task
> > #define CONFIGURE_INIT_TASK_NAME          rtems_build_name( 'A', 'W',
> > '3', '2' )
> > #define CONFIGURE_INIT_TASK_STACK_SIZE  (20 * RTEMS_MINIMUM_STACK_SIZE)
> > 
> > #define CONFIGURE_EXTRA_TASK_STACKS     (20 * RTEMS_MINIMUM_STACK_SIZE)
> > 
> > #include <rtems/confdefs.h>
> > 
> > I dont know whats wrong...
> > TIA
> > 
> 
> 
> -- 
> --------------------------------------------
> IMD Ingenieurbuero fuer Microcomputertechnik
> Thomas Doerfler           Herbststrasse 8
> D-82178 Puchheim          Germany
> email:    Thomas.Doerfler at imd-systems.de
> PGP public key available at:
>      http://www.imd-systems.de/pgpkey_en.html

-- 
http://www.fastmail.fm - The professional email service




More information about the users mailing list