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

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> SAM926, простые программы
TigerSHARC
сообщение Jul 29 2010, 19:45
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 688
Регистрация: 4-09-09
Пользователь №: 52 195



Может кто нибудь знает ссылку где разжёвываются простые программы (мигаем светодиодом, "Hello World") или может сам пример приведёт (простите за наглость).

Изучаю сей контроллер в IAR. Интересует работы с внешними линиями ввода-вывода. Какие заголовочники включать, как обзываются регистры при написании программы на C, и т.д.

Просто как я вижу AVRовские фишки типа:

" #include "iom16.h"
.
.
.
PORTB = 0; // регистр ножек порта
.
.
.
"
для мигания светодиодами не прокатывают.
Здаётся мне всё намного сложнее.



Сообщение отредактировал TigerSHARC - Jul 29 2010, 19:59
Go to the top of the page
 
+Quote Post
dimka76
сообщение Jul 30 2010, 03:21
Сообщение #2


developer
****

Группа: Свой
Сообщений: 902
Регистрация: 12-04-06
Из: Казань
Пользователь №: 16 032



Цитата(TigerSHARC @ Jul 29 2010, 23:45) *
Может кто нибудь знает ссылку где разжёвываются простые программы (мигаем светодиодом, "Hello World") или может сам пример приведёт (простите за наглость).

Изучаю сей контроллер в IAR. Интересует работы с внешними линиями ввода-вывода. Какие заголовочники включать, как обзываются регистры при написании программы на C, и т.д.


Так в IAR есть полно много разных примеров, там и ищите.

Цитата(TigerSHARC @ Jul 29 2010, 23:45) *
Просто как я вижу AVRовские фишки типа:

" #include "iom16.h"
.
.
.
PORTB = 0; // регистр ножек порта
.
.
.
"
для мигания светодиодами не прокатывают.
Здаётся мне всё намного сложнее.


Однозначно не прокатывают и также однозначно сложнее (чутарик wink.gif )




--------------------
Все может быть и быть все может, и лишь того не может быть-чего уж точно быть не может, хотя..и это может быть.
Go to the top of the page
 
+Quote Post
Drozd2
сообщение Jul 30 2010, 19:28
Сообщение #3


Частый гость
**

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



AVRовские фишки для моргания светодиодом прокатывают на кристаллах со встроенной flash (sam9xe...). Дальше приходится инициализировать внешнюю память. Для старта удобный проект - bootstrap, скачивается с сайта Atmel.
P.S. Упустил упоминание IAR. На том же сайте раздают копии дисков с проектами для каждого контроллера серии sam9. Среди них есть getting-started. Проект bootstrap для gcc. Тоже есть смысл посмотреть.

Сообщение отредактировал Drozd2 - Jul 30 2010, 19:36
Go to the top of the page
 
+Quote Post
TigerSHARC
сообщение Jul 31 2010, 10:43
Сообщение #4


Знающий
****

Группа: Свой
Сообщений: 688
Регистрация: 4-09-09
Пользователь №: 52 195



Спасибо за советы!
Но вот вопрос:
на плате, которая у меня SK-AT91SAM9260 (starterkit.ru) установлен линукс и при подключении питания выдаёт на терминал через COM-порт соответствующие сообщения о загрузке ОС. Так вот хочу стереть полностью весь линукс (тогда как я понимаю, на терминал ничего выдаваться не должно).
Убирал джампер загрузки с dataflash, пробовал самбой очистить DataFlash (erase all) ничего не помогает и при загрузке всё равно грузиться система.
Хочется писать standalone-приложения и Linux меня не интересует, как от него избавиться?

И ещё, все gatting started проекты созданы для фирменных плат и содержат заголовочник board.h
Где нужно "ковырять" чтобы эти примеры заработали на моей плате?

Сообщение отредактировал TigerSHARC - Jul 31 2010, 10:53
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Jul 31 2010, 11:56
Сообщение #5


Гуру
******

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



Цитата(TigerSHARC @ Jul 31 2010, 14:43) *
Убирал джампер загрузки с dataflash, пробовал самбой очистить DataFlash (erase all) ничего не помогает и при загрузке всё равно грузиться система.
Хочется писать standalone-приложения и Linux меня не интересует, как от него избавиться?

Перед стиранием перемычку назад не забыли поставить? И что сказала SAM-BA?

Цитата(TigerSHARC @ Jul 31 2010, 14:43) *
И ещё, все gatting started проекты созданы для фирменных плат и содержат заголовочник board.h
Где нужно "ковырять" чтобы эти примеры заработали на моей плате?

Примеры типа "помигать светодиодом", скорее всего, вообще не придется править. В остальных как минимум нужно будет сравнить и внести при необходимости коррективы в инициализацию памяти.
Go to the top of the page
 
+Quote Post
TigerSHARC
сообщение Aug 1 2010, 18:54
Сообщение #6


Знающий
****

Группа: Свой
Сообщений: 688
Регистрация: 4-09-09
Пользователь №: 52 195



to aaarrr - большущее спасибо.

дела обстоят так:
самба по поводу стирания флешки пишет

loading history file ... 0 events added
SAM-BA console display active (Tcl8.4.13 / Tk8.4.13)
(SAM-BA v2.10) 1 %
(SAM-BA v2.10) 1 % DATAFLASH::EraseAllDataFlash
(SAM-BA v2.10) 1 %

и всё.

теперь видим на терминале через COM-порт следующее(перемычка оставлена):

RomBOOT
>

всё! так и должно быть?

И, ещё происходит следующее
Если подключить MT-Link к плате

На терминале видно, что идёт загрузка операционной системы и запрашивается логин и пароль.

Почему так происходит? как MT-Link вллияет на загрузку?

Меня пугает сообщение

RomBOOT
>RomBOOT
>Start AT91Bootstrap...
Copy application ...

Это означает что откудато из MT-Link копируется приложение? Если да, то как этого избежать?

Сообщение отредактировал TigerSHARC - Aug 1 2010, 18:57
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Aug 1 2010, 21:09
Сообщение #7


Гуру
******

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



Цитата(TigerSHARC @ Aug 1 2010, 22:54) *
всё! так и должно быть?

Нет, перед любыми действиями с DF нужно выполнить "Enable Dataflash (SPI0 CS0)" или CS1.
Go to the top of the page
 
+Quote Post
TigerSHARC
сообщение Aug 1 2010, 21:48
Сообщение #8


Знающий
****

Группа: Свой
Сообщений: 688
Регистрация: 4-09-09
Пользователь №: 52 195



Выполнил перед очисткой DataFlash "Enable Dataflash (SPI0 CS0)" или CS1. Затем Erase All.
Вот лог:

loading history file ... 0 events added
SAM-BA console display active (Tcl8.4.13 / Tk8.4.13)
(SAM-BA v2.10) 1 %
(SAM-BA v2.10) 1 % DATAFLASH::SelectDataflash AT91C_SPI0_CS0
-I- Init SPI for DataFlash interfaces
-I- Configure SPI PIOs
-I- Enable PMC for SPI0
-I- Reset the SPI0
-I- Configure SPI in Master Mode (no CS selected)
-I- Configure SPI CS0 for DataFlash AT45
-I- Disable the RX and TX PDC transfer requests
-I- Reset all Counter register Next buffer first
-I- Enable the RX and TX PDC transfer requests
-I- End of Init_DataFlash
-I- Switch to the correct PCS of SPI0 Mode Register (Fixed Peripheral Selected)
-I- Enable the SPI0
-I- Wait for dataflash ready (bit7 of the status register)
-I- End of Select DataFlash
(SAM-BA v2.10) 1 % DATAFLASH::EraseAllDataFlash
(SAM-BA v2.10) 1 %

То же самое происходит. Думаю дело в MT-Link. Почему-то с него грузиться и всё...((

Сообщение отредактировал TigerSHARC - Aug 1 2010, 21:50
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Aug 1 2010, 22:10
Сообщение #9


Гуру
******

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



Цитата(TigerSHARC @ Aug 2 2010, 01:48) *
(SAM-BA v2.10) 1 % DATAFLASH::EraseAllDataFlash
(SAM-BA v2.10) 1 %

То же самое происходит.

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

Цитата(TigerSHARC @ Aug 2 2010, 01:48) *
Думаю дело в MT-Link. Почему-то с него грузиться и всё...((

С MT-Link ничего не грузится. Процессор просто стартует с не стертой DF.
Go to the top of the page
 
+Quote Post
TigerSHARC
сообщение Aug 6 2010, 19:45
Сообщение #10


Знающий
****

Группа: Свой
Сообщений: 688
Регистрация: 4-09-09
Пользователь №: 52 195



Почему же без MT-Link вижу что не грузиться ОС, а с MT-Link грузиться Linux....
Go to the top of the page
 
+Quote Post
TigerSHARC
сообщение Oct 21 2010, 09:14
Сообщение #11


Знающий
****

Группа: Свой
Сообщений: 688
Регистрация: 4-09-09
Пользователь №: 52 195



Цитата(Drozd2 @ Jul 30 2010, 23:28) *
AVRовские фишки для моргания светодиодом прокатывают на кристаллах со встроенной flash (sam9xe...). Дальше приходится инициализировать внешнюю память. Для старта удобный проект - bootstrap, скачивается с сайта Atmel.
P.S. Упустил упоминание IAR. На том же сайте раздают копии дисков с проектами для каждого контроллера серии sam9. Среди них есть getting-started. Проект bootstrap для gcc. Тоже есть смысл посмотреть.


Допустим bootstrap проинициализировал всю необходимую перифирию, тогда какие модули и дефайны должно содержать приложение, если нужно например посредством printf вывестив DBGU-порт строку?
Кроме того, если этот же bootstrap копирует приложение из DataFlash в SD-RAM и передаёт ему управление, то должно ли это приложение иметь модули, оносящиеся к работе с SD-RAM, если да то какие?


Сообщение отредактировал TigerSHARC - Oct 21 2010, 09:21
Go to the top of the page
 
+Quote Post
Student Pupkin
сообщение Oct 22 2010, 18:43
Сообщение #12


Местный
***

Группа: Участник
Сообщений: 328
Регистрация: 23-05-08
Пользователь №: 37 760



TigerSHARC, как там успехи у Вас? А то читаю Ваши посты - аж прям слезы наворачиваются smile.gif.
пмсм, не с того начинаете.
1. Забейте на самбу, бутсрап и убут.
2. Возмите jlink-клон + иар/кейл (что больше нравиться).
3. Напишите свою программку (мигание светодиодом или что-то в этом роде). Программка получиться маленькая - хватит 2кБ внутреннего ОЗУ для кода и 2кБ для данных. Неплохо бы попутно ознакомиться с линкером (что он делает, как составлять конфигурационный файл для него).
4. Загрузите программку по житагу. Добейтесь, чтобы светодиод мигал.
5. Самбой загрузите программку в датафлэш. Бутсрап не нужен!
Начните хотя бы с этого.
Go to the top of the page
 
+Quote Post
TigerSHARC
сообщение Oct 22 2010, 20:21
Сообщение #13


Знающий
****

Группа: Свой
Сообщений: 688
Регистрация: 4-09-09
Пользователь №: 52 195



Цитата(Student Pupkin @ Oct 22 2010, 22:43) *
TigerSHARC, как там успехи у Вас? А то читаю Ваши посты - аж прям слезы наворачиваются smile.gif.
пмсм, не с того начинаете.
1. Забейте на самбу, бутсрап и убут.
2. Возмите jlink-клон + иар/кейл (что больше нравиться).
3. Напишите свою программку (мигание светодиодом или что-то в этом роде). Программка получиться маленькая - хватит 2кБ внутреннего ОЗУ для кода и 2кБ для данных. Неплохо бы попутно ознакомиться с линкером (что он делает, как составлять конфигурационный файл для него).
4. Загрузите программку по житагу. Добейтесь, чтобы светодиод мигал.
5. Самбой загрузите программку в датафлэш. Бутсрап не нужен!
Начните хотя бы с этого.


Спасибо большое!

Протсо до недавнего времени кодил алгоритмы в Matlab, очень хотелось бы их опробовать в железе...

Просто заниматься с платой получается весьма мало по времени... в отрыве от основной работы((( а очень интересно.
IAR и J-link у меня есть.

Смотрю на пректы и русские мануалы (где всё разжовано донельзя) по PIC24 так и руки тянутся им занятся.... НО! Мы же не ищем лёгких путей!)) - см. банер ниже))

Для старта с армом полюбому нужен мануал для начинающих (чем я и хочу занятся). Просто вопросов очень много. И проблема в том что для многих опытных разработчиков некоторые вопросы кажутся само собой разумеющимися, не требующими обсуждения.
Замечу, что в интернете нету, просто НЕТ статей вроде: "быстрый старт с ARM!" "ARM первые шаги!" и пр.
есть только по ARM7 семейства LPC (который присутствует в Proteus).

P.S. Ищу человека, кто ответит на несколько прикладных вопросов в привате.

Сообщение отредактировал TigerSHARC - Oct 22 2010, 20:38
Go to the top of the page
 
+Quote Post
Student Pupkin
сообщение Oct 22 2010, 20:43
Сообщение #14


Местный
***

Группа: Участник
Сообщений: 328
Регистрация: 23-05-08
Пользователь №: 37 760



Цитата(TigerSHARC @ Oct 23 2010, 00:21) *
Просто заниматься с платой получается весьма мало по времени... в отрыве от основной работы((( а очень интересно.

Ну и что? Я армами тоже интересуюсь вне рабочее (к сожалению) время, т.к. руководство пока пересесть на них не решается. Поэтому копаюсь (время от времени, к сожалению) с LPC2468.
Плата с AT91SAM9260 у меня есть (тоже стартеркита), но к сожалению, включал ее только один раз. И в ближайшее время пока доставать ее из ящика не планировал (дело с освоением ымбединга, как оказывается, не быстрое - при неосторожности можно и штаны порвать smile.gif) Так что помочь пока делом (исходниками в смысле) не могу sad.gif . Только советами (подобное состояние "как же к этому подступиться" мне хорошо известно).
Цитата(TigerSHARC @ Oct 23 2010, 00:21) *
IAR и J-link у меня есть.

Ну вот и отлично. Обязательно почитайте про скрипты для линкера. Светодиод мигает? smile.gif
Тут Вам, кстати, совет был дан - написать свой загрузчик. По-моему, вполне уместный. Хорошая задача для тренировки. Послее нее, по крайней мере, Вам легче будет разбираться (если потребуется) в исходниках бутстрапа или убута.
Цитата(TigerSHARC @ Oct 23 2010, 00:21) *
Мы же не ищем лёгких путей!)) - см. банер ниже))

Это Вы о проекте "мануал народу"? smile.gif Бросайте это. smile.gif

Попутно хочу еще заметить - имея иар и jtag, можете пока забыть про бутсрапинг. В каталоге иара есть конкретно для атмеловских плат mac-файлы. Можно пока просто линковать программу для работы в SDRAM. В настройках проекта нужно указать соответсвующий mac-файл (возможно что-то подправить), по которому иар перед загрузкой программы будет инициализировать железо (включить клоки, настраивать внешнюю шину и т.д.). И все. Начинаете отладку. И проект бустрапа там тоже есть. Посмотрите его.

Сообщение отредактировал Student Pupkin - Oct 22 2010, 20:54
Go to the top of the page
 
+Quote Post
TigerSHARC
сообщение Oct 23 2010, 08:03
Сообщение #15


Знающий
****

Группа: Свой
Сообщений: 688
Регистрация: 4-09-09
Пользователь №: 52 195



Цитата(Student Pupkin @ Oct 23 2010, 00:43) *
Это Вы о проекте "мануал народу"? smile.gif Бросайте это. smile.gif


Нет, это я о том, что начал с неновичкового МК.... по пикам же больше инфы... а я за ARM сел)

У меня нормально грузятся bootstrap и U-boot. bootstrap я собирал под себя сам.
Можно же сразу сделать проект и просто указать U-boot откуда и куда его ложить и jump на адрес...

Мне бы узнать каие ещё файлы кроме main.c должен содержать проект в IAR (теперь понятно что mac-файл ещё)...

Большое спасибо за советы!

Сообщение отредактировал TigerSHARC - Oct 23 2010, 10:23
Go to the top of the page
 
+Quote Post

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

 


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


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