Разработка, производство и продажа радиоэлектронной аппаратуры
|
Требуется программист в Зеленограде - обработка данных с датчиков; ColdFire; 40 тыс.
e-mail: jobsmp@pochta.ru
|
Ответ: вот код всей программмы для отладки в симулятьоре MC Studio 2
Отправлено
Def 10 июня 2008 г. 07:20
В ответ на:
Кусочек кода приведите, пожалуйста. отправлено
st256 07 июня 2008 г. 16:04
// Это Risс секция
#include "memory_12.h"
extern int Start_DSP;
extern int in_buf;
extern int W_buf;
extern int Cpolfr_Dir_1real;
extern int c;
void exit();
main()
{
DCSR = 0;
SR = 0x0;
SAR = 0xFFFF;
PC=((unsigned int)&Start_DSP - (unsigned int)&PRAM)>>2;
//A0=((unsigned int)&in_buf - (unsigned int)&XRAM)>>2;
A1=((unsigned int)&Cpolfr_Dir_1real - (unsigned int)&XRAM)>>2;
DCSR = 0x4000;
while((~(QSTR))&(1<<31));
exit();
};
void exit()
{
while(1);
};
// Это DSP секция
.text
.global Start_DSP
.global in_buf
.global Cpolfr_Dir_1real
.extern inifr_Dir_1real
.extern xgenfr_Dir_1real
Start_DSP:
nop
move 0x8f00,r2.l
move r2,A7
move 256,r0 /* N */
move 0,r1 /* p=0 */
move r0,(A7)+
move 0x8000,r0.l /* адрес коэф. */
move r0,(A7)+
move 0x1000,r0.l /* адр. вх. массива */
move r0,(A7)+
move 0x2000,r0.l /* адр. вспомог. массива */
move r0,(A7)+
move 0x1,r0.l /* выход прямой */
move r0,(A7)+
move A1,r0 /* адрес мас. sin */
move r0,(A7)+
move r0,A6
clr r0 r2,A7
move r0,sr
/* переход на подпрограмму инициализации */
BS inifr_Dir_1real // библиотека - расчёт ворачивающих векторов - исходника нет
NOP
/*Убираем 0000 в начале*/
MOVE 0x1000,A0
MOVE 0x1000,A1
DO 1024,L_Tr
MOVE (A0)+,R0
MOVE (A0)+,R2
TR R0,R0
TR R2,R1
L_Tr: MOVE R0,(A1)+
NOP
move 0x800,sr
move 0x8f00,r2.l
move r2,A7
BS xgenfr_Dir_1real // библиотека - FFT - исходников нет
nop
STOP
NOP
.data
Cpolfr_Dir_1real: .real -0.3425247e-5
.real 0.79692592e-1
.real 0.16023388e-3
.real -0.64596409
.real-0.46816341e-2
.real 0.15707964e+1
.end
Составить ответ | Вернуться на конференцию
Ответы