реклама на сайте
подробности

 
 
> Чтение бинарного файла в проэкт TI C5402, Происходит бардак - помогите разобраться...
Саша Z
сообщение May 29 2007, 13:40
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 921
Регистрация: 6-04-07
Из: Israel
Пользователь №: 26 822



Вроде элементарная вещь - читаю бинарный файл в память C5402, элементарный код, а виснет ...
Код:
Код
#include <stdio.h>
#include <stdlib.h>


void f_write(char *str,int arr[],int N);
void f_read(char *str,int arr[],int N);

int z1[1000],Nfloat;

void main()
{ int i;

char str1[]="C:\\Ti\\myprojects\\Project\\Project\\zoom_inst1";
char str2[]="C:\\Ti\\myprojects\\Project\\Project\\zoom_inst1_out";


for (i=0;i<1000;i++)
    z1[i]=0;

puts("start");
f_read(str1,z1,1000);

f_write(str2,z1,1000);
puts("end");
}
            
void f_read(char *str,int arr[],int N )    
{
      FILE  *fr;
      fr = fopen(str,"rb");
      fseek(fr, 0, 0);                          
      fread(arr,1,N,fr);
      fclose(fr);
}
void f_write(char *str,int arr[],int N)  
{
    FILE  *fw;
    fw = fopen(str, "wb");
    fwrite(arr,1,N,fw);
    fclose(fw);
}


Бинарный файл содержит 5800 последовательных байт (2900 integres), в коде проведенном выше - читаю первых 1000 байт а массив z1 (массив заявлен как integer).
На данный момент работаю на симуятор C5402 (т.е. без подключенного борта).
В таком состоянии (чтение 1000 байт) - вроде работает нормально, данные читаются в массив z1.

Задача - прочесть все 5800 байт из исходного файла. Проблема возникает когда увеличиваю размеры массива и чтения файла - скажем говорю прочитать 2000 байт (измению 1000 на 2000 везде где надо в сорсе) - тут программа виснет где-то в процессе чтения файла. Не пойму что происходит... cranky.gif

Конфигурация памяти очень проста:
Код
MEMORY
{
    PAGE 0: EPROG: origin = 0x1200, len = 0x7c00
          
    PAGE 1: IDATA: origin = 0x80,   len =0x8000
}  

SECTIONS
{
  
    .text:    {} > EPROG PAGE 0
    .bss:     {} > IDATA PAGE 1
    .const:   {} > IDATA PAGE 1
    .switch:  {} > IDATA PAGE 1
    .sysmem:  {} > IDATA PAGE 1
    .stack    {} > IDATA PAGE 1
}


думал проблема может быть в памяти - но вроде ее достаточно в конфигурации.

Подскажите что может быть ? help.gif

Спасибо
Go to the top of the page
 
+Quote Post

Сообщений в этой теме


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2025 - 12:33
Рейтинг@Mail.ru


Страница сгенерированна за 0.01822 секунд с 7
ELECTRONIX ©2004-2016