Перейти к содержанию
    

GSH

Новичок
  • Постов

    2
  • Зарегистрирован

  • Посещение

Репутация

0 Обычный

Контакты

  • ICQ
    Array
  1. На сколько я понял, если проект делать на с, то сам компилятор создает таблицу прерываний и выполняет необходимую инициализацию процессора. Это видно в дебагире. Еще я пробовал сам все это делать на асемблере и вызывать сишную функцию - результат тотже. посмотрев получившийся код я выяснил что процессор не работает если в программе есть I4 = I5 ; I5 = DM(I5 += M5); RTS; (это выход из функции), даже если этот код никогда не выполняется. если заменить I4 = I5 нопом, то все работает. Может я чтото делаю неправельно?
  2. Помогите разобраться с С компилятором для процессора 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; "); }
×
×
  • Создать...