|
IAR Embedded Workbench |
|
|
|
Feb 6 2008, 13:24
|
Участник

Группа: Участник
Сообщений: 49
Регистрация: 6-02-08
Пользователь №: 34 796

|
Всем доброго дня! Товарищи, помогите разобраться новичку, которому приходится начинать с абсолютного нуля. Фирма приобрела плату AT91SAM7x-EK (AT91SAM7x256) вместе с IAR-ом, но без JTAG. Поставила ужасающе маленькие сроки для изучения и программирования. Здесь на форуме я перелопатил кучу тем по получению бинарного файла в IAR-е, но все равно не получилось. Загрузил проект, котоый был поставлен вместе с платой. Скидываю на форум данный проект в rar -е. Установил в IAR-e Project->Options->Debugger-> Setup->Driver-> Simulator. Раньше стоял J-Link. В окне Workspace выбираю проект Basic Flash_Debug и компилирую. Все компилируется и запускается в симуляторе. Но bin-файла нет. А мне нужно SAM-BA -ой загрузить программу во флэшку. Выбираю Project->Options->Linker->Extra Output->Format->Output format->raw binary. При этом добавляется лишь файл Basic.а79. В Extra options пробовал вставить команду -Oraw-binary,(CODE)=.bin или -Ompds-code,(CODE)=.bin При этом bin-файл создавался, но какой-то левый, с таким содержанием, коглда я его просматриваю в IAR-е: tàŸåty ` I?" ` I b�nÉüÕ IÁb�nIüÕ�n üÕ ! c�n üÕ k " C c�n ü H I ` à !AC J KSP@ ¬(÷Û H I ` ¼à hTh h
Что у меня в проекте не так? Как сделать bin-файл? Знаю, что тут на форуме уже не раз обсуждалась эта тема, но мне как новичку еще много не понятно в ваших объяснениях. Следовал некоторым советам на форуме, и пересмотрел кучу PDF в Helpe, но все равно не получилось. Пожалуйста, помогите!!! И еще... В окне Workspace есть Basic RAM_Debug для, как я понимаю, отладки с помощью JTAG в ОЗУ платы, а для чего проект Basic - bin? Буду очень признателен, если кто-нибудь скинет свой простенький проект, где бы мигали диоды, для AT91SAM7x-EK (AT91SAM7x256) с bin-файлом.
Сообщение отредактировал Limp - Feb 6 2008, 13:42
|
|
|
|
|
 |
Ответов
|
Feb 12 2008, 12:12
|
Участник

Группа: Участник
Сообщений: 49
Регистрация: 6-02-08
Пользователь №: 34 796

|
Всем доброго дня! Спасибо всем кто отозвался на мою беду! То, что нельзя просмотреть bin-файл в IRE-теперь понятно, я думал, что он должен просматриваться как и hex. Но.... Что-то я делаю не так.... Давайте разберем мой пример. Вот ссылка проекта который я хочу откомпилировать и получить bin-файл, чтобы потом с помощью SAM-BA загрузить плату AT91SAM7x-EK (AT91SAM7x256). http://sam7-ex256.narod.ru/start.htmlВот мои действия: 1.Открыл проект prsam.eww. При этом выводятся два сообщения: 1.1 "Broken options were detected in the project fale. A backup copy will made (See log window for detalis) OK 1.2 The project 'sam ' contains the unkhow tool 'LMIFTDI' OK (Хм... Что бы все это значило?) Но все же загрузился. 2 Теперь для меня загадка. В окне Workspace выбрать Debug или Release? Выбираю Release. 3 Произвожу настройку IAR. Project->Options->General Options->Target->->Device - Atmel AT91SAM7X256 Project->Options->Linker->Extra Output->Format->Output format->raw binary Ставлю галочку Override default и переименовываю .а79 в bin. Project->Options->Linker->Linker -> Config -> Override default -> at91SAM7X256_NoRemap.xcl ($PROJ_DIR$\xcl\at91SAM7X256_NoRemap.xcl) Вроде все... Компилирую. В проекте появляется sam.bin Запускаю SAM-BA. Связь по USB. В SAM-BA выбираю Flash. Выбираю sam.bin и заливаю с адреса 0х100000. Читаю Flash c с адреса 0х100000 и что-то не очень мне это нравится..... по адресу 0х100000 - 0хЕ59FF018, дальше 0х0 до 0х100020 - 0х00000094 снова нули и т.д. Но все равно запускаю на выполнение: go 0x100000. Хм... Дудки.. Должны мигать диоды. Господи, ну что не так?
|
|
|
|
|
Feb 12 2008, 13:19
|

Профессионал
    
Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555

|
Цитата(Limp @ Feb 12 2008, 15:12)  1.2 The project 'sam ' contains the unkhow tool 'LMIFTDI' OK (Хм... Что бы все это значило?) Но все же загрузился. Судя по всему у вас старая версия IAR и она не знает отладчика LMFTDI это не страшно - LMFTDI все равно поддерживает только CORTEX-M3 Цитата(Limp @ Feb 12 2008, 15:12)  Но все равно запускаю на выполнение: go 0x100000. Хм... Дудки.. Должны мигать диоды. Господи, ну что не так? А запускать надо с 0. Проект скомпилирован так что должен запускаться из флеша отмапленного на 0 (если хотите что бы и с 0x100000 запускалось надо поправить вектора прерываний что бы они использовали относительные переходы только)
|
|
|
|
|
Feb 12 2008, 13:41
|
Участник

Группа: Участник
Сообщений: 49
Регистрация: 6-02-08
Пользователь №: 34 796

|
Цитата(KRS @ Feb 12 2008, 16:19)  Судя по всему у вас старая версия IAR и она не знает отладчика LMFTDI это не страшно - LMFTDI все равно поддерживает только CORTEX-M3 А запускать надо с 0. Проект скомпилирован так что должен запускаться из флеша отмапленного на 0 (если хотите что бы и с 0x100000 запускалось надо поправить вектора прерываний что бы они использовали относительные переходы только) Пробовал. Не запускается с 0. Все таки большое подозрение у меня, что бинарник не правильно компилируется. А то, что проект должен запускаться из флеша отмапленного на 0, указано в xcl-файле?
|
|
|
|
|
Feb 12 2008, 14:00
|
Участник

Группа: Участник
Сообщений: 49
Регистрация: 6-02-08
Пользователь №: 34 796

|
Цитата(KRS @ Feb 12 2008, 16:54)  да в xcl файле сегмент INTVEC с 0 начинается, а т.к. в проекте используется стандартный IARовский стартап то там абсолютные переходы обычно.( ldr pc,[pc,#24])
А вы пробовали запустить проект в IARовском симуляторе? Ну вообщето пробовал. Но четко еще не представляю правильно ли я делаю. Я полагаю, нужно скомпилировать проект Debug. При опции Debug->Simulator. И нажать кнопочку Debug. Трассировать не пробовал. Мне очень необходимо научиться получать бинарник и правильно загружать в плату.
|
|
|
|
|
Feb 12 2008, 14:08
|

Профессионал
    
Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555

|
Цитата(Limp @ Feb 12 2008, 17:00)  Ну вообщето пробовал. Но четко еще не представляю правильно ли я делаю. Я полагаю, нужно скомпилировать проект Debug. При опции Debug->Simulator. И нажать кнопочку Debug. Да достаточно просто поставить Debug->Simulator пересобирать не надо это только на дебагер влияет. А еще лучше создать конфигурацию для отладки в симуляторе. Цитата(Limp @ Feb 12 2008, 17:00)  Трассировать не пробовал. Мне очень необходимо научиться получать бинарник и правильно загружать в плату. Ну бинарник у вас уже олучается. И самба его прошивает. Раз у вас нет отладчика, можно хотя бы в симуляторе посмотреть что происходит.
|
|
|
|
|
Feb 13 2008, 05:50
|
Участник

Группа: Участник
Сообщений: 49
Регистрация: 6-02-08
Пользователь №: 34 796

|
Цитата(KRS @ Feb 12 2008, 17:08)  Да достаточно просто поставить Debug->Simulator пересобирать не надо это только на дебагер влияет. А еще лучше создать конфигурацию для отладки в симуляторе. Ну бинарник у вас уже олучается. И самба его прошивает.
Раз у вас нет отладчика, можно хотя бы в симуляторе посмотреть что происходит. Да, SAM-BA прошивает. Я где-то скачал бинарник (без проекта) и загрузил. Заработало, диоды замигали. Но вот со своим проектом, споткнулся. Не хочет работать, хоть убей. Не могу понять в чем причина. Хотелось бы узнать, что собой представляет конфигурация для отладки в симуляторе и как ее сделать? Пока что я во многом с IAR некопенгаген.
|
|
|
|
|
Feb 13 2008, 08:14
|

Профессионал
    
Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555

|
Цитата(Limp @ Feb 13 2008, 08:50)  Хотелось бы узнать, что собой представляет конфигурация для отладки в симуляторе и как ее сделать? Project->Edit Configurations... там можно создать новую. (на основе имеющейся или стандартной) Вообще есть документ Help->Arm Embedded Workbench User Guide Да и контекстный Help по F1 тоже работает.
|
|
|
|
|
Feb 13 2008, 09:22
|
Участник

Группа: Участник
Сообщений: 49
Регистрация: 6-02-08
Пользователь №: 34 796

|
Цитата(KRS @ Feb 13 2008, 11:14)  Project->Edit Configurations... там можно создать новую. (на основе имеющейся или стандартной) Вообще есть документ Help->Arm Embedded Workbench User Guide Да и контекстный Help по F1 тоже работает. Project->Edit Configurations... Да, вспомнил. Пока еще мысли разъежаются по всему IAR-у Спасибо что напомнили. Сейчас только и лопатю Arm Embedded Workbench User Guide. Зараза на английском. Цитата(Сергей Борщ @ Feb 13 2008, 11:42)  Как сделать писал вот тут. В Project -> Options -> Debugger укажите симулятор. Читал ваше описание. Неоднократно. Спасибо. Как раз и пользовался вашими наставлениями при настройке IAR-a. Вообще-то по минимуму с настройкой я разобрался. Уже создавал бинарник из HEX c помощью НЕХ2BIN. Результат 0. Ну не может быть в бинарном файле после загрузки в FLASH между адресами 0х100000 и 0х100020 сплошные нули!
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|