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

 
 
> Nios и файлы, включение содержимого файла в тектс программы.
torik
сообщение Mar 27 2009, 08:51
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 2 113
Регистрация: 1-11-05
Пользователь №: 10 359



Вобщем, дело такое: например, программа в ниосе выводит слой графики в память. При этом я брал содержимое файла, форматировал для представления в виде переменной вроде

Код
const char Times10[] __attribute__((aligned(2))) ={
0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x0F,0x00,0x0A,0x08,0x04,0x00,0x0A,0x26,0x04,
0.....


Так же поступаю со шрифтами. Но только со шрифтами это и удобно.
А при работе с графикой каждый раз содержимое bmp файла представлять в виде переменной неудобно. А что делать, если я хочу прошивку для Vinculum включить в программу...

Вопрос такой, как мне добавить содержимое файла, например, img.bmp в текст программы, чтобы я потом мог обращаться к нему как к стринговой переменной или пространству памяти?

Что-то вроде #include img.bmp Но где и как это сделать? ведь компилятору нужно еще перемунную назвать.

Или может
Код
[code]const char Times10[] __attribute__((aligned(2))) ={#include img.bmp}


--------------------
Быть. torizin-liteha@yandex.ru
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
torik
сообщение Mar 30 2009, 13:39
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 113
Регистрация: 1-11-05
Пользователь №: 10 359



Незнаю, чем тема не понравилась в ПЛИС-> Среды разработки, но продолжу:
подключил файл.

Код
    FILE* fp1;
    char prompt1 = 0;
    char buffer[1024];
    fp1 = fopen ("/mnt/host/readme.txt", "r"); //Open file for reading and writing
    if (fp1) {
  while (fgets(buffer, sizeof(buffer), fp1) != NULL)  {
    fprintf(stdout, "%s", buffer);
  }


В таком случае все выводит через JTAG, все вижу, хорошо... Но это работа со строками, а мне надо читать не как строку, а как бинарные данные. Например, функция getc(fp) должна бы
давать просто байт, а она не дает ничего (виснет). Как правильно?

Незнаю, чем тема не понравилась в ПЛИС-> Среды разработки, но продолжу:
подключил файл.

Код
    FILE* fp1;
    char prompt1 = 0;
    char buffer[1024];
    fp1 = fopen ("/mnt/host/readme.txt", "r"); //Open file for reading and writing
    if (fp1) {
  while (fgets(buffer, sizeof(buffer), fp1) != NULL)  {
    fprintf(stdout, "%s", buffer);
  }


В таком случае все выводит через JTAG, все вижу, хорошо... Но это работа со строками, а мне надо читать не как строку, а как бинарные данные. Например, функция getc(fp) должна бы
давать просто байт, а она не дает ничего (виснет). Как правильно?


--------------------
Быть. torizin-liteha@yandex.ru
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 9th August 2025 - 14:47
Рейтинг@Mail.ru


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