Vldmr 0 2 января, 2011 Опубликовано 2 января, 2011 · Жалоба С наступившим всех форумчан! Господа, подскажите, пожалуйста, что можно сделать. Есть lpc2478 с подключённым lcd, в нём 512к флеш. Хочу залить картинку чёрно-белую, 256 цветов. это где-то 131 кб, так что памяти хватает. Но кейл ругается когда я ему пытаюсь вставить массив типа char длинной 131.000 )))))) Что делать, как быть? Как залить массив в контроллер? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zksystem 0 2 января, 2011 Опубликовано 2 января, 2011 · Жалоба кейл ругается когда я ему пытаюсь вставить массив типа char длинной 131.000 )))))) Что делать, как быть? Как залить массив в контроллер? const char[131000] = { bla, bla, bla.... }; Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
bodja74 0 2 января, 2011 Опубликовано 2 января, 2011 · Жалоба 1 Может масив определен в РАМе 2 Почитатьь сдесь как вариант http://electronix.ru/forum/index.php?showtopic=84316 3 Написать свой загрузчик ,раз такая пьянка :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Vldmr 0 3 января, 2011 Опубликовано 3 января, 2011 · Жалоба const char[131000] = { bla, bla, bla.... }; Так вот примерно на 19.000 компилятор пишет что всё, должен быть конец, }; Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ViKo 1 3 января, 2011 Опубликовано 3 января, 2011 · Жалоба Так вот примерно на 19.000 компилятор пишет что всё, должен быть конец, }; А так...? static const char image[131000] = {bla, bla, bla ...}; Без static каждый раз константная переменная в функции создается заново при входе (звучит по-идиотски, конечно :)) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
demiurg_spb 0 3 января, 2011 Опубликовано 3 января, 2011 · Жалоба У Вас size_t 32-битный? ибо он определяет максимальное кол-во элементов массива array[size_t]. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AlexandrY 3 3 января, 2011 Опубликовано 3 января, 2011 · Жалоба Делаете ассемблерный файл, внутрь помещаете типа этого: AREA IMG, DATA, READONLY EXPORT img_start EXPORT img_end img_start INCBIN image.bmp img_end END Файл подключаете к проекту Можете подключать любые файлы с любой структурой Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
slavka012 0 3 января, 2011 Опубликовано 3 января, 2011 · Жалоба Делаете ассемблерный файл, внутрь помещаете типа этого: Файл подключаете к проекту Можете подключать любые файлы с любой структурой А в GCC есть что-то аналогичное? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
srg_co 0 3 января, 2011 Опубликовано 3 января, 2011 · Жалоба const char[131000] = { bla, bla, bla.... }; Можно попробовать так: 1. Конвертим картинку в HEX BIN2HEX /Oxxxx /4 file_name.ext file_name.hex 2. Создаем файл Flash.ini со следующим содержимым LOAD file_name.hex 3. В настройках проекта закладка "Utilities" в поле "Init file" указываете файл Flash.ini. При загрузке кода в проц, зальётся ваш файл по адресам указанным в HEX. Если полностью флэш проца не стирать, file_name.ext останется во флэше, главное выбрать адреса в которые гарантированно ничего другого записываться не будет. В этом случае, доступ к данным можно осуществить по ссылке типа unsigned int blockaddress = 0xNNNNNNNN Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Vldmr 0 4 января, 2011 Опубликовано 4 января, 2011 · Жалоба Можно попробовать так: 1. Конвертим картинку в HEX BIN2HEX /Oxxxx /4 file_name.ext file_name.hex 2. Создаем файл Flash.ini со следующим содержимым LOAD file_name.hex 3. В настройках проекта закладка "Utilities" в поле "Init file" указываете файл Flash.ini. При загрузке кода в проц, зальётся ваш файл по адресам указанным в HEX. Если полностью флэш проца не стирать, file_name.ext останется во флэше, главное выбрать адреса в которые гарантированно ничего другого записываться не будет. В этом случае, доступ к данным можно осуществить по ссылке типа unsigned int blockaddress = 0xNNNNNNNN Обязательно попробую, спасибо! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Vldmr 0 4 января, 2011 Опубликовано 4 января, 2011 · Жалоба UPD: Огромное спасибо, всё получилось на ура. Способ с Init-файлом просто отличный: один раз можно залить большой масссив данных, а потом при отладке не нужно его перезаливать во флеш. Заливка прошивки получается сильно быстрее. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться