Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unrecognised instruction error in alt_hooks.h #4

Closed
yamamo2shun1 opened this issue Oct 1, 2020 · 1 comment
Closed

Unrecognised instruction error in alt_hooks.h #4

yamamo2shun1 opened this issue Oct 1, 2020 · 1 comment

Comments

@yamamo2shun1
Copy link

Wikiのマニュアルに沿って、Nios IIでTinyThreadsを使おうとしています。
BSP TypeをTinyThreadsにしたBSPプロジェクトを作成し、ビルドしてみたところ以下のようなエラーが出ました。

make all 
Info: Building ../candy_gw_tt_bsp
C:/intelFPGA_lite/18.1/nios2eds/bin/gnu/H-x86_64-mingw32/bin/make --no-print-directory -C ../candy_gw_tt_bsp
Compiling altera_vic_funnel_non_preemptive.S...
nios2-elf-gcc -MP -MMD -c   -O0 -g -Wall  -mno-hw-div -mhw-mul -mno-hw-mulx -mgpopt=global    -I./TINYTH/inc -I./HAL/inc -I. -I./drivers/inc -pipe -D__hal__ -DALT_NO_INSTRUCTION_EMULATION -D__tinythreads__  -Wa,-gdwarf2  -o obj/drivers/src/altera_vic_funnel_non_preemptive.o drivers/src/altera_vic_funnel_non_preemptive.S
./TINYTH/inc/os/alt_hooks.h: Assembler messages:
./TINYTH/inc/os/alt_hooks.h:4: Error: unrecognised instruction extern
./TINYTH/inc/os/alt_hooks.h:5: Error: unrecognised instruction extern
./TINYTH/inc/os/alt_hooks.h:6: Error: unrecognised instruction extern
./TINYTH/inc/os/alt_hooks.h:7: Error: unrecognised instruction extern
drivers/src/altera_vic_funnel_non_preemptive.S:77: Error: unrecognised instruction alt_os_int_enter_asm
drivers/src/altera_vic_funnel_non_preemptive.S:92: Error: unrecognised instruction alt_os_int_exit_asm
make[1]: *** [obj/drivers/src/altera_vic_funnel_non_preemptive.o] Error 1
make: *** [../candy_gw_tt_bsp-recurs-make-lib] Error 2

alt_hooks.hの4~7行目(externで始まる宣言部)をコメントアウトして、

#define ALT_OS_INT_ENTER_ASM
#define ALT_OS_INT_EXIT_ASM

を加えると、ビルドは通りましたが、プログラムを実行するとpthread_createで指定した関数が実行される前にデバッガーが強制的にNIOS2_BREAK()でbreakしてしまいます。

@kimushu
Copy link
Owner

kimushu commented Oct 6, 2020

現状、TinyThreadsはExternal Interrupt Controller + VICを用いた割り込み構成のシステムに対応しておらず、
Internal Interrupt Controller専用です。

Interrupt ControllerはTinyThreadsの動作に密接に関わってくるため、小手先での修正で動くようにはならないと思われます。
対応可否・時期は不明ですが、別途Ext+VICサポートに関するissueを起票した上で、本チケットはクローズします。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants