0

我一直在尝试启动并运行 nxtOSEK,因为有一些 C++ 项目我想使用我的 NXT 进行工作,并且在搜索网络时,它似乎是最推荐这样做的系统。

我一直在关注本教程(我在 Mac 上)来更新我的砖并进行设置,并设法达到我正在编译示例程序并将它们下载到我的砖的地步。

但是,当我编译并运行 helloworld 程序(它只是将 'OSEK HelloWorld' 输出到砖块的屏幕上时,我得到一个满是垃圾字符的屏幕,只能通过重置电源来恢复。


编辑

在构建过程中,我注意到以下错误:

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

这可能是问题的一部分吗?

为了好玩,我将转储整个构建过程......也许一个鹰眼的 SO'er 会注意到我错过的一些东西。

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

再次编辑 还有一些版本信息以备不时之需:

FW NBC/NXC   1.07
AVR          1.01
BC4          1.01
Build        3012081214

编辑第三个

当运行一个应该简单地旋转电机的程序时,屏幕上也有垃圾和一块冻砖。


编辑第四条

我相信我已经解决了这个问题,但是我仍然不确定如何解决它。原来我的NXT的固件没有更新。我尝试通过 Mac 和 Windows 这样做,但它似乎并没有“接受”。例如,我每次都会收到一条下载成功消息,但是当我启动 NXT 时,我从来没有看到 nxtOSEK 徽标。这可以解释为什么我在屏幕上看到垃圾,但现在我不知道为什么它不能正常闪烁。

我首先将它置于固件更新模式(tic-tic-tic),然后进行闪存过程..但是......什么都没有。

4

1 回答 1

1

查看您的问题,我在您的构建过程中找不到任何问题。但是然后快速浏览一下http://lejos-osek.sourceforge.net/whatislejososek.htm,nxtOSEK 似乎不支持 MacOSX。除非我遗漏了什么,否则这可能完全是您的问题。

于 2012-10-17T21:03:37.873 回答