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

 
 
> Keil и HEX->BIN
PrSt
сообщение May 5 2006, 09:22
Сообщение #1


http://uschema.com
****

Группа: Свой
Сообщений: 708
Регистрация: 16-02-06
Из: UK(Ukrainian_Kingdom) Kharkov
Пользователь №: 14 394



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

Сообщение отредактировал PrSt - May 5 2006, 09:23


--------------------
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Sot
сообщение May 5 2006, 12:17
Сообщение #2





Группа: Новичок
Сообщений: 13
Регистрация: 22-09-04
Пользователь №: 696



Таким конвертором пробовали?
Прикрепленные файлы
Прикрепленный файл  hex2bin.zip ( 25.16 килобайт ) Кол-во скачиваний: 230
 
Go to the top of the page
 
+Quote Post
PrSt
сообщение May 15 2006, 05:41
Сообщение #3


http://uschema.com
****

Группа: Свой
Сообщений: 708
Регистрация: 16-02-06
Из: UK(Ukrainian_Kingdom) Kharkov
Пользователь №: 14 394



Цитата(Sot @ May 5 2006, 15:17) *
Таким конвертором пробовали?

биг сенк!
этот конвертор сделал вроде правильный бинарик,
ну по крайней мере по размеру похож...
попробую зашить...


--------------------
Go to the top of the page
 
+Quote Post
MiklPolikov
сообщение Jun 5 2008, 22:03
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 2 015
Регистрация: 23-01-07
Из: Москва
Пользователь №: 24 702



Доброй ночи !
Та же проблема и ничего не получается.
*.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 - Jun 5 2008, 22:15


--------------------
Если у Вас нет практического опыта в данной теме- не вступайте в дискуссию и не пишите никаких теоретических рассуждений! Заранее спасибо !
Go to the top of the page
 
+Quote Post
HARMHARM
сообщение Jun 6 2008, 19:23
Сообщение #5


читатель даташитов
****

Группа: Свой
Сообщений: 853
Регистрация: 5-11-06
Из: Днепропетровск
Пользователь №: 21 999



Цитата(MiklPolikov @ Jun 6 2008, 01:03) *
Доброй ночи !
Та же проблема и ничего не получается.
*.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
Go to the top of the page
 
+Quote Post
yagorik
сообщение Feb 8 2012, 14:17
Сообщение #6





Группа: Новичок
Сообщений: 7
Регистрация: 26-12-11
Пользователь №: 69 100



Цитата(HARMHARM @ Jun 6 2008, 22:23) *
Я пользуюсь 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

Не проконсультируете по Srecord. Мне нужно подсчитать СRC16 hex-файла к примеру от нуля до адреса DDFD(включительно) и записать контрольную сумму по адресу DDFE. Какой должна быть строка вызова Srecord. И чем будут отличаться строки для вызова CRC16 CCITT и XMODEM?
Go to the top of the page
 
+Quote Post
scifi
сообщение Feb 9 2012, 08:29
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Цитата(yagorik @ Feb 8 2012, 18:17) *
Не проконсультируете по Srecord. Мне нужно подсчитать СRC16 hex-файла к примеру от нуля до адреса DDFD(включительно) и записать контрольную сумму по адресу DDFE. Какой должна быть строка вызова Srecord. И чем будут отличаться строки для вызова CRC16 CCITT и XMODEM?

Пожалуйста:
Код
srec_cat input.hex -i -f 0xFF 0 0xDDFE -lecrc16 0xDDFE -ccitt -o output.hex -i

Возможны варианты: -lecrc16 вставляет little endian CRC, а -becrc16 вставляет big endian CRC; -ccitt можно заменить на -xmodem.
Вообще-то там есть руководство. Но программа настолько универсальная, что руководство несколько сложное для новичков.
Go to the top of the page
 
+Quote Post
yagorik
сообщение Feb 9 2012, 12:18
Сообщение #8





Группа: Новичок
Сообщений: 7
Регистрация: 26-12-11
Пользователь №: 69 100



Цитата(scifi @ Feb 9 2012, 11:29) *
Пожалуйста:
Код
srec_cat input.hex -i -f 0xFF 0 0xDDFE -lecrc16 0xDDFE -ccitt -o output.hex -i

Возможны варианты: -lecrc16 вставляет little endian CRC, а -becrc16 вставляет big endian CRC; -ccitt можно заменить на -xmodem.
Вообще-то там есть руководство. Но программа настолько универсальная, что руководство несколько сложное для новичков.

Выдаёт вот что:
Код
srec_cat: input.hex: 4097: contradictory 0000DDFE value (previous = 31, this one = FF)

в приложенном файле hex

Сообщение отредактировал yagorik - Feb 9 2012, 12:20
Прикрепленные файлы
Прикрепленный файл  input.txt ( 180.01 килобайт ) Кол-во скачиваний: 27
 
Go to the top of the page
 
+Quote Post
MiklPolikov
сообщение Mar 1 2012, 04:45
Сообщение #9


Гуру
******

Группа: Свой
Сообщений: 2 015
Регистрация: 23-01-07
Из: Москва
Пользователь №: 24 702



Много лет назад получалось, а сейчас не могу вспомнить как.

Подскажите, что я делаю не так :


0)Микроконтроллер AT91SAM7S64, кварц 18.432МГц
1)Подтягиваю ногу TST к питанию
2)Включаю питание микроконтроллера
3)Снимаю низкий уровень с reset (запускаю микроконтроллер)
4)Снимаю высокий уровень с TST
5)Втыкаю разъём в USB - и Windows находит USB devise USB\VID_03EB&PID_6124\5&20B1BB6F&0&2

6)Установил драйвер SAM-BA_CDC.zip взятый вот с этой страницы http://www.atmel.com/tools/SAM7S-EK.aspx . Хотя нам написано что он для Vista , а у меня XP
В списке устройств появился AT91 USB to serial converter COM4

7)Запускаю SAB-BA , появляется маленькое окошко в котром я выбираю COM4 и AT91SAM7S64
Жму Connect, окошко исчезает и больше ничего не происходит.
8)Если повторить п7) ещё раз, вылезет ошибка Error in Startup Scriph
Эскизы прикрепленных изображений
Прикрепленное изображение
 


--------------------
Если у Вас нет практического опыта в данной теме- не вступайте в дискуссию и не пишите никаких теоретических рассуждений! Заранее спасибо !
Go to the top of the page
 
+Quote Post
DmitryM
сообщение Mar 1 2012, 06:01
Сообщение #10


Знающий
****

Группа: Свой
Сообщений: 583
Регистрация: 7-06-06
Из: Таганрог
Пользователь №: 17 840



Цитата(MiklPolikov @ Mar 1 2012, 07:45) *
7)Запускаю SAB-BA , появляется маленькое окошко в котром я выбираю COM4 и AT91SAM7S64
Жму Connect, окошко исчезает и больше ничего не происходит.
8)Если повторить п7) ещё раз, вылезет ошибка Error in Startup Scriph

Драйвера идут в составе Sam-Ba, для версий Sam-Ba они свои, например, Sam-Ba 2.11 использует стандартный usbser.sys. Посмотрите папку в которой установлена Sam-Ba, там будут и драйвера.
Go to the top of the page
 
+Quote Post
MiklPolikov
сообщение Mar 1 2012, 13:34
Сообщение #11


Гуру
******

Группа: Свой
Сообщений: 2 015
Регистрация: 23-01-07
Из: Москва
Пользователь №: 24 702



Цитата(DmitryM @ Mar 1 2012, 09:01) *
Драйвера идут в составе Sam-Ba, для версий Sam-Ba они свои, например, Sam-Ba 2.11 использует стандартный usbser.sys. Посмотрите папку в которой установлена Sam-Ba, там будут и драйвера.


Установил драйвер из папки SAM-BA.
Теперь та же ошибка вылезает с первого раза и сразу.
Проверил на своей плата, и на демо плате LDM-SAM7S128 , результат один.

Кто-нибудь знает в чём ошибка?


--------------------
Если у Вас нет практического опыта в данной теме- не вступайте в дискуссию и не пишите никаких теоретических рассуждений! Заранее спасибо !
Go to the top of the page
 
+Quote Post
MiklPolikov
сообщение Mar 1 2012, 14:57
Сообщение #12


Гуру
******

Группа: Свой
Сообщений: 2 015
Регистрация: 23-01-07
Из: Москва
Пользователь №: 24 702





О чудо ! У меня получилось ! Сейчас составлю подробную инструкцию от начала и до конца, и выложу здесь.


--------------------
Если у Вас нет практического опыта в данной теме- не вступайте в дискуссию и не пишите никаких теоретических рассуждений! Заранее спасибо !
Go to the top of the page
 
+Quote Post
MiklPolikov
сообщение Mar 1 2012, 22:41
Сообщение #13


Гуру
******

Группа: Свой
Сообщений: 2 015
Регистрация: 23-01-07
Из: Москва
Пользователь №: 24 702



Сколько не искал, ни где не нашёл полной инструкции по прошивке через SAM-BA , от и до.
Поэтому пишу подробно здесь. Думаю кому-нибудь будет полезно.

Делал на компьютере в windows XP и на ноутбуке в windows 7. Действия везде одинаковые, и ошибки при неправельных действиях то
же одинаковые.

1) Что есть :
1.1 Keil
1.2 Плата с таким функционалом:
At91SAM7S64
Кварц 18.432МГц(с другим работать не будет)
RC ячейчка на ноге PLL , такая же как в документации на отладочную плату LDM-SAM7S(без неё работать не будет)
USB pull-up резистор подключен к +питания (хотя в документации на процессор сказано, что должен быть подключен к PA16)
Джамперы на ногах ERASE , TST , которми можно подтянуть ноги к +питания

2) Генерация файла BIN
В KEIL в опциях проекта вкладка User , строка Run User Program After Build , Run #1 пишу
C:\Keil\ARM\BIN40\fromelf.exe --bin -o "keil2.bin" "keil2.axf"
кде keil2 - название проекта, соответственно keil2.axf название файла, котрый после компиляции
появляется в папке проекта и из которого fromelf.exe делает keil2.bin
Левее строчки нужно почтавить галочку.

3) Установка SAM_BA
Взял SAM-BA 2.11 for Windows с сайта Атмела http://www.atmel.com/tools/SAM7S-EK.aspx

4) Запуск загрузчика в процессоре
Включаю питание процессора
Жду >10c
Замыкаю джампер ERASE
Жду >10c
Размыкаю джампер ERASE
Жду>10c
Отключаю питание
жду >10c
Включаю питание
Жду>10c
Замыкаю джампер TST
Жду >10c
Размыкаю джампер TST
Жду >10c
Отключаю питание
жду >10c
Включаю питание
Жду>10c
Втыкаю разъём в USB . Компьютер находит новое устройство.

5) Установка драйвера
Драйвер нужно выбрать вручную. Он в той папке, куда установился SAM-BA
C:\Program Files\ATMEL Corporation\sam-ba_2.11\drv

6)Програмирование
6.1 Повторяю действия П4) . Их нужно повторить перед каждым новым запуском SAM-BA, даже если устройсто есть в списке устройств и как
будто работает.
(как правило достаточно только сбросить питание и передёрнуть USB разъём)
У меня на компьютере работает только если подключать к usb контроллеру, а если к тем usb разъёмам что на материнской плате
то нет.
6.2 Жму CTRL+ALT+DEL
В диспетчере задач ищу sam-ba.exe . Если нахожу- закрываю.
Почему-то sam-ba.exe иногда остаётся в списке задач после предыдущего программирования и закрытия.
И если она там осталась, новая попытка программирование не удастся. При нажатии connect вылезет ошибка Error in Startup Scriph
Наблюдаю это и в XP на компьютере и в 7 на ноутбуке.
6.3 Запускаю SAM-BA
В появившемся маленьком окне выбираю AT91SAM7S64 , USBserial/com и жму connect
6.4 В открывшемся большом окне, в двух одинаковых местах указываю
Adress 0x100000
Size 0x10000
Левее кнопки Sent file выбираю свой бинарник, и жму Sent file .
6.5 Во время прошивки вылезает два сообщения, в обеих жму ОК
После прошивки жму Compare send file with memory
Если сообщений об ошибке не вылезло-прошивка удалась.


--------------------
Если у Вас нет практического опыта в данной теме- не вступайте в дискуссию и не пишите никаких теоретических рассуждений! Заранее спасибо !
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- PrSt   Keil и HEX->BIN   May 5 2006, 09:22
- - VAI   http://www.keil.com/support/docs/274.htm может это...   May 5 2006, 11:48
|- - PrSt   Цитата(VAI @ May 5 2006, 13:48) http://ww...   May 5 2006, 12:19
|- - aaarrr   Цитата(MiklPolikov @ Mar 2 2012, 02:41) 4...   Mar 1 2012, 23:43
|- - MiklPolikov   Цитата(aaarrr @ Mar 2 2012, 02:43) Что-то...   Mar 2 2012, 11:34
- - sensor_ua   А у Вас hex или что-то типа hex-386? А то с C8051F...   May 5 2006, 13:23
|- - PrSt   Цитата(sensor_ua @ May 5 2006, 15:23) А у...   May 5 2006, 13:31
- - sensor_ua   В опциях проекта - опциях линкера - выходной форма...   May 5 2006, 15:13
- - DeadMoroz   В пакете KEIL имеется утилита fromelf.exe. Я испол...   May 6 2006, 07:10
- - vvs157   Цитата(PrSt @ May 5 2006, 13:22) пробовал...   May 6 2006, 08:22
- - uriy   Для AT91SAM7S64 я пользуюсь методом DeadMoroz насч...   Jun 6 2008, 04:01
- - lock   Искать по ветке где-то уже писал, думаю разберешьс...   Jun 11 2008, 02:51
- - toweroff   Лучше, наверное, в эту тему После комеиляции разм...   Jul 31 2011, 18:28
|- - KnightIgor   Цитата(toweroff @ Jul 31 2011, 19:28) Пос...   Feb 9 2012, 08:10
- - aaarrr   map приложите.   Jul 31 2011, 18:49
|- - toweroff   Цитата(aaarrr @ Jul 31 2011, 22:49) map п...   Jul 31 2011, 19:14
- - esaulenka   На правах рекламы - вызов SRecord для подсчёта кон...   Feb 8 2012, 14:47


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

 


RSS Текстовая версия Сейчас: 21st July 2025 - 01:59
Рейтинг@Mail.ru


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