diman8911 0 5 декабря, 2018 Опубликовано 5 декабря, 2018 · Жалоба Здравствуйте! Мне нужно добавить файл данных (12кБ) в прошивку PIC, чтобы PIC мог эти данные использовать в процессе работы. Можно конечно загнать файл во флешку в процессе работы, но хотелось бы, чтобы этот файл программировался в PIC вместе с прошивкой. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
VladislavS 29 6 декабря, 2018 Опубликовано 6 декабря, 2018 · Жалоба Обычно, в опциях линкера можно указать прилинковывать внешние файлы. Могу лишь посоветовать изучить опции командной строки линкера которым вы пользуетесь. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
my504 2 8 декабря, 2018 Опубликовано 8 декабря, 2018 · Жалоба On 12/6/2018 at 7:34 AM, VladislavS said: прилинковывать внешние файлы. Насколько я понимаю, речь шла о хексе. То есть о возможности присоединения файла на этапе прошивки. Если же говорить о линкере, то поскольку речь идет о возможности использовать данные в исполняемом коде, значит исходник имеется. Тогда причем тут линкер, если достаточно подменять какой нибудь хедер. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
VladislavS 29 8 декабря, 2018 Опубликовано 8 декабря, 2018 · Жалоба 7 часов назад, my504 сказал: Насколько я понимаю, речь шла о хексе Какой хекс? Почему хекс? Где там хоть слово про хекс? 7 часов назад, my504 сказал: достаточно подменять какой нибудь хедер. Какой ещё хедер, где вы взяли хедер? Просто данные, которые надо добавить в прошивку. Есть извращенский метод - перевести данные в исходный код в виде инициализированного массива и вставить в код, но это лишняя возня. Данные поменялись - конвертируй заново. Проще линкером внешний файл подключить и всё. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
my504 2 8 декабря, 2018 Опубликовано 8 декабря, 2018 · Жалоба On 12/5/2018 at 1:52 PM, diman8911 said: Мне нужно добавить файл данных (12кБ) в прошивку PIC. ....хотелось бы, чтобы этот файл программировался в PIC вместе с прошивкой. "Прошивкой" называют hex или bin файл заливаемый через программатор. Иное называют исходником. Ну или объектным файлом. ЗЫ. Последнее, что я бы посоветовал человеку, править скрипт линкера. Пока проект свеж и не оторван от среды, все будет работать. В ином случае геморрой гарантирован. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
VladislavS 29 9 декабря, 2018 Опубликовано 9 декабря, 2018 · Жалоба Можно подумать для PIC есть чуть более одна среда разработки. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
my504 2 9 декабря, 2018 Опубликовано 9 декабря, 2018 · Жалоба Причем тут количество сред, если в пределах ОДНОЙ среды (хотя их две: 8-ка и Х), помимо скрипта линкера, есть еще те самые ключи командной строки, установки которых интегрированы в среду и при обновлении среды восстанавливаются лишь при определенных условиях. А еще у Микрочипа есть ЧЕТЫРЕ совершенно разных для поставленной задачи платформ самих МК и ТРИ совершенно разных компилятора. Автору вопроса нужно держать в голове специфику скриптов линкера использованной платформы, если потребуется через полгода 12Кбайт превратить в 20? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
VladislavS 29 9 декабря, 2018 Опубликовано 9 декабря, 2018 · Жалоба 1 час назад, my504 сказал: если потребуется через полгода 12Кбайт превратить в 20? Достаточно подменить файл данных. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
my504 2 9 декабря, 2018 Опубликовано 9 декабря, 2018 · Жалоба Не достаточно. Может не позволить исходная компоновка. Могут возникнуть проблемы с моделью памяти. Путь правки скрипта линкера в корне порочен. Он делает код зависимым от тонких настроек. Я еще могу понять, когда нет другого пути... Подготовка файла данных в текстовом формате - это вопрос примитивной утилиты не связанной ни с какой платформой. Но в любом случае мы ведем беспредметный спор. Автору нужно НЕ ЭТО. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
VladislavS 29 9 декабря, 2018 Опубликовано 9 декабря, 2018 · Жалоба Похоже, вы лучше автора знаете что ему нужно. :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
diman8911 0 10 декабря, 2019 Опубликовано 10 декабря, 2019 · Жалоба В итоге написал программку, которая преобразует бий бинарник в массив вида const unsigned int ldr_size=16312; const unsigned char ldr[16312] = { 0x01, 0x50, 0x34, 0xAD, 0x00, 0x00, 0xA0, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xA8, 0x3F, 0x00, 0x00, 0x01, 0x00, 0xD7, 0xAD, 0x00, 0x00, 0x80, 0xFF, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, const unsigned int ldr_size=16312; const unsigned char ldr[16312] = { 0x01, 0x50, 0x34, 0xAD, 0x00, 0x00, 0xA0, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xA8, 0x3F, 0x00, 0x00, 0x01, 0x00, 0xD7, 0xAD, 0x00, 0x00, 0x80, 0xFF, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, Костыль конечно, но работает Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
VladislavS 29 11 декабря, 2019 Опубликовано 11 декабря, 2019 · Жалоба Даже боюсь спросить. На это ушёл ровно год? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
diman8911 0 11 декабря, 2019 Опубликовано 11 декабря, 2019 · Жалоба 3 часа назад, VladislavS сказал: Даже боюсь спросить. На это ушёл ровно год? Да не, на форуме редко бываю. Так, на всякий случай выложил. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться