Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Растровое изображение подготовлено с помощью утилиты LCD Assistant. Полезнейшая в хозяйстве вещь, скармливаешь ей однобитный bmp-файл, а она выдает в текстовом виде байтовый массив, пригодный к употреблению в C.
all :
...
$(MAKE) convert
...
convert:
@echo --- start objcopy...
$(OBJCOPY) -I binary \
-O elf32-littlearm \
-B arm html\ethernetindex.txt html\ethernetindex.o
$(OBJCOPY) -I binary \
-O elf32-littlearm \
-B arm html\arsenal.gif html\arsenal.o
$(OBJCOPY) -I binary \
-O elf32-littlearm \
-B arm html\ascii_girl.txt html\ascii_girl.o
@echo --- done...
.text :
{
...
*(.text) /* remaining code */
*(.text.*)
html/arsenal.o
html/ethernetindex.o
html/ascii_girl.o
...
}
html/arsenal.o()
.data 0x0800abd8 0x69b html/arsenal.o
0x0800abd8 _binary_html_arsenal_gif_start
0x0800b273 _binary_html_arsenal_gif_end
*.sym:
0000069b A _binary_html_arsenal_gif_size
*.map:
_binary_html_arsenal_gif_size html/arsenal.o
extern char _binary_html_arsenal_gif_start;
extern char _binary_html_arsenal_gif_end;
char *arsenal_start = &_binary_html_arsenal_gif_start;
char *arsenal_end = &_binary_html_arsenal_gif_end;
На выходе получаются нечеловеко-читаемые массивы.А в вашем случае — человекочитаемые?
$(OBJCOPY) -I binary \
-O elf32-littlearm \
-B arm html\xxx.gif html\xxx.o
.SUFFIXES: .txt .gif .o
.txt.o:
$(OBJCOPY) -I binary -O elf32-littlearm -B arm $< $@
# аналогично для gif
OBJECTS = main.o ethernetindex.o arsenal.o ascii_girl.o
all: $(OBJECTS)
...
НЕ Arduino за 55 центов