|
Вопрос по IAR asm, как указать ассемблеру что #include это Bin данные |
|
|
|
Dec 7 2017, 09:17
|
Участник

Группа: Участник
Сообщений: 31
Регистрация: 6-01-07
Пользователь №: 24 153

|
Приветствую всех. Подскажите знатоки IARа, как можно в проекте подключить внешний бинарный файл. Например картинку. Как в ассемблере (наверное и в Си так же) определить внешний файл в нужное мне адресное пространство. #include "имя файла.bin" не катит, ассемблер считает что там программа.
|
|
|
|
|
Dec 7 2017, 12:58
|
Участник

Группа: Участник
Сообщений: 31
Регистрация: 6-01-07
Пользователь №: 24 153

|
Пока не нашол решения, я использую вот такую конструкцию RSEG CODE ASEGN CODE_5000:CODE, 0x5000 ; Место где будет располагаться массив. ; #include "имя файла.h"
файл содержит:
метка: DC8 константа1,2,3,4,... DC16 константа1,2,3,4,... и так далее. Это работает, но геморой ещо тот!
Надо тупо поместить при компиляции двоичные данные в память программы. КАК?
|
|
|
|
|
Dec 7 2017, 18:01
|

Знающий
   
Группа: Участник
Сообщений: 756
Регистрация: 14-11-14
Пользователь №: 83 663

|
Цитата(kuber @ Dec 7 2017, 16:58)  Пока не нашол решения, я использую вот такую конструкцию 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 наверняка всё расписано, как линкеру внешний бинарник скормить.
--------------------
Пролетарий умственного труда.
|
|
|
|
|
Dec 7 2017, 18:01
|
практикующий тех. волшебник
    
Группа: Участник
Сообщений: 1 190
Регистрация: 9-09-05
Пользователь №: 8 417

|
Цитата(kuber @ Dec 7 2017, 15:58)  ... двоичные данные в память программы. КАК? собственно варианты прозвучали: - заставить линковщик вставить в нужное место потроха некоего файла (как есть) - заставить отработать компилятор с исходными данными обычно использую второй подход + самописная прожка (тут на любителя - думаю в инете мона найти готовые вещи) которая конвертит то что на входе в то что нужно. как то так (круглый)
|
|
|
|
|
Dec 7 2017, 19:46
|
Участник

Группа: Участник
Сообщений: 31
Регистрация: 6-01-07
Пользователь №: 24 153

|
Использую IAR Embedded Workbench for Renesas 78K программирую на ассемблере. Приходится преобразовывать в нех последовательность, так и подключаю. Хотелось бы проще
|
|
|
|
|
Dec 8 2017, 10:31
|
Гуру
     
Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713

|
Цитата(kuber @ Dec 7 2017, 11:17)  Подскажите знатоки IARа, как можно в проекте подключить внешний бинарный файл. Например картинку. В опциях проекта во вкладке Linker\ExtraOptions добавить строку типа: --image_input=$PROJ_DIR$\ENET\content.cpio,httpContent,.httpContent,2 Подробное описание ключа - см. в документации на IAR. Цитата(kuber @ Dec 7 2017, 14:58)  Пока не нашол решения, я использую вот такую конструкцию А где искали? Документацию на компилятор открывать пробовали? ЗЫ: Пишется: наш ёл.
|
|
|
|
|
Dec 8 2017, 12:33
|
Участник

Группа: Участник
Сообщений: 31
Регистрация: 6-01-07
Пользователь №: 24 153

|
Предложенные варианты у меня не работают
|
|
|
|
|
Dec 8 2017, 12:53
|
Участник

Группа: Участник
Сообщений: 31
Регистрация: 6-01-07
Пользователь №: 24 153

|
Си не знаю, программирую только на ассемблере.
|
|
|
|
|
Dec 8 2017, 13:10
|
Участник

Группа: Участник
Сообщений: 31
Регистрация: 6-01-07
Пользователь №: 24 153

|
У меня нет проблем с ассемблером под все мною освоенные микроконтроллеры. А нюансы, рано или поздно найду решение. Си много раз пытался освоить, не моё.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|