Question

I've been attempting to get nxtOSEK up and running, as there are some C++ projects I'd like to work on with my NXT and in searching the web it seemed to be the most recommended system for doing so.

I've been following this tutorial (I'm on Mac) for updating my brick and getting it set up, and managed to get to the point where I'm compiling sample programs and downloading them to my brick.

However, when I compile and run the helloworld program (which simply outputs 'OSEK HelloWorld' to the brick's screen, I get a screen full of garbage characters and can only get back by resetting power.


Edit

During the build process, I noticed the following error:

err:wineconsole:WCUSER_SetFont wrong font
err:wineconsole:WCUSER_SetFont wrong font

Could that possibly be part of the issue?

For fun, I'll dump the entire build procedure...maybe an eagle-eyed SO'er will notice something I missed.

espais@computron~/Desktop/nxtOSEK/samples_c/helloworld$ make all
Compiling ../../ecrobot/../toppers_osek/kernel/alarm.c to alarm.o
Compiling ../../ecrobot/../toppers_osek/kernel/event.c to event.o
Compiling ../../ecrobot/../toppers_osek/kernel/interrupt.c to interrupt.o
Compiling ../../ecrobot/../toppers_osek/kernel/osctl.c to osctl.o
Compiling ../../ecrobot/../toppers_osek/kernel/resource.c to resource.o
Compiling ../../ecrobot/../toppers_osek/kernel/task.c to task.o
Compiling ../../ecrobot/../toppers_osek/kernel/task_manage.c to task_manage.o
Compiling ../../ecrobot/../toppers_osek/config/at91sam7s-gnu/cpu_config.c to cpu_config.o
Compiling ../../ecrobot/../toppers_osek/config/at91sam7s-gnu/lego_nxt/sys_config.c to sys_config.o
Generating OSEK kernel config files from ./helloworld.oil
err:wineconsole:WCUSER_SetFont wrong font
err:wineconsole:WCUSER_SetFont wrong font
Compiling kernel_cfg.c to kernel_cfg.o
Compiling ../../ecrobot/../ecrobot/c/syscalls.c to syscalls.o
Compiling ../../ecrobot/../ecrobot/c/ecrobot_bluetooth.c to ecrobot_bluetooth.o
Compiling ../../ecrobot/../ecrobot/c/ecrobot_base.c to ecrobot_base.o
Compiling ../../ecrobot/../ecrobot/c/ecrobot.c to ecrobot.o
Compiling helloworld.c to helloworld.o
Compiling ../../ecrobot/../toppers_osek/syslib/at91sam7s-gnu/lego_nxt/hw_sys_timer.c to hw_sys_timer.oram
Assembling ../../ecrobot/../lejos_nxj/src/nxtvm/platform/nxt/vectors.s to vectors.o
Assembling ../../ecrobot/../toppers_osek/config/at91sam7s-gnu/debug.S to debug.o
Assembling ../../ecrobot/../toppers_osek/config/at91sam7s-gnu/lego_nxt/sys_support.S to sys_support.o
Assembling ../../ecrobot/../ecrobot/c/nxt_binary_header.s to nxt_binary_header.o
Assembling ../../ecrobot/../ecrobot/c/nxt_entry_point.s to nxt_entry_point.o
Assembling ../../ecrobot/../ecrobot/c/ecrobot_init.s to ecrobot_init.o
Assembling ../../ecrobot/../toppers_osek/config/at91sam7s-gnu/cpu_support.S to cpu_support.oram
Assembling ../../ecrobot/../toppers_osek/config/at91sam7s-gnu/irq.s to irq.oram
/opt/local/lib/gcc/arm-elf/4.6.1/../../../../arm-elf/bin/ld: Warning: /opt/local/lib/gcc/arm-elf/4.6.1/thumb/libgcc.a(_udivsi3.o) does not support interworking, whereas helloworld_OSEK_rom.elf does
/opt/local/lib/gcc/arm-elf/4.6.1/../../../../arm-elf/bin/ld: Warning: /opt/local/lib/gcc/arm-elf/4.6.1/thumb/libgcc.a(_divsi3.o) does not support interworking, whereas helloworld_OSEK_rom.elf does
/opt/local/lib/gcc/arm-elf/4.6.1/../../../../arm-elf/bin/ld: Warning: /opt/local/lib/gcc/arm-elf/4.6.1/thumb/libgcc.a(_umodsi3.o) does not support interworking, whereas helloworld_OSEK_rom.elf does
/opt/local/lib/gcc/arm-elf/4.6.1/../../../../arm-elf/bin/ld: Warning: /opt/local/lib/gcc/arm-elf/4.6.1/thumb/libgcc.a(_modsi3.o) does not support interworking, whereas helloworld_OSEK_rom.elf does
/opt/local/lib/gcc/arm-elf/4.6.1/../../../../arm-elf/bin/ld: Warning: /opt/local/lib/gcc/arm-elf/4.6.1/thumb/libgcc.a(_dvmd_tls.o) does not support interworking, whereas helloworld_OSEK_rom.elf does
/opt/local/lib/gcc/arm-elf/4.6.1/../../../../arm-elf/bin/ld: Warning: /opt/local/lib/gcc/arm-elf/4.6.1/thumb/libgcc.a(_arm_addsubdf3.o) does not support interworking, whereas helloworld_OSEK_rom.elf does
/opt/local/lib/gcc/arm-elf/4.6.1/../../../../arm-elf/bin/ld: Warning: /opt/local/lib/gcc/arm-elf/4.6.1/thumb/libgcc.a(_arm_muldivdf3.o) does not support interworking, whereas helloworld_OSEK_rom.elf does
/opt/local/lib/gcc/arm-elf/4.6.1/../../../../arm-elf/bin/ld: Warning: /opt/local/lib/gcc/arm-elf/4.6.1/thumb/libgcc.a(_arm_cmpdf2.o) does not support interworking, whereas helloworld_OSEK_rom.elf does
/opt/local/lib/gcc/arm-elf/4.6.1/../../../../arm-elf/bin/ld: Warning: /opt/local/lib/gcc/arm-elf/4.6.1/thumb/libgcc.a(_muldi3.o) does not support interworking, whereas helloworld_OSEK_rom.elf does
/opt/local/lib/gcc/arm-elf/4.6.1/../../../../arm-elf/bin/ld: Warning: /opt/local/lib/gcc/arm-elf/4.6.1/thumb/libgcc.a(_divdi3.o) does not support interworking, whereas helloworld_OSEK_rom.elf does
/opt/local/lib/gcc/arm-elf/4.6.1/../../../../arm-elf/bin/ld: Warning: /opt/local/lib/gcc/arm-elf/4.6.1/thumb/libgcc.a(_clzsi2.o) does not support interworking, whereas helloworld_OSEK_rom.elf does
/opt/local/lib/gcc/arm-elf/4.6.1/../../../../arm-elf/bin/ld: Warning: /opt/local/lib/gcc/arm-elf/4.6.1/../../../../arm-elf/lib/thumb/libc.a(lib_a-memcpy.o) does not support interworking, whereas helloworld_OSEK_rom.elf does
/opt/local/lib/gcc/arm-elf/4.6.1/../../../../arm-elf/bin/ld: Warning: /opt/local/lib/gcc/arm-elf/4.6.1/../../../../arm-elf/lib/thumb/libc.a(lib_a-memset.o) does not support interworking, whereas helloworld_OSEK_rom.elf does
/opt/local/lib/gcc/arm-elf/4.6.1/../../../../arm-elf/bin/ld: Warning: /opt/local/lib/gcc/arm-elf/4.6.1/../../../../arm-elf/lib/thumb/libc.a(lib_a-strcmp.o) does not support interworking, whereas helloworld_OSEK_rom.elf does
/opt/local/lib/gcc/arm-elf/4.6.1/../../../../arm-elf/bin/ld: Warning: /opt/local/lib/gcc/arm-elf/4.6.1/../../../../arm-elf/lib/thumb/libc.a(lib_a-strcpy.o) does not support interworking, whereas helloworld_OSEK_rom.elf does
/opt/local/lib/gcc/arm-elf/4.6.1/../../../../arm-elf/bin/ld: Warning: /opt/local/lib/gcc/arm-elf/4.6.1/../../../../arm-elf/lib/thumb/libc.a(lib_a-strlen.o) does not support interworking, whereas helloworld_OSEK_rom.elf does
/opt/local/lib/gcc/arm-elf/4.6.1/../../../../arm-elf/bin/ld: Warning: /opt/local/lib/gcc/arm-elf/4.6.1/../../../../arm-elf/lib/thumb/libc.a(lib_a-strncpy.o) does not support interworking, whereas helloworld_OSEK_rom.elf does
Generating binary image file: helloworld_OSEK_rom.bin
/opt/local/lib/gcc/arm-elf/4.6.1/../../../../arm-elf/bin/ld: Warning: /opt/local/lib/gcc/arm-elf/4.6.1/thumb/libgcc.a(_udivsi3.o) does not support interworking, whereas helloworld_OSEK_ram.elf does
/opt/local/lib/gcc/arm-elf/4.6.1/../../../../arm-elf/bin/ld: Warning: /opt/local/lib/gcc/arm-elf/4.6.1/thumb/libgcc.a(_divsi3.o) does not support interworking, whereas helloworld_OSEK_ram.elf does
/opt/local/lib/gcc/arm-elf/4.6.1/../../../../arm-elf/bin/ld: Warning: /opt/local/lib/gcc/arm-elf/4.6.1/thumb/libgcc.a(_umodsi3.o) does not support interworking, whereas helloworld_OSEK_ram.elf does
/opt/local/lib/gcc/arm-elf/4.6.1/../../../../arm-elf/bin/ld: Warning: /opt/local/lib/gcc/arm-elf/4.6.1/thumb/libgcc.a(_modsi3.o) does not support interworking, whereas helloworld_OSEK_ram.elf does
/opt/local/lib/gcc/arm-elf/4.6.1/../../../../arm-elf/bin/ld: Warning: /opt/local/lib/gcc/arm-elf/4.6.1/thumb/libgcc.a(_dvmd_tls.o) does not support interworking, whereas helloworld_OSEK_ram.elf does
/opt/local/lib/gcc/arm-elf/4.6.1/../../../../arm-elf/bin/ld: Warning: /opt/local/lib/gcc/arm-elf/4.6.1/thumb/libgcc.a(_arm_addsubdf3.o) does not support interworking, whereas helloworld_OSEK_ram.elf does
/opt/local/lib/gcc/arm-elf/4.6.1/../../../../arm-elf/bin/ld: Warning: /opt/local/lib/gcc/arm-elf/4.6.1/thumb/libgcc.a(_arm_muldivdf3.o) does not support interworking, whereas helloworld_OSEK_ram.elf does
/opt/local/lib/gcc/arm-elf/4.6.1/../../../../arm-elf/bin/ld: Warning: /opt/local/lib/gcc/arm-elf/4.6.1/thumb/libgcc.a(_arm_cmpdf2.o) does not support interworking, whereas helloworld_OSEK_ram.elf does
/opt/local/lib/gcc/arm-elf/4.6.1/../../../../arm-elf/bin/ld: Warning: /opt/local/lib/gcc/arm-elf/4.6.1/thumb/libgcc.a(_muldi3.o) does not support interworking, whereas helloworld_OSEK_ram.elf does
/opt/local/lib/gcc/arm-elf/4.6.1/../../../../arm-elf/bin/ld: Warning: /opt/local/lib/gcc/arm-elf/4.6.1/thumb/libgcc.a(_divdi3.o) does not support interworking, whereas helloworld_OSEK_ram.elf does
/opt/local/lib/gcc/arm-elf/4.6.1/../../../../arm-elf/bin/ld: Warning: /opt/local/lib/gcc/arm-elf/4.6.1/thumb/libgcc.a(_clzsi2.o) does not support interworking, whereas helloworld_OSEK_ram.elf does
/opt/local/lib/gcc/arm-elf/4.6.1/../../../../arm-elf/bin/ld: Warning: /opt/local/lib/gcc/arm-elf/4.6.1/../../../../arm-elf/lib/thumb/libc.a(lib_a-memcpy.o) does not support interworking, whereas helloworld_OSEK_ram.elf does
/opt/local/lib/gcc/arm-elf/4.6.1/../../../../arm-elf/bin/ld: Warning: /opt/local/lib/gcc/arm-elf/4.6.1/../../../../arm-elf/lib/thumb/libc.a(lib_a-memset.o) does not support interworking, whereas helloworld_OSEK_ram.elf does
/opt/local/lib/gcc/arm-elf/4.6.1/../../../../arm-elf/bin/ld: Warning: /opt/local/lib/gcc/arm-elf/4.6.1/../../../../arm-elf/lib/thumb/libc.a(lib_a-strcmp.o) does not support interworking, whereas helloworld_OSEK_ram.elf does
/opt/local/lib/gcc/arm-elf/4.6.1/../../../../arm-elf/bin/ld: Warning: /opt/local/lib/gcc/arm-elf/4.6.1/../../../../arm-elf/lib/thumb/libc.a(lib_a-strcpy.o) does not support interworking, whereas helloworld_OSEK_ram.elf does
/opt/local/lib/gcc/arm-elf/4.6.1/../../../../arm-elf/bin/ld: Warning: /opt/local/lib/gcc/arm-elf/4.6.1/../../../../arm-elf/lib/thumb/libc.a(lib_a-strlen.o) does not support interworking, whereas helloworld_OSEK_ram.elf does
/opt/local/lib/gcc/arm-elf/4.6.1/../../../../arm-elf/bin/ld: Warning: /opt/local/lib/gcc/arm-elf/4.6.1/../../../../arm-elf/lib/thumb/libc.a(lib_a-strncpy.o) does not support interworking, whereas helloworld_OSEK_ram.elf does
Generating binary image file: helloworld_OSEK_ram.bin
/opt/local/lib/gcc/arm-elf/4.6.1/../../../../arm-elf/bin/ld: Warning: /opt/local/lib/gcc/arm-elf/4.6.1/thumb/libgcc.a(_udivsi3.o) does not support interworking, whereas helloworld_OSEK_rxe.elf does
/opt/local/lib/gcc/arm-elf/4.6.1/../../../../arm-elf/bin/ld: Warning: /opt/local/lib/gcc/arm-elf/4.6.1/thumb/libgcc.a(_divsi3.o) does not support interworking, whereas helloworld_OSEK_rxe.elf does
/opt/local/lib/gcc/arm-elf/4.6.1/../../../../arm-elf/bin/ld: Warning: /opt/local/lib/gcc/arm-elf/4.6.1/thumb/libgcc.a(_umodsi3.o) does not support interworking, whereas helloworld_OSEK_rxe.elf does
/opt/local/lib/gcc/arm-elf/4.6.1/../../../../arm-elf/bin/ld: Warning: /opt/local/lib/gcc/arm-elf/4.6.1/thumb/libgcc.a(_modsi3.o) does not support interworking, whereas helloworld_OSEK_rxe.elf does
/opt/local/lib/gcc/arm-elf/4.6.1/../../../../arm-elf/bin/ld: Warning: /opt/local/lib/gcc/arm-elf/4.6.1/thumb/libgcc.a(_dvmd_tls.o) does not support interworking, whereas helloworld_OSEK_rxe.elf does
/opt/local/lib/gcc/arm-elf/4.6.1/../../../../arm-elf/bin/ld: Warning: /opt/local/lib/gcc/arm-elf/4.6.1/thumb/libgcc.a(_arm_addsubdf3.o) does not support interworking, whereas helloworld_OSEK_rxe.elf does
/opt/local/lib/gcc/arm-elf/4.6.1/../../../../arm-elf/bin/ld: Warning: /opt/local/lib/gcc/arm-elf/4.6.1/thumb/libgcc.a(_arm_muldivdf3.o) does not support interworking, whereas helloworld_OSEK_rxe.elf does
/opt/local/lib/gcc/arm-elf/4.6.1/../../../../arm-elf/bin/ld: Warning: /opt/local/lib/gcc/arm-elf/4.6.1/thumb/libgcc.a(_arm_cmpdf2.o) does not support interworking, whereas helloworld_OSEK_rxe.elf does
/opt/local/lib/gcc/arm-elf/4.6.1/../../../../arm-elf/bin/ld: Warning: /opt/local/lib/gcc/arm-elf/4.6.1/thumb/libgcc.a(_muldi3.o) does not support interworking, whereas helloworld_OSEK_rxe.elf does
/opt/local/lib/gcc/arm-elf/4.6.1/../../../../arm-elf/bin/ld: Warning: /opt/local/lib/gcc/arm-elf/4.6.1/thumb/libgcc.a(_divdi3.o) does not support interworking, whereas helloworld_OSEK_rxe.elf does
/opt/local/lib/gcc/arm-elf/4.6.1/../../../../arm-elf/bin/ld: Warning: /opt/local/lib/gcc/arm-elf/4.6.1/thumb/libgcc.a(_clzsi2.o) does not support interworking, whereas helloworld_OSEK_rxe.elf does
/opt/local/lib/gcc/arm-elf/4.6.1/../../../../arm-elf/bin/ld: Warning: /opt/local/lib/gcc/arm-elf/4.6.1/../../../../arm-elf/lib/thumb/libc.a(lib_a-memcpy.o) does not support interworking, whereas helloworld_OSEK_rxe.elf does
/opt/local/lib/gcc/arm-elf/4.6.1/../../../../arm-elf/bin/ld: Warning: /opt/local/lib/gcc/arm-elf/4.6.1/../../../../arm-elf/lib/thumb/libc.a(lib_a-memset.o) does not support interworking, whereas helloworld_OSEK_rxe.elf does
/opt/local/lib/gcc/arm-elf/4.6.1/../../../../arm-elf/bin/ld: Warning: /opt/local/lib/gcc/arm-elf/4.6.1/../../../../arm-elf/lib/thumb/libc.a(lib_a-strcmp.o) does not support interworking, whereas helloworld_OSEK_rxe.elf does
/opt/local/lib/gcc/arm-elf/4.6.1/../../../../arm-elf/bin/ld: Warning: /opt/local/lib/gcc/arm-elf/4.6.1/../../../../arm-elf/lib/thumb/libc.a(lib_a-strcpy.o) does not support interworking, whereas helloworld_OSEK_rxe.elf does
/opt/local/lib/gcc/arm-elf/4.6.1/../../../../arm-elf/bin/ld: Warning: /opt/local/lib/gcc/arm-elf/4.6.1/../../../../arm-elf/lib/thumb/libc.a(lib_a-strlen.o) does not support interworking, whereas helloworld_OSEK_rxe.elf does
/opt/local/lib/gcc/arm-elf/4.6.1/../../../../arm-elf/bin/ld: Warning: /opt/local/lib/gcc/arm-elf/4.6.1/../../../../arm-elf/lib/thumb/libc.a(lib_a-strncpy.o) does not support interworking, whereas helloworld_OSEK_rxe.elf does
Generating binary image file: helloworld_OSEK.rxe

Edit again And some version info for good measure:

FW NBC/NXC   1.07
AVR          1.01
BC4          1.01
Build        3012081214

Edit the third

Also have garbage on the screen and a frozen brick when running a program which should simply spin the motors.


Edit the fourth

I believe I've figured out the problem, however I'm still not sure how to go about resolving it. It turns out that my NXT's firmware wasn't updated. I tried doing so through both Mac and Windows, yet it doesn't seem to "take." For instance, I get a Download Success message each time, however I never see the nxtOSEK logo when I start up the NXT. This would explain why I'm seeing garbage on the screen, but now I don't know why its not flashing properly.

I'm first putting it into firmware update mode (tic-tic-tic), and then doing the flash process..but...nothing.

Was it helpful?

Solution

Looking in to your problem, I can't find anything wrong from your build procedure. But then taking a quick look at http://lejos-osek.sourceforge.net/whatislejososek.htm, it seems that MacOSX is not supported by nxtOSEK. That is probably your problem altogether, unless I am missing something.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top