реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Бинарник в программный код, как вставить?
undi
сообщение Nov 12 2005, 11:33
Сообщение #1


Участник
*

Группа: Свой
Сообщений: 54
Регистрация: 8-07-04
Из: Пермь
Пользователь №: 300



Доку на асм почитал и не нашел... Может существует дирректива?
Или переколбашиватель в текстовый вид писать?
Go to the top of the page
 
+Quote Post
jack_avenger
сообщение Nov 12 2005, 11:43
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 170
Регистрация: 30-06-05
Из: Киев
Пользователь №: 6 426



Не пробовал не будет ли ругатся компилятор, но может так:
.org <адрес>
.db <data>,<data>,<data>.........<data>
Go to the top of the page
 
+Quote Post
undi
сообщение Nov 12 2005, 11:51
Сообщение #3


Участник
*

Группа: Свой
Сообщений: 54
Регистрация: 8-07-04
Из: Пермь
Пользователь №: 300



Почти два килобайта надо вставить.
Вот я и думаю, что придется прогу писать, которая бинарник в .db <data>,<data>,<data>.........<data>
и переделает. Неохота как...
Go to the top of the page
 
+Quote Post
jack_avenger
сообщение Nov 12 2005, 12:07
Сообщение #4


Частый гость
**

Группа: Свой
Сообщений: 170
Регистрация: 30-06-05
Из: Киев
Пользователь №: 6 426



Цитата(undi @ Nov 12 2005, 14:51) *
Почти два килобайта надо вставить.
Вот я и думаю, что придется прогу писать, которая бинарник в .db <data>,<data>,<data>.........<data>
и переделает. Неохота как...

Так прога должна быть уже готовая - поищи хорошенько в нете =)))
Go to the top of the page
 
+Quote Post
solidreg
сообщение Nov 12 2005, 14:23
Сообщение #5


Участник
*

Группа: Свой
Сообщений: 74
Регистрация: 24-10-05
Пользователь №: 10 056



Большенство компиляторов подерживает команду INLINE. Посмотрите на документацию компилятора.
Go to the top of the page
 
+Quote Post
nml
сообщение Nov 12 2005, 14:51
Сообщение #6


Частый гость
**

Группа: Свой
Сообщений: 86
Регистрация: 13-06-04
Из: Minsk
Пользователь №: 29



Цитата(undi @ Nov 12 2005, 15:51) *
Почти два килобайта надо вставить.
Вот я и думаю, что придется прогу писать, которая бинарник в .db <data>,<data>,<data>.........<data>
и переделает. Неохота как...

Ну если неохота... Вот:
Код
program bin_to_a;
{$APPTYPE CONSOLE}
uses
  SysUtils;

Var F:File of byte;FO:TextFile;
    B:Byte;
    I:Integer;
begin
  if ParamStr(1)='' then
    Begin
      Writeln('X:\bin_to_a filename');
      Halt(1);
    End;

  Assign(F,ParamStr(1));Reset(F);

  if IoResult<>0 then
    Begin
      Writeln('No file "'+ParamStr(1)+'"');
      Halt(1);
    End;

  Assign(FO,ChangeFileExt(ParamStr(1),'.inc')); Rewrite(FO);
  I:=0;
  Repeat
    if I=0 then Write(FO,#9'.db ');
    Read(F,B); Write(FO,'0x',IntToHex(B,2));
    if I=15 then Begin I:=0; Writeln(FO); End else Begin Write(FO,','); Inc(I); End;
  Until Eof(F);
  Close(F); Close(FO);


end.

Это для дельфи ... всего делов-то.
Go to the top of the page
 
+Quote Post
k0t
сообщение Nov 14 2005, 07:00
Сообщение #7


Участник
*

Группа: Свой
Сообщений: 53
Регистрация: 11-01-05
Пользователь №: 1 889



Я делал так(на асме): 1. Ставишь метку в конце программы - это будет адрес начала данных.
2. Компилируешь, получаешь .hex
3. Конвертишь в .bin (hex2bin)
4. copy /b program.bin+data.bin result.bin
5. result.bin превращаешь в hex (bin2hex)
6. Прошиваешь smile.gif
Go to the top of the page
 
+Quote Post
IgorKossak
сообщение Nov 15 2005, 08:30
Сообщение #8


Шаман
******

Группа: Модераторы
Сообщений: 3 064
Регистрация: 30-06-04
Из: Киев, Украина
Пользователь №: 221



Не сказано в какой среде ведётся разработка.
Если в IAR, то там за пару кликов мышью можно прилинковать любой объём бинарного кода в любое место Flash памяти.
См. опции проекта Linker/Config/Raw binary image или при помощи командной строки (см. описание линкера).
Go to the top of the page
 
+Quote Post
Grape
сообщение Nov 15 2005, 17:02
Сообщение #9


Участник
*

Группа: Свой
Сообщений: 69
Регистрация: 22-10-04
Пользователь №: 956



вот такая примочка есть....

INC-Pro III is back for the final time,
now converting binary to ASM,C/C++, GEMA, QuickBasic and Pascal!
Прикрепленные файлы
Прикрепленный файл  INCPRO3.ZIP ( 7.01 килобайт ) Кол-во скачиваний: 40
 
Go to the top of the page
 
+Quote Post
ValeraK
сообщение Nov 24 2005, 15:12
Сообщение #10


Частый гость
**

Группа: Новичок
Сообщений: 164
Регистрация: 11-01-05
Из: Россия, Снежинск
Пользователь №: 1 900



Цитата(undi @ Nov 12 2005, 16:33) *
Доку на асм почитал и не нашел... Может существует дирректива?
Или переколбашиватель в текстовый вид писать?


Ну я с помощю QBasic это делаю:

'Преобразовать из двоичного файла в текстовый .db для AVR ассемблера
File$ = "5x8": Ext$ = "fnt"

OPEN File$ + "." + Ext$ FOR BINARY AS #1 LEN = 1
OPEN File$ + ".txt" FOR OUTPUT AS #2

Size = LOF(1)
bs = 15

FOR i = 1 TO Size
GET #1, i, d%: d% = d% AND &HFF
bs = bs + 1
IF bs = 16 THEN PRINT #2, : PRINT #2, ".db "; : bs = 0
IF d% > 9 THEN PRINT #2, "$";
PRINT #2, LCASE$(HEX$(d%));

IF bs <> 15 THEN PRINT #2, ",";
NEXT i
PRINT #2,

CLOSE #1
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 05:36
Рейтинг@Mail.ru


Страница сгенерированна за 0.01441 секунд с 7
ELECTRONIX ©2004-2016