ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Воскресенье
19 мая
25304 Топик полностью
vmp (05.04.2005 11:54, просмотров: 2) ответил C0MA на Вопрос по IAR ARM: Есть бинарный файл - тестовые данные для анализа. Можно ли его как то подключить к проекту, чтобы после компиляции он размещался во флеш? И обращаться к этому файлу из памяти, соответсвенно.
Блин, работы-то на 5 минут. 
//-------------------------------------------------------------
// Преобразование двоичного файла в Си
//-------------------------------------------------------------
#include 
#include 
#include 
#include 
#include 

//-------------------------------------------------------------
// Определения знаковых и беззнаковых типов
//-------------------------------------------------------------
typedef   signed char schar;
typedef unsigned char byte;
typedef unsigned int  word;
typedef unsigned long dword;

FILE *f;
FILE *o;

//-------------------------------------------------------------
// Основная программа
//-------------------------------------------------------------
main(int argc, char **argv)                /* Основная программа */
{

 int i, c;
 int m, v;

 if (argc != 3)
  {
   printf("Преобразование двоичного файла в Си (версия V1.00)\n\
Вызов:\n\
bin2c входной_файл выходной_файл\n\
\n");
   return 1;
  }


// Откроем входные файлы
 if ((f = fopen(argv[1], "rb")) == NULL)
  {
   printf("Не найден файл '%s'\n", argv[1]);
   exit(4);
  }


 if ((o = fopen(argv[2], "wt")) == NULL)
  {
   printf("Ошибка создания файла '%s'\n", argv[2]);
   exit(4);
  }

 i = 0;
 while ((c = fgetc(f)) != EOF)
  {
   if (i == 0)
     fprintf(o, "{");
   else if ((i % 8) == 0)
     fprintf(o, ",\n ");
   else
     fprintf(o, ", ");
   fprintf(o, "0x%02X", c & 0xFF);
   i++;
  }
 fprintf(o, "};\n");
 fclose(o);
 fclose(f);
 return 0;
}