Перейти к содержанию
    

Приветствую всех.

Подскажите знатоки IARа, как можно в проекте подключить внешний бинарный файл. Например картинку.

Как в ассемблере (наверное и в Си так же) определить внешний файл в нужное мне адресное пространство.

#include "имя файла.bin" не катит, ассемблер считает что там программа.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Приветствую всех.

Подскажите знатоки IARа, как можно в проекте подключить внешний бинарный файл. Например картинку.

Как в ассемблере (наверное и в Си так же) определить внешний файл в нужное мне адресное пространство.

#include "имя файла.bin" не катит, ассемблер считает что там программа.

Привет.

На поставленный вопрос не отвечу. Но скажу, что я, например, конвертирую бинарные данные, если таковые требуются в текстовый Си-файл с объявленным массивом.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Пока не нашол решения, я использую вот такую конструкцию

 

RSEG CODE

ASEGN CODE_5000:CODE, 0x5000 ; Место где будет располагаться массив.

;

#include "имя файла.h"

 

файл содержит:

 

метка:

DC8 константа1,2,3,4,...

DC16 константа1,2,3,4,...

и так далее.

Это работает, но геморой ещо тот!

 

Надо тупо поместить при компиляции двоичные данные в

память программы. КАК?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Пока не нашол решения, я использую вот такую конструкцию

 

RSEG CODE

ASEGN CODE_5000:CODE, 0x5000 ; Место где будет располагаться массив.

;

RSEG не CODE, а CONST ибо рискуете получить в младшем бите ваших данных установленную единичку, если архитектура Thumb (кстати, не указали IAR EWB-кто?)

 

#include "имя файла.h"

 

файл содержит:

 

метка:

DC8 константа1,2,3,4,...

DC16 константа1,2,3,4,...

и так далее.

Это работает, но геморой ещо тот!

Надо тупо поместить при компиляции двоичные данные в

память программы. КАК?

Это ассемблер (; здесь ты один на один с железом (;

В IAR C/C++ProgrammingGuide наверняка всё расписано, как линкеру внешний бинарник скормить.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

... двоичные данные в память программы. КАК?

 

собственно варианты прозвучали:

- заставить линковщик вставить в нужное место потроха некоего файла (как есть)

- заставить отработать компилятор с исходными данными

 

обычно использую второй подход + самописная прожка (тут на любителя - думаю в инете мона найти готовые вещи) которая конвертит то что на входе в то что нужно.

 

как то так

(круглый)

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Использую

IAR Embedded Workbench for Renesas 78K

программирую на ассемблере.

Приходится преобразовывать в нех последовательность, так и подключаю.

Хотелось бы проще

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Подскажите знатоки IARа, как можно в проекте подключить внешний бинарный файл. Например картинку.

В опциях проекта во вкладке Linker\ExtraOptions добавить строку типа:

--image_input=$PROJ_DIR$\ENET\content.cpio,httpContent,.httpContent,2

Подробное описание ключа - см. в документации на IAR.

 

Пока не нашол решения, я использую вот такую конструкцию

А где искали? Документацию на компилятор открывать пробовали? :laughing:

 

ЗЫ: Пишется: нашёл.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Предложенные варианты у меня не работают

А почему не хотите файл преобразовать в массив Си? По мне так самый простой вариант.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Си не знаю, программирую только на ассемблере.

Тогда Вам совет - изучите Си. Если умеете на ассемблере, то Си Вам по зубам. Решите сразу несколько будущих проблем, включая эту.

Ассемблер не универсален. Си универсален. По крайней мере, по отношению к ассемблеру в сотни раз.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У меня нет проблем с ассемблером под все мною освоенные микроконтроллеры. А нюансы, рано или поздно найду решение.

Си много раз пытался освоить, не моё.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...