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