Вывод мусора на экран NXT

Я пытался настроить и запустить 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, но, похоже, это не «принимает». Например, я каждый раз получаю сообщение об успешной загрузке, однако я никогда не вижу логотип nxtOSEK при запуске NXT. Это объясняет, почему я вижу мусор на экране, но теперь я не знаю, почему он не мигает должным образом.

Сначала я перевожу его в режим обновления прошивки (тик-тик-тик), а затем делаю процесс прошивки... но... ничего.


person the_e    schedule 10.10.2012    source источник


Ответы (1)


Глядя на вашу проблему, я не могу найти ничего плохого в вашей процедуре сборки. Но затем быстро взгляните на http://lejos-osek.sourceforge.net/whatislejososek.htm похоже, MacOSX не поддерживается nxtOSEK. Это, вероятно, ваша проблема в целом, если я что-то упустил.

person innospark    schedule 17.10.2012
comment
Не поддерживается правда, но кажется, что это было сделано раньше. Возможно, я просто воспользуюсь виртуальной машиной Windows, чтобы опробовать процедуру сборки. - person the_e; 18.10.2012
comment
Я дам вам награду за то, что вы единственный, кто ответил ... Я не смогу попробовать на виртуальной машине до следующей недели, но я обновлю свой вопрос, когда узнаю. - person the_e; 18.10.2012