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

mhx

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

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

  • Посещение

Репутация

0 Обычный

Информация о mhx

  • День рождения 04.10.1983

Контакты

  • Сайт
    Array
  • ICQ
    Array
  1. Доброго времени! Использовал функцию memcpy на другом процессоре - никаких проблем, перенёс на TMS, при компиляции ругается пишет: "ppo2.h", line 129: error: argument of type "volatile TPerTargIm *" is incompatible with parameter of type "const void *" Вот сам код: typedef struct typedef struct { int16_t Res[3]; int16_t CorrD; int16_t IntCor; int16_t EndOfIm; int16_t PSI_max; int16_t THETA_max; int16_t Phase; int16_t TimeOfPass; }TPerTargIm; TPerTargIm PerTargIm; #define pPerTargIm ((volatile TPerTargIm *)(ADDR_BUF_OZU_VME+0x2bc)) Структура PerTargIm находится в быстрой памяти, после заполнения её нужно скопировать в область памяти на которую указывает pPerTargIm. Для чего далее: memcpy(&PerTargIm,pPerTargIm,sizeof(PerTargIm)); Не могу понять в чём ошибка?
  2. Помогите разобраться пожалуйста. Есть процессор TMS320C6416 - основная задача по прерываниям NMI и EXT_INT[7] считывать данные по EMIFA, считать и передавать по EMIFB. Весь счёт идёт в обработчиках прерываний. Достались мне файлы vectors.asm VEC_ENTRY .macro addr STW B0,*--B15 MVKL addr,B0 MVKH addr,B0 B B0 LDW *B15++,B0 NOP 2 NOP NOP .endm .global _vectors .global _c_int_ .global _c_int00 .global _vector1 .global _vector2 .global _vector3 .global _c_int04 .global _c_int05 .global _c_int06 .global _c_int07 .global _c_int08 .global _c_int13 .global _c_int14 .global _vector8 .global _vector9 .global _vector10 .global _vector11 .global _vector12 .global _vector13 .global _vector14 .global _vector15 .ref _c_int00 ; C entry point .sect ".vectors" .align 32*8*4 ; must be aligned on 256 word boundary ;---------------------------------------- RESET: ; reset vector mvkl _c_int00,b0 ; load destination function address to b0 mvkh _c_int00,b0 b b0 ; start branch to destination function mvc PCE1,b0 ; address of interrupt vectors mvc b0,ISTP ; set table to point here nop 3 ; fill delay slot nop nop _vector1: VEC_ENTRY _c_int_ ;NMI _vector2: VEC_ENTRY _c_int_ ;RSVD _vector3: VEC_ENTRY _c_int_ _vector4: VEC_ENTRY _c_int04 _vector5: VEC_ENTRY _c_int05 _vector6: VEC_ENTRY _c_int06 _vector7: VEC_ENTRY _c_int07 _vector8: VEC_ENTRY _c_int08 ; EDMA_INT _vector9: VEC_ENTRY _c_int_ _vector10: VEC_ENTRY _c_int_ _vector11: VEC_ENTRY _c_int_ и файлик int.cmd MEMORY { VEC : origin = 0x0000000, len = 0x00000200 TEXT : origin = 0x0000200, len = 0x000FFE00 } SECTIONS { .vectors > VEC .text > TEXT .bss > TEXT .cinit > TEXT .const > TEXT .far > TEXT .stack > TEXT .cio > TEXT .sysmem > TEXT /* .bss > ISRAM .cinit > ISRAM .const > ISRAM .far > ISRAM .stack > ISRAM .cio > ISRAM .sysmem > ISRAM */ } С DSP/BIOS никогда не сталкивался, моя задача - обработка данных. Будет ли всё это работать? можно ли уже переходить к содержимому обработчиков прерываний? Спасибо.
×
×
  • Создать...