[an error occurred while processing this directive]
Для преобразования file.out в file.dat есть hex*.exe (в моем случае hex55.exe). Как им пользоваться читайте в описании bootloaderа на ваш чип. Прошить можно, и довольно легко (я всегда шью через JTAG). Вот пример программы "прошивальшика"
(«Телесистемы»: Конференция «Цифровые сигнальные процессоры (DSP) и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено AntZ 21 октября 2003 г. 10:59
В ответ на: Скажите пожалуйста, а можноли с помощью JTAG-эмулятора прошивать не только сам TMS но и ПЗУ стоящее рядом на плате, и можно ли это делать прямо из CodeComposera, (ведь CCS выдает file.out, а ПЗУ просит file.bin) отправлено Andersen 21 октября 2003 г. 10:50

Самый простой вариант - вся прошивка лезет в память, тогда грузим прошивалку и прошивку - запускаем и отдыхаем.

Если нет - читаем по частям и прошиваем по частям.
у меня прошивалка выглядит так:


/*------------------------------------------------------------------*/
/* main() */
/*------------------------------------------------------------------*/
int main()
{
long Cnt;
long Cnt2;
FILE *fil;
unsigned int c;
int Cnt3;
int FlashOK;

printf("FlashWriter started\n");

/* Initialize HPI for LEDs */
HPI_Initialize();

/* Initialize EMIF */
EMIF5502_Initialize();
EMIF5502_Initialize_CE2();

for(Cnt=0; Cnt<0x4000; ++Cnt)
Buffer[Cnt]=Buffer2[Cnt]=0;

fil=fopen("C:\\PLC\\Out2Bin\\led5502.bin", "rb");
Cnt=0;
while(1)
{
c=fgetc(fil);
if(feof(fil))
break;
Buffer[Cnt++]=c1;
}
fclose(fil);
printf("Buffer filled\n");

/* Initialize I2C */
I2C_Initialize();
I2C_ResetOff();

printf("Start writing flash\n");
WriteFlash(Buffer,3000);
printf("Write finished\n");

printf("Start checking flash \n");
ReadFlash(Buffer2,3000);
printf("Check Finished\n");

/* Check the buffers are identical */
FlashOK=1;
for(Cnt3=0; Cnt3<0x4000; ++Cnt3)
{
if(Buffer[Cnt3]!=Buffer2[Cnt3])
{
FlashOK=0;
printf("Cnt=%u, Buffer=%u, Buffer2=%u\n",Cnt3, Buffer[Cnt3],Buffer2[Cnt3]);
}
}

if(FlashOK)
printf("Flash test is OK\n");
else
printf("Flash test *** FAILED ***\n");

I2C_ResetOn();

printf("FlashWriter finished\n");
return 0;
}


Составить ответ  |||  Конференция  |||  Архив

Ответы


Отправка ответа

Имя (обязательно): 
Пароль: 
E-mail: 

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 

URL изображения: 


Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru