Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Codevision&файл данных
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
valera_o
Привет всем! Искал - не нашел, как подключается файл данных к проекту в кодевижне. Поясню, есть бин-файл звука, его нужно записать в память программ меги. В АлгоритмБилдере такая возможность есть, а в кодевижине? помогите, пожалуйста!
Палыч
Поскольку возможность подключения бинарных файлов к проекту есть далеко не во всех трансляторах, то рекомендую конвертировать бинарник в символьный файл, содержащий значения каждого байта. Сделать это можно, например, редактором WinHEX. Полученный таким образом файл подключается через #include, примерно так:

flash unsigned char mas[]=
{
#include "file.c" // это - файл с данными в символьном виде
};
valera_o
Цитата(Палыч @ Apr 18 2008, 10:43) *
Поскольку возможность подключения бинарных файлов к проекту есть далеко не во всех трансляторах, то рекомендую конвертировать бинарник в символьный файл, содержащий значения каждого байта. Сделать это можно, например, редактором WinHEX. Полученный таким образом файл подключается через #include, примерно так:

flash unsigned char mas[]=
{
#include "file.c" // это - файл с данными в символьном виде
};

т.е. из бин-файла надо получить хекс, а потом его расширение сменить на с? или в хексовом файле каждый байт отделить друг от друга запятой а перед каждым байтом постовить 0х?
Палыч
Нужно каждый байт бинарника представить как число в символьном виде и отделить их друг от друга запятыми. Можно представлять в десятичном виде, можно - в шестнадцатиричном (добавить 0х). Например, бинарник содержит байты: первый со значением 11h, второй - 22h, третий - 33h... Нужно получить файл, начинающийся символами "0x11, 0x22, 0x33, ..." или "17, 34, 51,...". Указанный выше редактор позволяет загружать бинарник и получать символьный файл в стиле языка С.
valera_o
не могли бы Вы подробнее рассказать как в винхексе преобразовать бин-файл, а то получается только бин в хекс?
ae_
Вот одна из множества программ DataByte, которая преобразует любой входной файл в include-файл формата Си или АСМ нажатием одной кнопки.
valera_o
Цитата(ae_ @ Apr 22 2008, 12:11) *
Вот одна из множества программ DataByte, которая преобразует любой входной файл в include-файл формата Си или АСМ нажатием одной кнопки.

вот это тема!!! то что нужно! Огромное спасибо!!!
Палыч
Цитата(valera_o @ Apr 22 2008, 11:55) *
не могли бы Вы подробнее рассказать как в винхексе преобразовать бин-файл

1. Загрузить бин-файл
2. Нужный участок пометить как блок (в вашем случае, наверное, весь файл от начала до конца). Для отметки начала и конца блока можно использовать контекстное меню.
3. На выделенном блоке щёлкнуть правой кнопкой мыши.
4. В контекстном меню выбрать Edit->Copy block->C source
5. В буфере обмена - нужная информация
6. Открыть файл (лучше пустой) и вставить в него буфер обмена. Отрихтовать его под свои нужды (я убираю первую и последнюю строки)
valera_o
Спасибо, отлично, получилось!
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.