Помогите разобраться с С компилятором для процессора ADSP-2191. После успешной работы на ассемблере возникло желание перейти на С, но ничего не получается. После загрузки программы от процессора никакой реакции, изменение настроек компилятора не на что не влияет.
Вот текст простейшей программы. Если делать проект только на асме, то все работает: выводится счетчик в юарт, и дергается ножка процессора. Если компилировать данный файл – ничего не работает, хотя в отладчике все выполняется. Также ничего не работает, если вместо ассемблерной вставки тоже самое написать на С.
Что я делаю не так?
Компилятор VisualDSP++ 3.5 с последним апдейтом, процессор грузится через юарт, отладочного кабеля нет.
void main(void)
{
asm("
#include <def2191.h>
MSTAT = 0x10;
IMASK = 0x0000;
ICNTL = 0x0000;
iopg = General_Purpose_IO;
ax0 = 0x04;
io( DIR ) = ax0;
iopg = UART_Controller_Page;
ax0 = 0x80;
io( LCR ) = ax0;
ax0 = 0x41;
io( DLL ) = ax0;
ax0 = 0x00;
io( DLH ) = ax0;
ax0 = 0x03;
io( LCR ) = ax0;
ax1 = 0x0000;
lb1:
ar = ax1 + 1;
ax1 = ar;
iopg = UART_Controller_Page;
io( THR ) = ax1;
ay0 = 0x20;
TxTest:
ax0 = io( LSR );
af = ax0 and ay0;
if EQ jump TxTest;
iopg = General_Purpose_IO;
ax0 = 0x04;
io( FLAGS ) = ax0;
CNTR = 600;
DO add_loop UNTIL CE;
add_loop: nop;
iopg = General_Purpose_IO;
ax0 = 0x04;
io( FLAGC ) = ax0;
CNTR = 600;
DO add_loop2 UNTIL CE;
add_loop2: nop;
jump lb1;
");
}