Как да Обувка ADSP 2181.

S

sudhirkv

Guest
използвам ADSP 2181 в моята дизайн и аз имам за стартиране на ADSP 2181 от Флаш.Дали някой има код за зареждане ADSP 2181.

Благодарности

Sudhir

 
За да научите как ADSP 2181 ботуши от външни RAM да погледна в глава 9 от хардуера референтна ръководство на устройство (виж прикачения файл): тя описва функционалността ДМА и последователността на операциите, за да заредите от външен RAM използване на пристанище BDMA.

С уважение
Mowgli
Съжалявам, но трябва вход, за да видите този прикачен файл

 
Видях, че документ.Току-що инициализира BWCOUNT регистър, БИАД и зърно.Какво друго трябва да направя.Първи сега само 32 BMS импулси след това CMS идва и то продължава.Аз съм като кода тук за отправна точка за вас.

/ * Стандарт preloader (32 инструкции) адрес opcodes * /
ax0 = 0x0060; DM (0x3fe2) = ax0; / BEAD * * / / * 0x0000: 400600 93FE20 * /
ax0 = 0x0020; DM (0x3fe1) = ax0; / БИАД * * / / * 0x0002: 400200 93FE10 * /
ax0 = 0x0000; DM (0x3fe3) = ax0; / * CTRL * / / * 0x0004: 400000 93FE30 * /
ax0 = 0x0087; DM (0x3fe4) = ax0; / BWCOUNT * * / / * 0x0006: 400870 93FE40 * /
IFC = 0x0008; ноември / * BDMA IRQ * / / * 0x0008: 3C008C 000000 * /
imask = 0x0008 / * 0x000A: 3C0083 * /
празен; / * 0x000B: 028000 * /
Направо 0x0020; ноември; ноември; ноември / * 0x000C: 18020F 000000 ...* /
ноември; ноември; ноември; ноември / * 0x0010: 000000 000000 ...* /
ноември; ноември; ноември; ноември / * 0x0014: 000000 000000 ...* /
ноември; ноември; ноември; ноември / * 0x0018: 000000 000000 ...* /
RTI; ноември; ноември; ноември / * 0x001C: 0A001F 000000 ...* /след като този процесор отива в неизвестен състояние.

Трябва ли да се инициализира нещо друго за правилното функциониране.как сигнали сериен порт трябва да бъде конфигуриран.Какви са всички други материали, които аз имам да се инициализира.

с уважение
Sudhir

 
Аз използва следната част от код за изпълнение на зареждане на ADSP-2181.
Надявам се това да ви помогне.

Mowgli# определят BDMA_BIAD 0x3fe1
# определят BDMA_BEAD 0x3fe2
# определят BDMA_Ctrl 0x3fe3
# определят BDMA_BWCOUNT 0x3fe4

AX0 = 0x0000 / * ИЗЧИСТИ БИАД * /
DM (BDMA_BIAD) = AX0;

AX0 = 0x0000 / * ИЗЧИСТИ BEAD * /
DM (BDMA_BEAD) = AX0;

/*===============================================
[D15 D8 ..] = 000000000 BMPAGE = 0
[D7 .. D4] = 0000 не се използват
[D3] = 1 = 1 ББС
[D2] = 0 DIR = 0 чете от паметта Байт
[D1 .. D0] = 00 BTYPE = 00 съхраняване на данни в PM
=================================================* /
AX0 = 0x0008;
DM (BDMA_Ctrl) = Ax0;
AX0 = 0x0020 / * 32 думи стандарт товарач от ДДД * /

DM (BDMA_BWCOUNT) = AX0 / * * трансфер на проекта /

ПОКАНА WAIT_DMA;

ENDLESS_LOOP:
JUMP ENDLESS_LOOP;/*============================
Чакам за края на прехвърляне ДМА
=============================*/
WAIT_DMA:

AX0 = DM (BDMA_BWCOUNT);
AF = PASS AX0;
АКО СИ JUMP WAIT_DMA;

RTS;

 
Аз ще се опитам това и се върна към фAdded след 9 минути:след получаване на 32 BMS импулси колко BMS импулси U Got.Предполагам, че зависи от броя даваме BWCOUNT в регистъра.Gues Аз съм вярна.Знаете, че се ф.

 
За съжаление не мога да ви кажа това, тъй като код Аз ви пратих е извлечен от изходните файлове на един стар проект, който в момента не разполагат с възможност за възстановяване на борда на предлагането на тези проекти (това е стар обичай борда) да направи тест ви се иска.

С уважение
Mowgli

 

Welcome to EDABoard.com

Sponsor

Back
Top