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

 
 
> 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
Ответов (1 - 5)
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
aaarrr
сообщение Mar 3 2015, 22:48
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



TEST надо замкнуть, потом включить питание, подождать 10-15 секунд, выключить питание, разомкнуть. Не беспокойтесь, угробить совсем bootloader нельзя: он прошит в ROM.
Go to the top of the page
 
+Quote Post
Golikov A.
сообщение Mar 4 2015, 05:52
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



Цитата
пишут iprintf/iscanf или #include "Board.h" под видом кода на С++ мандраж хватает,

просто интересно, как выглядит код под видом С и как он отличается от кода под видом С++

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

стартапы очень часто на ассемблере, потому что минимум того, что именно надо.
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Mar 4 2015, 08:20
Сообщение #6


Гуру
******

Группа: Модераторы
Сообщений: 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 Текстовая версия Сейчас: 5th August 2025 - 00:14
Рейтинг@Mail.ru


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