Jump to content

    

Включить файл данных в проект (прошивку)

Здравствуйте! Мне нужно добавить файл данных (12кБ) в прошивку PIC, чтобы PIC мог эти данные использовать в процессе работы.

Можно конечно загнать файл во флешку в процессе работы, но хотелось бы, чтобы этот файл программировался в PIC вместе с прошивкой.

Share this post


Link to post
Share on other sites

Обычно, в опциях линкера можно указать прилинковывать внешние файлы. Могу лишь посоветовать изучить опции командной строки линкера которым вы пользуетесь.

Share this post


Link to post
Share on other sites
On 12/6/2018 at 7:34 AM, VladislavS said:

прилинковывать внешние файлы.

Насколько я понимаю, речь шла о хексе. То есть о возможности присоединения файла на этапе прошивки.

Если же говорить о линкере, то поскольку речь идет о возможности использовать данные в исполняемом коде, значит исходник имеется. Тогда причем тут линкер, если достаточно подменять какой нибудь хедер.

Share this post


Link to post
Share on other sites
7 часов назад, my504 сказал:

Насколько я понимаю, речь шла о хексе

Какой хекс? Почему хекс? Где там хоть слово про хекс?

7 часов назад, my504 сказал:

достаточно подменять какой нибудь хедер.

Какой ещё хедер, где вы взяли  хедер? Просто данные, которые надо добавить в прошивку. Есть извращенский метод - перевести данные в исходный код в виде инициализированного массива и вставить в код, но это лишняя возня. Данные поменялись -  конвертируй заново. Проще линкером внешний файл подключить и всё.

Share this post


Link to post
Share on other sites
On 12/5/2018 at 1:52 PM, diman8911 said:

Мне нужно добавить файл данных (12кБ) в прошивку PIC.

....хотелось бы, чтобы этот файл программировался в PIC вместе с прошивкой.

"Прошивкой" называют hex или bin файл заливаемый через программатор. Иное называют исходником. Ну или объектным файлом.

ЗЫ. Последнее, что я бы посоветовал человеку, править скрипт линкера. Пока проект свеж и не оторван от среды, все будет работать. В ином случае геморрой гарантирован.

 

 

 

Share this post


Link to post
Share on other sites

Можно подумать для PIC есть чуть более одна среда разработки.

Share this post


Link to post
Share on other sites

Причем тут количество сред, если в пределах ОДНОЙ среды (хотя их две: 8-ка и Х), помимо скрипта линкера, есть еще те самые ключи командной строки, установки которых интегрированы в среду и при обновлении среды восстанавливаются лишь при определенных условиях.

А еще у Микрочипа есть ЧЕТЫРЕ совершенно разных для поставленной задачи платформ самих МК и ТРИ совершенно разных компилятора. Автору вопроса нужно держать в голове специфику скриптов линкера использованной платформы, если потребуется через полгода 12Кбайт превратить в 20?

 

Share this post


Link to post
Share on other sites
1 час назад, my504 сказал:

если потребуется через полгода 12Кбайт превратить в 20?

 

Достаточно подменить файл данных.

Share this post


Link to post
Share on other sites

Не достаточно. Может не позволить исходная компоновка. Могут возникнуть проблемы с моделью памяти. 

Путь правки скрипта линкера в корне порочен. Он делает код зависимым от тонких настроек. Я еще могу понять, когда нет другого пути... Подготовка файла данных в текстовом формате - это вопрос примитивной утилиты не связанной ни с какой платформой.

Но в любом случае мы ведем беспредметный спор. Автору нужно НЕ ЭТО.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now