-
- Пока не появился C23 с поддержкой #embed, использую incbin. Из плюсов - не нужны дополнительные утилиты при сборке, всего один заголовочный файл, поддерживает много компиляторов, можно включать как текстовые, так и бинарные файлы. Внутри - никакого оверхеда, т.к. используется предложенный ниже asm volatile (".incbin xxx") и его аналоги для других компиляторов + набор макросов препроцессора. arhiv6(1 знак., 11.01.2023 11:04, ссылка)
- GCC: asm volatile (".incbin \"file.bin\""); MBedder(146 знак., 16.08.2016 14:00 - 14:39)
- Спасибо. - Toчкa oпopы(11.01.2023 08:50)
- Волшебно! - Dingo(16.08.2016 16:17)
- хо-хо. а знаете какие в GCC asm`e макросы?? запросто можно получить таблицу имён, адресов, и собственно самих файлов. я так http сервер делал. новый файл добавлялся одной строчкой. после компиляции видел имена добавленных файлов, их размеры и Mahagam(11 знак., 16.08.2016 16:35)
- А по каким ключевым словам можно раскурить ман на эту тему? - Точка опоры(16.08.2016 21:57)
- хо-хо. а знаете какие в GCC asm`e макросы?? запросто можно получить таблицу имён, адресов, и собственно самих файлов. я так http сервер делал. новый файл добавлялся одной строчкой. после компиляции видел имена добавленных файлов, их размеры и Mahagam(11 знак., 16.08.2016 16:35)
- Файл или файловую систему? objcopy может bin в obj превратить, а последний можно прилинковать. - fk0(16.08.2016 12:07)
- Бинарник с образом файловой системы. Нашёл уже, -> - Dingo(16.08.2016 12:38, ссылка)
- мне в свое время кейловская затея понравилась. После компиляции запускается утилитка, которая из указанной папки все файлы пакует в бинарник который во флешь грузится, а в прошивке ты все эти файлы можешь считать стандартными функциями работы с Nikolay801_(91 знак., 16.08.2016 10:42)
- Здрассте. Классика жанра - bin2c. - SciFi(16.08.2016 10:11)
- Подумал-подумал, и понял, что самый простой в использовании вариант, не сильно привязанный к компилятору, да ещё чтобы работал и под win и под *nix с bin2c и получается. Единственно, хорошо было бы (чем именно?) чтобы это был один файл не Dingo(1634 знак., 16.08.2016 17:21 - 18:27)
- Самый минималистичный подход, согласен. Но с ним fread() менее логично стыкуется. Начинаем совершенствовать - и приходим к вышеназванному (с небольшими изменениями?). Добавил пример из LwIP для http сервера. Dingo(16.08.2016 10:50 - 10:56)
- Фигня, fread() легко стыкуется. А телепаты в отпуске. Огласите весь список, пожалуйста. Ибо "совершенствовать" можно до бесконечности, бессмысленно и беспощадно. - SciFi(16.08.2016 10:54)
- Конкретный случай легче всего решается через массив - залить конфигурацию в FPGA. Хотелось бы решение "в общих чертах", чтобы если и переделывать каждый раз, то по минимуму. Я помню, что "нельзя объять необъятного" (с). - Dingo(16.08.2016 11:01)
- Поднимайте линуха, будут файловые системы на любой вкус :-) - SciFi(16.08.2016 14:48)
- Конкретный случай легче всего решается через массив - залить конфигурацию в FPGA. Хотелось бы решение "в общих чертах", чтобы если и переделывать каждый раз, то по минимуму. Я помню, что "нельзя объять необъятного" (с). - Dingo(16.08.2016 11:01)
- Фигня, fread() легко стыкуется. А телепаты в отпуске. Огласите весь список, пожалуйста. Ибо "совершенствовать" можно до бесконечности, бессмысленно и беспощадно. - SciFi(16.08.2016 10:54)