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

 
 
3 страниц V   1 2 3 >  
Reply to this topicStart new topic
> Прыжок с AVR на ARM7
Зверюга
сообщение Feb 4 2009, 18:02
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 413
Регистрация: 15-12-06
Пользователь №: 23 563



Господа!
По опыту освоения чего-то нового знаю, стоит показать, что ты чайник и спросить - "А как мне начать" - появятся профи (действительно профи, но с самомнением) и начнется - вот тебе ссылка google.ru, вот тебе матчасть на 600 стр, и не дай бог, ты прочитаешь 599 страниц, даже не суйся сюда со своими вопросами, у нас нет времени помогать учить азбуку, читай форум, десятки раз обсуждалось."
Иногда при этом даются ссылки по теме, но когда их посещаешь - приходишь с одним вопросом, а уходишь с тремя.

Собираюсь перепрыгнуть с AVR на ARM7 и боюсь вновь оказаться в такой ситуации.
Я не прошу разжевывать мне тонкости работы с ARM7, я сам до всего дойду, мне необходимо знать минимум - необходимый минимум, чтобы хотя бы запустить контроллер и увидеть что он работает.

Прошу внимания. ПРостейшая задача - зажечь и погасить светодиод на atmega8.

Цитата
Наипростейшая программа (CodeVision):
Код
#include <mega8.h>
#include <stdio.h>
#include <delay.h>

void main()
{
DDRA=0xFF;
PORTA=0xFF;
delay_ms(1000);
PORTA=0x00;
}


Наипростейшая схема с одним светодиодом в аттаче.
Схема программатора вот http://avt.tomica.ru/~andr/Page2408/files/...iles/bbaisp.png.
Программа для прошивки Flash вот http://www.ln.com.ua/~real/avreal/bin/avw126r3.zip.



Господа, хочу то же самое, только для какого-нибудь AT91SAM7xxx.
Кому как, а у меня написать сей пост и нарыть в интернете ссылок ушло времени 8 минут.
Надеюсь обойтись без отсылания к 600 страничным мануалам, они у меня уже есть.
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Feb 4 2009, 20:38
Сообщение #2


Гуру
******

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



Цитата(Зверюга @ Feb 4 2009, 21:02) *
Господа, хочу то же самое, только для какого-нибудь AT91SAM7xxx.

Сейчас в меня кинут тухлым помидором, наверное, но...

Ссылка не на google.ru

По ссылке Вы найдете:
- 2 Quickstart Guide'а, для IAR и GCC
- Инструкцию на кит со схемой оного, из которой можно аккуратно перерисовать цепи тактирования, питания, USB, UART etc.
- Программатор AT91-ISP
- 37Mb дурнейших атмеловских примеров, вполне, впрочем, пригодных для старта
Go to the top of the page
 
+Quote Post
A. Fig Lee
сообщение Feb 4 2009, 21:55
Сообщение #3


Знающий
****

Группа: Участник
Сообщений: 974
Регистрация: 4-04-08
Из: далека
Пользователь №: 36 467



Цитата(Зверюга @ Feb 4 2009, 13:02) *
Господа!
...


токо что прошел етот путь.
Линукс - тулчейн от CodeSorcery, openocd скачал и построил из svn,
использую олимексовский jtag wiggler и их же плату на LPC2148.
Скомпилил пример оттуда же - с олимекса (линк) - "blinky".

Что пришлось править - config file для openocd.
Они только что команды поменяли.
И мейкфайл - прописал тулзы из тулчейна.

Что еще.. А - заливать во флаш можно через тот же openocd,
через
flash write_image erase main.hex
например - main.hex - имя файла для заливки.

ну у меня правда не атмел.

пока только не смог брейкпойнты поставить на флаш из gdb -
говорит - ок, а брейкпойнтов нет.
еще не разобрался.


--------------------
Верить нельзя никому, даже себе. Мне - можно.
Go to the top of the page
 
+Quote Post
Зверюга
сообщение Feb 5 2009, 05:51
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 413
Регистрация: 15-12-06
Пользователь №: 23 563



aaarrr спасибо за ссылки, схему подключения я нашел только самую наикрутейшую - evaluation board. Я плату буду разводить и напаивать компоненты 2 месяца. Схему программатора так и не нашел. Нашел описание ISP Programmera в котором вот это:
Цитата
3.2.1 AT91Boot_SAM7xxx_Send_Flash
These functions make it possible to write X bytes into the internal Flash memory of the
connected target. If some sectors are locked, they are unlocked in order to effectively
program the internal Flash memory.
Available functions are:
! AT91Boot_SAM7S32_Send_Flash (available for SAM7S32 and SAM7S321 parts)
! AT91Boot_SAM7S64_Send_Flash
! AT91Boot_SAM7S128_Send_Flash
! AT91Boot_SAM7S256_Send_Flash
! AT91Boot_SAM7S512_Send_Flash
! AT91Boot_SAM7A3_Send_Flash
! AT91Boot_SAM7X128_Send_Flash (available for SAM7X128 and SAM7XC128
parts)
! AT91Boot_SAM7X256_Send_Flash (available for SAM7X256 and SAM7XC256
parts)
! AT91Boot_SAM7X512_Send_Flash (available for SAM7X512 and SAM7XC512
parts)
! AT91Boot_SAM7SE256_Send_Flash
! AT91Boot_SAM7SE512_Send_Flash
3.2.1.1 Prerequisite Embedded Flash Controller Flash Mode Register (EFC_FMR) must be programmed
correctly prior using one of these functions.
Note: Two Embedded Flash Controllers are embedded in AT91SAM7S512, AT91SAM7X512
and AT91SAM7SE512 parts. Both EFC_FMRx registers must be programmed correctly
prior using one of these functions.
3.2.1.2 Description void AT91Boot_SAM7xxx_Send_Flash(int h_handle, int uOffset, char *bData, int uSize,
int *err_code);
Table 3-14. AT91Boot_SAM7xxx_Send_Flash
Type Name Details
Input Parameters
h_handle
Communication handle returned by AT91Boot_Open
function
uOffset Internal Flash Offset where to write 8-bit value
*bData Pointer to 8-bit data buffer to writ


ну честное слово, оно мне надо на первом этапе?
Я ж первый шаг хочу сделать, я малыш еще, а вы мне брусья предлагаете )))
Тот же самый диалог мог бы получиться, если бы я попросил дать мне материалы по AVR, однако я привел пример первого шага, рассчитываю получить это же для ARM7

Ладно, разобравшись более или менее, задам вопросы поконкретней:

1. Я так понял, что способов запрограммировать ARM7. Что посоветуете, спаять что-нибудь простое, или купить готовый полноценный девайс?

остальные вопросы задам попозже, надо бежать...
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Feb 5 2009, 07:03
Сообщение #5


Гуру
******

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



Цитата(Зверюга @ Feb 5 2009, 07:51) *
Схему программатора так и не нашел. Нашел описание ISP Programmera
Вот именно поэтому профессионалы и отсылают к мануалам на 600 страниц.


--------------------
На любой вопрос даю любой ответ
"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
Cyber_RAT
сообщение Feb 5 2009, 07:12
Сообщение #6


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

Группа: Свой
Сообщений: 162
Регистрация: 7-12-07
Из: Могилев
Пользователь №: 33 064



ну шить для начала можно через SAMBA или тот же виглер спаять.
крутейшую плату для мигания можно не делать - возмите с сайта Olimex-а простую - там только питание и сам проц разведен (можете еще rs232 прицепить и USB)
Go to the top of the page
 
+Quote Post
backa
сообщение Feb 5 2009, 07:51
Сообщение #7


Местный
***

Группа: Свой
Сообщений: 313
Регистрация: 15-06-05
Из: Минск
Пользователь №: 6 028



скажу поподробнее про SAMBA - ибо сам тоже разбирался когда-то сам
SAMBA - это встроенный загрузчик (почти как в AVR smile.gif ) - что-бы залить "прошивку" надо просто подключить проц SAMxxx к компу через USB шнурок (до этого должна быть установлена прога с сайта одноименная и "активирован" загрузчик в кристалле) и всё . После прошивки загрузчик более не работает (для восстановления активности надо провести манипуляции с перемычкой на платке с процом - очень не удобно laughing.gif )
Посему лучше юзать Jtag отладчик\программер - для чего надо предусмотреть подключение к процу.
Крайне не рекомендовал юзать Wiggler - мало того что будут возникать вопросы по освоению проца , дык плюс к этотому постоянные глюки с этим "отладчиком"
Рекомендую или сделать самому(прост до безобразия) или купить (около 50$у нас) MT-Link.
прикрепляю оба -Вам выбирать
А вооще у меня порядка 1G подборка док и исходников по ARM
Я брал для примера распайку для макетки сам MT-Link.
Всё фурычит только в путь...
Удачи нам всем в таких начинаниях в такое неспокойное время wink.gif
Прикрепленные файлы
Прикрепленный файл  pack.zip ( 229.52 килобайт ) Кол-во скачиваний: 272
 
Go to the top of the page
 
+Quote Post
Зверюга
сообщение Feb 5 2009, 09:16
Сообщение #8


Местный
***

Группа: Свой
Сообщений: 413
Регистрация: 15-12-06
Пользователь №: 23 563



В архивичке в папке MT-LINK есть схема, программатора, которая включает в себя контроллер ARM7. Это как понять?
Или же это та самая минимальная схема для диода, а обвязка к нему и сеть программатор?

То есть, есля я правильно понял, в AVR достаточно было передернуть Reset и контроллер переходил в режим программирования, после чего сам запускался. Здесь же нужно активировать загрузчик, загрузить прошивку, после чего загрузчик автоматически выключается. Я правильно понял?
Если делать через MT-Link то такого неудобстава не будет?
Go to the top of the page
 
+Quote Post
backa
сообщение Feb 5 2009, 09:17
Сообщение #9


Местный
***

Группа: Свой
Сообщений: 313
Регистрация: 15-06-05
Из: Минск
Пользователь №: 6 028



это схема самого программатора - её же можно смело брать за типовую минимальную схему включения SAM7x64
Вы абсолютно правильно меня поняли :-))
Go to the top of the page
 
+Quote Post
Зверюга
сообщение Feb 5 2009, 09:40
Сообщение #10


Местный
***

Группа: Свой
Сообщений: 413
Регистрация: 15-12-06
Пользователь №: 23 563



А вот нашел Olimexовскую платку
http://olimex.com/dev/images/ARM/ATMEL/SAM7-Hxxx-sch-C1.gif
Там и JTAG и USB.
Можно напрямую подключать к компу через USB? Тогда будет байда с актвивацией загрузчика.
А если через MT-Link, тогда к разъему JTAG, я правильно понял?

Что-то дорогие эти MTLink. В основном баксов 100 в efind.

Если я сделаю минималку, как вы вышеуказанной OLIMEX плате, разве нельзя будет программировать через USB?

Хитрые манипуляции с перемычкой это оно ?
Цитата
Power down the SAM7S-EK
Close the Jumper JP5 named TST
Power up the SAM7S-EK
Wait 10s
Power down the SAM7S-EK
Remove the Jumper JP5 named TST
Power up the SAM7S-EK



Цитата
быть установлена прога с сайта одноименная


Я качнул с АТМЕЛА прогу SAM-BA - там предлагается COM-порт. А как же USB?
Go to the top of the page
 
+Quote Post
backa
сообщение Feb 5 2009, 09:46
Сообщение #11


Местный
***

Группа: Свой
Сообщений: 313
Регистрация: 15-06-05
Из: Минск
Пользователь №: 6 028



Да для этого я и говорил про MT-Link - через него "шьётся" программа и выполняется отладка....
Тоже самое и в AVR - если Вы знаете их rolleyes.gif
Go to the top of the page
 
+Quote Post
Зверюга
сообщение Feb 5 2009, 09:59
Сообщение #12


Местный
***

Группа: Свой
Сообщений: 413
Регистрация: 15-12-06
Пользователь №: 23 563



Так же как в AVR - контроллер работает, жмешь в программе кнопку PROGRAM, контроллер ресетится шьется и не вынимая кабеля вновь запускается с зашитой программой, правильно? Больше никакого шаманства?
Так можно только через JTag? Все остальное геморройно? Я правильно понял?

Хорошо, собрал я предложенную Вами MT-LINK, есть фалик firmarmRev5314c.bin.txt - его через USB заливать чтобы контроллер заработал? Я правильно понял?
Какой программой? Повторю - я скачал с АТМЕЛА SAM-BA 2.8 - в нем источник только COM порт.
Есть еще SAM PROG 2.4 - там вообще порт не выбирается.

И почему, когда прошивку льешь через USB шнурок загрузчик перестает работать? В этом есть какой-то глубокий смысл, раз приходится городить JTAG программаторы.
Go to the top of the page
 
+Quote Post
backa
сообщение Feb 5 2009, 10:10
Сообщение #13


Местный
***

Группа: Свой
Сообщений: 313
Регистрация: 15-06-05
Из: Минск
Пользователь №: 6 028



Хитрые манипуляции с перемычкой это оно ? да
Я качнул с АТМЕЛА прогу SAM-BA - там предлагается COM-порт. А как же USB? он появиться когда вы подключите правильно спаянную макетку

при подключении чистого кристалла всё должно определиться и появиться USB в меню - вот через него и лейте - выставите правильно все перемычки(почитайте про них на гав.ру)
и после заливки прошивки получите MT-link
Go to the top of the page
 
+Quote Post
Зверюга
сообщение Feb 5 2009, 10:17
Сообщение #14


Местный
***

Группа: Свой
Сообщений: 413
Регистрация: 15-12-06
Пользователь №: 23 563



Простите, но не разглядел на схеме MT-LINK, откуда берется напряжение 1.8V для VDDCORE..
Go to the top of the page
 
+Quote Post
Mik174
сообщение Feb 5 2009, 10:30
Сообщение #15


Местный
***

Группа: Свой
Сообщений: 357
Регистрация: 6-01-07
Пользователь №: 24 139



Цитата(Зверюга @ Feb 5 2009, 12:59) *
Хорошо, собрал я предложенную Вами MT-LINK, есть фалик firmarmRev5314c.bin.txt - его через USB заливать чтобы контроллер заработал? Я правильно понял?
Какой программой? Повторю - я скачал с АТМЕЛА SAM-BA 2.8 - в нем источник только COM порт.
Есть еще SAM PROG 2.4 - там вообще порт не выбирается.

И почему, когда прошивку льешь через USB шнурок загрузчик перестает работать? В этом есть какой-то глубокий смысл, раз приходится городить JTAG программаторы.


Можно и не собирать сам МТ-ЛИНК сначала, но почитать в его описании, как прошить его собственный процессор.
И посмотреть как сделана его схема. Выкинуть из нее все что Вам не нужно, оставив минимум, необходимый для работы и прошивания.
Вкратце принцип такой:
1. поставить перемычку
2. подать питание на процессор - если перемычка поставлена, он подготавливается к тому, что его будут прошивать.
3. снять питание
4. подключить к ПК по схеме как сделано в МТ-ЛИНК
5. подать питание на микроконтрололер - он будет ждать, что программа на ПК начнет заливать в него прошивку.
6. Запустить программу на ПК, указать, что надо прошивать и процесс пошел.
7. Снять питание, отсоединить от ПК
8. Подать питание и радоваться видя работающую программу в МК (если, конечно, там нет ошибок smile.gif )

Я когда собирал себе МТ-ЛИНК, кажется, использовал для прошивки программу AT91-ISP v1.12 http://www.atmel.com/dyn/resources/prod_do...ISP%20v1.12.exe
Как пользоваться читал документ http://www.atmel.com/dyn/resources/prod_do...nts/doc6132.pdf
Подробнее не скажу - я с контроллерами от NXP LPC2148 работал, у них по другому прошивается память.

Кстати, МТ-ЛИНК - очень удобная вещь, особенно для начинающих - это отладчик, с его помощью можно по шагам выполнить программу непосредственно в МК, при этом имея доступ к значениям переменных, видя куда "пошла программа" и т.д.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 1st July 2025 - 22:33
Рейтинг@Mail.ru


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