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

 
 
> getting started with SAM7-P64
abit
сообщение Mar 3 2015, 21:10
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 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
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
aaarrr
сообщение Mar 3 2015, 21:42
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 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 и меня этот вопрос не интересовал)

Можно будет восстановить оригинальный загрузчик путем некоторых манипуляций с пинами. Процедура не очень удобная, но она есть.
Go to the top of the page
 
+Quote Post
abit
сообщение Mar 3 2015, 22:34
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 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
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Mar 4 2015, 08:20
Сообщение #4


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(abit @ Mar 4 2015, 00:34) *
знаете я беру хидеры например к плате ICP-DAS STEP 200, которая вообще для ISA слота
Берите заголовочные файлы от своего примера - они тоже будут компилироваться. Вы же берете ассемблерный исходник. Ассемблер у ИАРа в какой-то момент поменялся - прогресс, однако.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 20th August 2025 - 07:38
Рейтинг@Mail.ru


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