|
getting started with SAM7-P64 |
|
|
|
Mar 3 2015, 21:10
|
Участник

Группа: Участник
Сообщений: 53
Регистрация: 26-07-11
Пользователь №: 66 426

|
Здравствуйте, есть плата от Olimex sam7-p64, есть лицензионный IAR 6.30 (покупался для других плат тоже на базе AT91SAM7 года 2.5-3 назад), к этой плате я так понимаю он тоже подойдёт, тыкаюсь на оф.сайт этой платы - там есть примеры кода ( https://www.olimex.com/Products/ARM/Atmel/SAM7-P64/ ) справа, раздел SOFTWARE, весь код хоть и под IAR - ничего не собирается, ошибки типа >>RSEG INTRAMSTART_REMAP Error[40]: Bad instruction D:\IAR\SAM7-P64-blinking-LED\AT91SAM7S-Basic\compil\SrcIAR\Cstartup.s79 34 >> org 0 Error[0]: Invalid syntax D:\IAR\SAM7-P64-blinking-LED\AT91SAM7S-Basic\compil\SrcIAR\Cstartup.s79 152 поэтому три вопроса: 1) что не так в коде с официальных страниц? 2) какова цель ассемблера в этих исходниках, я так понимаю - файлы типа board.h, а уж тем более асм-код., которые в проекте по хорошему должны быть внутри IAR и сами инклудится при выборе чипа, почему в IAR нет подобного набора хидеров и асм? 3) вопрос на будущее, если плату прошить по usb, скажем в hid-устройство, я так понимаю она впердь не будет определяться как at91-устройство и перепрограммировать не удастся? (со старыми платами я работал через JTAG-ICE и меня этот вопрос не интересовал) Благодарю за ответы
Сообщение отредактировал abit - Mar 3 2015, 21:17
|
|
|
|
|
 |
Ответов
(1 - 5)
|
Mar 3 2015, 21:42
|
Гуру
     
Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448

|
Цитата(abit @ Mar 4 2015, 00:10)  1) что не так в коде с официальных страниц? Наверное, он предназначен для какой-нибудь древней версии IAR. Лучше посмотрите содержимое \examples в вашем IAR'е, там должно быть полно примеров для SAM. Цитата(abit @ Mar 4 2015, 00:10)  2) какова цель ассемблера в этих исходниках, я так понимаю - файлы типа board.h, а уж тем более асм-код., которые в проекте по хорошему должны быть внутри IAR и сами инклудится при выборе чипа, почему в IAR нет подобного набора хидеров и асм? На ассемблере написан стартап, содержащий вектора прерываний и инициализацию стеков. Его каждый волен писать на свой вкус. Цитата(abit @ Mar 4 2015, 00:10)  3) вопрос на будущее, если плату прошить по usb, скажем в hid-устройство, я так понимаю она впердь не будет определяться как at91-устройство и перепрограммировать не удастся? (со старыми платами я работал через JTAG-ICE и меня этот вопрос не интересовал) Можно будет восстановить оригинальный загрузчик путем некоторых манипуляций с пинами. Процедура не очень удобная, но она есть.
|
|
|
|
|
Mar 3 2015, 22:34
|
Участник

Группа: Участник
Сообщений: 53
Регистрация: 26-07-11
Пользователь №: 66 426

|
aaarrrПриветствую! немного оффтопа: Помню однажды Вы мне сильно помогли, когда мне впервые только вручили плату на ARM7, до сих пор помню ту историю ( http://electronix.ru/forum/index.php?showtopic=94496 ), сильно благодарен но я, знаете многое позабыл с тех времён, но C++ то я знаю получше Си и когда в example от IAR пишут iprintf/iscanf или #include "Board.h" под видом кода на С++ мандраж хватает, поэтому я сделал вывод, что писали либо безграмотные люди эти примеры, либо в IAR нет C++, примеры на Си не стал открывать по той же причине, решив, что лучше возьму готовый код с оффициального сайта своей платы, знаете я беру хидеры например к плате ICP-DAS STEP 200, которая вообще для ISA слота, когда вы вообще думаете ISA-слоты были и сколько лет этой плате? и они успешно компилируются и в gcc и в fpc современном под современной ОС, причины 2 - 1)обратная совместимость компиляторов и ОС, 2) все функции, что описаны в хидерах описательны, никаких асм-кодов, вся реализация функций для конкретной ОС лежит в компиляторе, в котором она компилируется если же проблема в стартапе, то ладно, я уже туповат, буду ковыряться, насчёт пинов я вроде бы сейчас разобрался, там действительно есть перемчыки, одна из них TEST, которую надо замкнуть на 10 секунд, потом выключить плату и перемычку разомкнуть, как-то странно выглядит инструкция, но я просто боюсь угробить бутлоадер, чтобы потом SAM-BA плату внезапно не признавала (раньше не боялся, так как через JTAG программировал)
Сообщение отредактировал abit - Mar 3 2015, 22:45
|
|
|
|
|
Mar 4 2015, 05:52
|
Гуру
     
Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454

|
Цитата пишут iprintf/iscanf или #include "Board.h" под видом кода на С++ мандраж хватает, просто интересно, как выглядит код под видом С и как он отличается от кода под видом С++ в желез часто мешанина, потому что начинали когда плюсов не было, а сейчас они все активно отжимают под себя популярность. Потому коды часто вперемешку, но зачем этого боятся? стартапы очень часто на ассемблере, потому что минимум того, что именно надо.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|