Hi,
I am trying to compile seL4 for the
BBB. I am getting the following errors when it gets to timer_service. I
am following the instructions at https://github.com/seL4/refos-manifest.
I got past another compile error by adding a typedef to device_timer.h
for pstimer_t. Any help is appreciated.
// tfp, added to avoid compiler error
typedef uint32_t pstimer_t;
[apps/timer_server] building...
[HEADERS]
[STAGE] autoconf.h
[CC] src/state.o
In file included from /home/users/staff/tpeterson/sel4/beagle/stage/arm/am335x/include/refos-util/device_io.h:22:0,
from /home/users/staff/tpeterson/sel4/beagle/apps/timer_server/src/device_timer.h:21,
from /home/users/staff/tpeterson/sel4/beagle/apps/timer_server/src/state.h:27,
from /home/users/staff/tpeterson/sel4/beagle/apps/timer_server/src/state.c:24:
/home/users/staff/tpeterson/sel4/beagle/stage/arm/am335x/include/refos-rpc/data_client_helper.h:
In function 'data_open_map':
/home/users/staff/tpeterson/sel4/beagle/stage/arm/am335x/include/refos-rpc/data_client_helper.h:95:69:
warning: passing argument 6 o f 'data_open' from incompatible pointer
type [-Wincompatible-pointer-types]
d.dataspace
= data_open(session, name, flags, mode, dspaceSize, &errnoRetVal);
^
In file included from /home/users/staff/tpeterson/sel4/beagle/stage/arm/am335x/include/refos-util/device_io.h:21:0,
from /home/users/staff/tpeterson/sel4/beagle/apps/timer_server/src/device_timer.h:21,
from /home/users/staff/tpeterson/sel4/beagle/apps/timer_server/src/state.h:27,
from /home/users/staff/tpeterson/sel4/beagle/apps/timer_server/src/state.c:24:
/home/users/staff/tpeterson/sel4/beagle/stage/arm/am335x/include/refos-rpc/data_client.h:72:11:
note: expected 'int ** (*)()' but ar gument is of type 'int *'
seL4_CPtr data_open(seL4_CPtr
session, char* name, int flags, int mode, int size, int* errno);
^
[CC] src/device_timer.o
/home/users/staff/tpeterson/sel4/beagle/apps/timer_server/src/device_timer.c:
In function 'device_timer_handle_irq':
/home/users/staff/tpeterson/sel4/beagle/apps/timer_server/src/device_timer.c:146:5:
warning: implicit declaration of function 'timer _handle_irq' [-Wimplicit-function-declaration]
timer_handle_irq(s->timerDev,
irq);
^
/home/users/staff/tpeterson/sel4/beagle/apps/timer_server/src/device_timer.c:
In function 'device_timer_init':
/home/users/staff/tpeterson/sel4/beagle/apps/timer_server/src/device_timer.c:239:5:
error: unknown type name 'timer_config_t'
timer_config_t
config;
^
/home/users/staff/tpeterson/sel4/beagle/apps/timer_server/src/device_timer.c:240:11:
error: request for member 'vaddr' in something not a structure
or union
config.vaddr
= ps_io_map(&io->opsIO.io_mapper, dm_timer_paddrs[TIMER_ID],
^
/home/users/staff/tpeterson/sel4/beagle/apps/timer_server/src/device_timer.c:240:52:
error: 'dm_timer_paddrs' undeclared (first use in this function)
config.vaddr
= ps_io_map(&io->opsIO.io_mapper, dm_timer_paddrs[TIMER_ID],
^
/home/users/staff/tpeterson/sel4/beagle/apps/timer_server/src/device_timer.c:240:52:
note: each undeclared identifier is reported on ly once for each
function it appears in
/home/users/staff/tpeterson/sel4/beagle/apps/timer_server/src/device_timer.c:242:11:
error: request for member 'irq' in something no t a structure or
union
config.irq =
dm_timer_irqs[TIMER_ID];
^
/home/users/staff/tpeterson/sel4/beagle/apps/timer_server/src/device_timer.c:242:18:
error: 'dm_timer_irqs' undeclared (first use in this function)
config.irq =
dm_timer_irqs[TIMER_ID];
^
/home/users/staff/tpeterson/sel4/beagle/apps/timer_server/src/device_timer.c:243:16:
error: request for member 'vaddr' in something not a structure
or union
if (!config.vaddr)
{
^
/home/users/staff/tpeterson/sel4/beagle/apps/timer_server/src/device_timer.c:248:19:
warning: implicit declaration of function 'ps_g et_timer' [-Wimplicit-function-declaration]
s->timerDev
= ps_get_timer(TIMER_ID, &config);
^
/home/users/staff/tpeterson/sel4/beagle/apps/timer_server/src/device_timer.c:248:17:
warning: assignment makes pointer from integer without a cast
[-Wint-conversion]
s->timerDev
= ps_get_timer(TIMER_ID, &config);
^
/home/users/staff/tpeterson/sel4/beagle/apps/timer_server/src/device_timer.c:250:11:
error: request for member 'vaddr' in something not a structure
or union
config.vaddr
= ps_io_map(&io->opsIO.io_mapper, dm_timer_paddrs[TICK_ID],
^
/home/users/staff/tpeterson/sel4/beagle/apps/timer_server/src/device_timer.c:252:11:
error: request for member 'irq' in something no t a structure or
union
config.irq =
dm_timer_irqs[TICK_ID];
^
/home/users/staff/tpeterson/sel4/beagle/apps/timer_server/src/device_timer.c:253:16:
error: request for member 'vaddr' in something not a structure
or union
if (!config.vaddr)
{
^
/home/users/staff/tpeterson/sel4/beagle/apps/timer_server/src/device_timer.c:258:16:
warning: assignment makes pointer from integer without a cast
[-Wint-conversion]
s->tickDev
= ps_get_timer(TICK_ID, &config);
^
/home/users/staff/tpeterson/sel4/beagle/apps/timer_server/src/device_timer.c:273:41:
error: request for member 'properties' in somet hing not a structure
or union
for (uint32_t
i = 0; i < s->timerDev->properties.irqs; i++) {
^
/home/users/staff/tpeterson/sel4/beagle/apps/timer_server/src/device_timer.c:274:19:
warning: implicit declaration of function 'time r_get_nth_irq' [-Wimplicit-function-declaration]
int
irq = timer_get_nth_irq(s->timerDev, i);
^
/home/users/staff/tpeterson/sel4/beagle/apps/timer_server/src/device_timer.c:282:44:
error: request for member 'properties' in somet hing not a structure
or union
for
(uint32_t i = 0; i < s->tickDev->properties.irqs; i++) {
^
/home/users/staff/tpeterson/sel4/beagle/apps/timer_server/src/device_timer.c:289:21:
warning: implicit declaration of function 'time r_start' [-Wimplicit-function-declaration]
int
error = timer_start(s->tickDev);
^
/home/users/staff/tpeterson/sel4/beagle/apps/timer_server/src/device_timer.c:310:13:
warning: implicit declaration of function 'time r_periodic' [-Wimplicit-function-declaration]
error = timer_periodic(s->timerDev,
TIMER_PERIODIC_MAX);
^
/home/users/staff/tpeterson/sel4/beagle/apps/timer_server/src/device_timer.c:
In function 'device_timer_get_time':
/home/users/staff/tpeterson/sel4/beagle/apps/timer_server/src/device_timer.c:344:21:
warning: implicit declaration of function 'time r_get_time' [-Wimplicit-function-declaration]
uint64_t time
= timer_get_time(s->timerDev);
^
/home/users/staff/tpeterson/sel4/beagle/apps/timer_server/src/device_timer.c:345:21:
error: request for member 'properties' in somet hing not a structure
or union
if (!s->timerDev->properties.upcounter)
{
^
make[1]: *** [/home/users/staff/tpeterson/sel4/beagle/stage/arm/am335x/common/common.mk:265:
src/device_timer.o] Error 1
make: *** [tools/common/project.mk:331:
timer_server] Error 2
Todd Peterson
Chief Embedded Systems Engineer
Management Sciences, Inc.
6022 Constitution Ave NE
Albuquerque, NM 87144
505-255-8611 (office)
505-205-7057 (cell)
This email message and any attachments are for the sole use of the intended
recipient(s) and may contain proprietary and/or confidential information
which may be privileged or otherwise protected from disclosure. Any unauthorized
review, use, disclosure or distribution is prohibited. If you are not the
intended recipient(s), please contact the sender by reply email and destroy
the original message and any copies of the message as well as any attachments
to the original message.