osCAN (OSEK совместимая) RTOS и Tasking C166

Dec 21, 2004 0 Replies

Привет, многоуважаемый All!



Вот имеются непонятки с сабжем. Рисую минимальный проект в oil-конфигураторе, генерю файлы и шаблоны, создаю проект в таскинге - всё вроде есть.



Когда компилирую и собираю проект - генерится следующий лог:



---------------- Compiling "c:\program files\osek\c167\src\osek.c" osek.src: 888: @IF (@osdXC164CS) E 200: illegal character 892: @ELSE E 200: illegal character 894: @ENDI E 200: illegal character 2180: @IF (@osdXC164CS) E 200: illegal character 2206: @ELSE E 200: illegal character 2218: @ENDI E 200: illegal character



---------------- Ну, и естественно, проект не собирается. osek.c - один из исходников РТОС. Текст, на который идёт ругань следующий:



---------------- ... #if (osdCompiler == osdCompilerTaskingC167) #pragma asm MOV _isrRegBankLevel1, R0 ; copy the user stack pointer MOV CP, #_isrRegBankLevel1 @IF (@osdXC164CS) ; set the stackpointer to top ( can be in segment > 0 ) MOV SPSEG, #SEG ?SYSSTACK_TOP MOV SP, #SOF ?SYSSTACK_TOP @ELSE MOV SP, #0FC00h ; set the stackpointer to top @ENDI NOP ; of system stack MOV R0, #_isrUserStackLevel1Top ; set user stack pointer #pragma endasm ...



----------------



Собственно, то, что заключено между #pragma asm и #pragma enasm в итоге включается в текст osek.src в неизменном виде (как я понял - это ассемблерный файл с выполненными подстановками). Ругачка идёт на символы препроцессора, которые, получается не должны в нём быть. Я в полном ступоре - всё, что можно уже пощёлкал и по переключал. Помогите, pls, если кто с этим сталкивался!



Система - WinXP, Tasking tools for C166/ST10v7.5 r2, Tasking EIDE v.2.7r5, OSEK RTOS osCAN v2.03


Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required