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

Люди добрые здравствуйе.

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

вчера код программы заставил работать в Keil и сразу появилась куча вопросов и проблем.

прога компилируется, генерится HEX, но не могу теперь получить/сгенерировать бинарик чтобы зашить его в макет.

подскажите плиз, как переконвертировать выходной HEX от Keil в BIN, что бы его скормить в загрузчик SAM-BA

пробовал утитилкой HEX2BIN - безрезультатно.

подскажите плз....

Изменено пользователем PrSt

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


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

http://www.keil.com/support/docs/274.htm

может это поможет?

 

я же говорю - HEX2BIN не помогает

 

Syntax: HEX2BIN [/option] hexfile [binfile]

 

is the Intel HEX input file

is the binary file to create

 

may be any of the following

 

Note: n is a decimal number.

 

/Ln Binary file length

/Pn Pad data for binary file

/On Address offset (to add to HEX records)

/M Merge data into existing BIN file

/Q Quiet mode (no statistics are displayed)

/X Don't process ext. segment/linear address records

 

/? This help text

 

если верить хелпу то ключи не обязательно, вот например делаю (может я не так что-то понял)

 

d:\_work\MDSA_Keil>hex2bin mdsa.hex mdsa.bin

 

HEX2BIN Version 1.06

Copyright © 1995 Programix Corp.

Portions copyright © 1993-1995 BITWARE.

All rights reserved.

Status: Creating binary file.

Status: Writing 4 bytes at address 0x0000CEBC.

ERROR: Invalid record type in HEX record 1246.

Status: HEX to BIN conversion was not successful.

 

D:\_work\MDSA_K~1>

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


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

А у Вас hex или что-то типа hex-386? А то с C8051F120 при выходном коде более 64 кило hex-а мало и предлагается эта фигня - там другой формат. Приходилось писать по-быстрому конвертилку

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


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

А у Вас hex или что-то типа hex-386? А то с C8051F120 при выходном коде более 64 кило hex-а мало и предлагается эта фигня - там другой формат. Приходилось писать по-быстрому конвертилку

 

каюсь, но понятия не имею, вот и спрашиваю по этому

гдето разок встречал hex-386, нощяс найти это место в упор не могу...

 

дело втом что Keil упорно долгое время не хотел вообще компилить мой проект, в то время как под линуксов процес шел по полной программе

 

и вот я вчера таки уговорил его собрать май проект, а теперь не знаю как зашить его в AT91SAM7S256

 

Keil генерирует ELF и HEX, а вот как их запихнуть в SAM-BA - не пойму, вот и спрашиваю у Вас.

 

Дело в том что было же много тех кто работал с кейлом, они же както зашивали свои камни...

вот и надеюсь что ктото подскажет... а тут кейлистов чет и не видно...

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


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

В пакете KEIL имеется утилита fromelf.exe. Я использую ее, например так: fromelf --bin -o outfile.bin infile.axf.

 

Удачи!

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


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

Таким конвертором пробовали?

биг сенк!

этот конвертор сделал вроде правильный бинарик,

ну по крайней мере по размеру похож...

попробую зашить...

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


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

Доброй ночи !

Та же проблема и ничего не получается.

*.HEX создан KEILом

 

HEX2BIN говорит "invalid record type in HEX record 1 "

 

HEXTBCS говорит "reclen=4 errcod=9 errline=2 errmsg=Memory Area Owerlap"

 

fromelf делает *BIN из *ELF . А как *ELF в KEILе получить ?

 

Кто как делает BIN из HEX - расскажите .

 

Bin нужен для программирования AT91SAM7S по USB . Может для этого есть программа, которая hex понимает ?

 

Заранее благодарю !

Изменено пользователем MiklPolikov

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


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

Для AT91SAM7S64 я пользуюсь методом DeadMoroz насчет точности написания входных параметров подтвердить не могу, точно не помню. Но похоже на правду. В опциях проекта была вкладка PostBuild или AfterBuild, а может еще как-то по другому называлась, вот туда я и прописываю это строку. А elf в keil вроде по умолчанию получается.

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


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

Доброй ночи !

Та же проблема и ничего не получается.

*.HEX создан KEILом

 

HEX2BIN говорит "invalid record type in HEX record 1 "

 

HEXTBCS говорит "reclen=4 errcod=9 errline=2 errmsg=Memory Area Owerlap"

 

fromelf делает *BIN из *ELF . А как *ELF в KEILе получить ?

 

Кто как делает BIN из HEX - расскажите .

 

Bin нужен для программирования AT91SAM7S по USB . Может для этого есть программа, которая hex понимает ?

 

Заранее благодарю !

 

Я пользуюсь srecord. Очень мощная штука, все умеет что надо. HEX-файлы после нее едят все.

Пример скрипта для склеивания бутлоадера с приложением с вставкой CRC. При этом формируется дополнительный бинарник для шифрования (тоже с CRC).

 

C:\DEV\ARM\srec_cat.exe Application\application.hex --Intel --l-e-crc32 --max Application\application.hex --Intel --Output application.hex --Intel
C:\DEV\ARM\srec_cat.exe Bootloader\bootloader.hex --Intel --Output bootloader.hex --Intel
C:\DEV\ARM\srec_cat.exe bootloader.hex --Intel --fill 0xFF 0x0 0x5000 application.hex --Intel --Output combined.hex --Intel
C:\DEV\ARM\srec_cat.exe application.hex --Intel --offset -0x5000 --Output application.bin --Binary

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


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

Искать по ветке где-то уже писал, думаю разберешься без коментариев:

 

C:\Keil\ARM\BIN30\fromelf.exe --bin -o ".\Obj\Mouse.bin" ".\Obj\Mouse.axf"

 

На рисунке куда и что писать, удачи.

post-31001-1213152632_thumb.jpg

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


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

Лучше, наверное, в эту тему

 

После комеиляции размер кода 9056, размер BIN - 10772

Что туда еще напихалось?

 

Пользовал fromelf

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


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

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

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

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

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

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

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

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

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

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