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

VVPNET

Участник
  • Постов

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

  • Посещение

Репутация

0 Обычный

Контакты

  • ICQ
    Array
  1. НЕТ Само задание по лабораторной. 1) Реализуйте две процедуры обработки прерываний. Первая процедура должна вызываться, если пуст передающий буфер. Она должна проверить, есть ли данные для передачи, если есть – передать. Другая должна вызываться в случае, если в приемном буфере появилось определенное число принятых данных. Она должна переписать данные из буфера в специальный массив. 2) Напишите программу, которая инициализирует процедуры обработки прерываний на прием и передачу 40 байтов данных Вообщем что получилось добиться: Имеется универсальный исходник для 55и54х процессоров. Мне удалось его запустить на процессоре, но он не работоспособный, не выполняет поставленные задачи а зацикливается. main() { int i; volatile unsigned int *PMST=(volatile unsigned int*)0x1D; /* define the PMST reg */ *PMST=0x4020; /* IPTR=0x4000, OVLY=1, DROM=0, MP/MC=0 */ //InitPLL(); /* initialize the DSP Clock to 75MHz (with a 20MHz crystal) */ UARTInit(); /* initialize the McBSP and DMA for UART */ RxCharCnt=0; /* init received char count to 0 */ RxHeadPtr=RxCharBuf; /* init rx head pointer to start of buffer */ RxTailPtr=RxCharBuf; /* init rx tail pointer to start of buffer */ TxHeadPtr=TxCharBuf; /* init tx head pointer to start of buffer */ TxTailPtr=TxCharBuf; /* init tx tail pointer to start of buffer */ UARTStart(0); /* start UART Rx and Tx(begins receiving) */ for(;;) /* infinite loop */ { while(RxCharCnt<TXNUM) /* wait until TXNUM chars received */ for(i=0;i<TXNUM;i++) { *TxHeadPtr++=*RxTailPtr++; /* copy the TXNUM chars to transmit buffer В ЭТОМ МЕСТЕ ПРОИСХОДИТ ЗАЦИКЛИВАНИЕ */ if(RxTailPtr>=(RxCharBuf+BUFSIZE)) RxTailPtr=RxCharBuf; /* keep pointer in circular buffer */ if(TxHeadPtr>=(TxCharBuf+BUFSIZE)) TxHeadPtr=TxCharBuf; /* keep pointer in circular buffer */ } RxCharCnt-=TXNUM; /* reduce number of received chars */ UARTTxChar(*TxTailPtr++); /* kickstart: call UART routine to tx the char */ if(TxTailPtr>=(TxCharBuf+BUFSIZE)) TxTailPtr=TxCharBuf; /* keep pointer in circular buffer */ UARTTxChar(*TxTailPtr++); /* (put 2 chars in buf to get consecutive transmits) */ /* It will transmit these TXNUM chars and then stop */ if(TxTailPtr>=(TxCharBuf+BUFSIZE)) TxTailPtr=TxCharBuf; /* keep pointer in circular buffer */ } } Задача: 1.Проверить на логическую корректность настройки UART в UARTsetup.inc 2.И перевести, что в комментариях а то после электронного переводчика одна каша получается. Так же прикрепил сам проект там очень много всего и описание к нему на английском. ____.zip
  2. Программу нужно запустить и выполнить на железе. плата TMS320C5515 Пробовали, в результате полная каша как в голове так и в коде. т.е метод проб изнурительно изучали 2.5 месяца в итоге тока 1 лаба.
  3. Нам дают, что есть, у нас нет процессора мультикорл и под него написана методичка, нам говорят, что в TMS320C5515 все тоже самое, но как видите в результате одна каша в голове. V.K - за 2.5 месяца так и не перекидали все лабы что теперь делать когда времени всего до конца недели? Сколько раз нам это уже говорили что все в наших руках, извините рук не хватает, работать по ночам, а потом сидеть 2-3 часа когда как получается если лаборатория не занята, пытаться вникнуть, что вообще делать и как делать когда в методички расписаны одни регистры а на деле не понятно какие. Может хоть кто-то попытается разъяснить, что делать? Даже хотя бы разъяснит платно!
  4. В workspase есть 1 лаба по настройки UART её еле как за 2.5месяца слепил. а вот остальные... В методичке осталось последние 2 лабораторных работы правда они написаны для другого процессора. по второй 1) Реализуйте две процедуры обработки прерываний. Первая процедура должна вызываться, если пуст передающий буфер. Она должна проверить, есть ли данные для передачи, если есть – передать. Другая должна вызываться в случае, если в приемном буфере появилось определенное число принятых данных. Она должна переписать данные из буфера в специальный массив. 2) Напишите программу, которая инициализирует процедуры обработки прерываний на прием и передачу 40 байтов данных собстно надо реализовать процедуры обработки прерываний и включить вообще эти прерывания проблема с установкой соотв битов в регистрах и с организацией обработки прерываний оно вроде как на ассемблере пишется там проблема с созданием вектора прерываний по третьей 1) Реализуйте следующую программу. RISC-ядро настраивает два DMA-канала с режимом самоинициализации. DSP-ядро запускает один канал, который передает массив данных в память DSP, прибавляет к содержимому каждой ячейки памяти единицу, запускает другой канал для передачи результата своей работы во внешнюю память. DSP и DMA таким образом должны обработать без участия RISC-ядра четыре блока данных. 3.2.2. Дополнительное 2) Реализуйте предыдущее задание таким образом, чтобы DMA по очереди загружала два ядра DSP. Проблема главная проблема отсутствие опыта, не знание синтаксиса ассемблера техаса и архитектуры техаса _________.zip workspase.zip
  5. Все это есть и не однократно, пытались реализовать задачу, но безуспешно. Язык Си и Ассемблер. Вопросов масса и на их решение уже нет времени, поэтому было принято такое решение, чтобы по готовому результату разобраться. bav Возьметесь ? 1 лабораторная уже сделана а вот вторая и третья не по силам (=
  6. Привет всем, у меня проблема есть процессор и не знаю что с ним делать , в методички описан один проц а на практике другой. Софт установил, проц подключил а что дальше делать. В методичке и строчки кода, не знаю что писать в строку чтобы выполнить задание! Прикрепил вордовский документ, с 1 лабой Подтолкните, с чего начать может пример имеется какой нибудь или ещё, что нибудь что поможет решить задачу? lab1.doc
  7. Всем добрый день! В этой теме я хочу разобраться с устройством TMS320C5515_eZdip_USB stick, в последствии чего будет разработана программа, позволяющая обрабатывать звук (посредством наложения звуковых эффектов в real-time) и вывод на дисплей визуализацию (типо как winampe). ----------------------------------------------------------------------------------------------------------------------------------------------- Мой Уровень Знаний: -Имеются знания по основам DELPHI, PASCAL, С++, С, Схемотехника, ИС и ТК,; -Имеется общие представление Assembler; -Прочие знания, частично касающийся данной темы =) ----------------------------------------------------------------------------------------------------------------------------------------------- Так же хочу оформить свой пост, как небольшое руководство для самых начинающих,естественно на своём примере. Само устройство имеет такой вид: TMS320C5515_eZdip_USB stick Текущий процесс: -В течение двух дней, получилось разобраться, как подключить устройство к среде Code Composer Studio v4.1.3. (Подробную инструкцию выложу поже); -В результате был запущенно пару проектов, которые шли на диски, вместе с платой. Это "LED","LEDS"(если необходимо выложу); -Удалось немного разобраться с кодом, но не удалось найти где именно идёт обращение к тем или иным портам (Например к LED). Задача: 1) Необходимо раздобыть библиотеки работающие со звуком ((Тут вроде что-то есть но что нужно не пойму)); 2) Найти пример программы (проекта) или её аналог (для быстрого решения задачи) по теме "Обработка звука"; 3) Так же найти пример проекта по теме "Работа с дисплеем+звук как winampe" 4) Усвоить каким образом идёт обращение к тем или иным портам. Например на плате присутствуют 2 хард-кнопки, как к ним обратиться, чтобы они что-то делали, (например меняли звуковой эффект) 5) Найти сам код, который описывает эффект. ----------------------------------------------------------------------------------------------------------------------------------------------- Надеюсь на вашу помощь, чтобы разобраться с поставленными вопросами!
×
×
  • Создать...