Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Программа для программирования ARM
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
artemm
Есть jtag программатор-отладчик на ft2232. Скажите, существует ли какая-нить программулина для программирования армов 7х(может и 9х) атмел и нхп с помощью этого программатора??? Чтобы запустил, выбрал камень, прошивку и зашил.??????
П.С. Бутлоадер не устраивает тем, что там нужен кварц определённой частоты.
amw
Цитата(artemm @ Dec 2 2008, 14:58) *
Есть jtag программатор-отладчик на ft2232. Скажите, существует ли какая-нить программулина для программирования армов 7х(может и 9х) атмел и нхп с помощью этого программатора??? Чтобы запустил, выбрал камень, прошивку и зашил.??????
П.С. Бутлоадер не устраивает тем, что там нужен кварц определённой частоты.

Это тот, который OOCD Link?
http://openocd.berlios.de/doc/index.html
http://electronix.ru/forum/index.php?showtopic=45936
artemm
Цитата(amw @ Dec 2 2008, 18:20) *

да, только ж я написал чтобы прога готовая, чтоб никаких комманд не прописывать, запустил, выбрал проц, зашил
_Alfred_
Если стоит задача просто прошивать - то для ARM от NXP можно использовать FlashMagic. Там и программатора никакого не нужно - подключаетесь по RS-232 и все.
DeadMoroz
Я тоже по теме спрошу:
а есть ли отдельная утилита для прошивки ADuC70xx по JTAG (не через бутлодер). Сейчас прошиваю прямо из KEIL и для этого должен быть загружен проект. А хочется standalone так сказать, типа для производства.
??
artemm
Цитата(_Alfred_ @ Dec 2 2008, 23:23) *
Если стоит задача просто прошивать - то для ARM от NXP можно использовать FlashMagic. Там и программатора никакого не нужно - подключаетесь по RS-232 и все.

Да, задача стоит просто прошивать.
а там кварц на контроллере можна использовать любой? или только определённой частоты, тошо ж оно использует бутлоадер.
defunct
Цитата(artemm @ Dec 3 2008, 10:14) *
Да, задача стоит просто прошивать.
а там кварц на контроллере можна использовать любой? или только определённой частоты, тошо ж оно использует бутлоадер.

NXP автодетектит скорость UART'a. Задайте скорость COM порта в утилите поменьше, напр 9600 - будет работать практически с любым кварцем >=2Mhz.
С кварцем 11.059Mhz работает на 57600, а с 14.7456 и выше - на 115200.

Смотрите user manual на NXP.
бутлоадеру посылается символ '?' на любой скорости, если бутлоадер смог отдетектить скорость, он вернет строку "Synchronized!" (т.е. проверить есть связь с бутлоадером или нет можно даже без всяких утилит - в терминале).
zltigo
Цитата(defunct @ Dec 3 2008, 15:28) *
NXP...

Бывают разные. Свежие вообще запускабтся от собственного генератора и соответственно работают на высоких скоростях по любому.
artemm
a как быть с atmelами?
amw
Цитата(artemm @ Dec 3 2008, 21:44) *
a как быть с atmelами?

А чем SamBA не устраивает?
Или code.google.com/p/samba
artemm
Цитата(amw @ Dec 4 2008, 23:35) *
А чем SamBA не устраивает?
Или code.google.com/p/samba

Я ж уже писал. Если у меня стоит кварц на 55Мгц, а для самбы нужно 18с фигом, то мне что при каждом программировании перепаивать кварц???
aaarrr
Цитата(artemm @ Dec 5 2008, 09:47) *
для самбы нужно 18с фигом

Только при работе через USB.
artemm
Цитата(aaarrr @ Dec 5 2008, 19:24) *
Только при работе через USB.

а по COMу с любым кварцем тоже работает?
aaarrr
Цитата(artemm @ Dec 5 2008, 18:54) *
а по COMу с любым кварцем тоже работает?

Насчет с любым есть сомнения, хотя они и пишут, что
Цитата
Communication through the DBGU supports a wide range of crystals from 3 to 20 MHz via
software auto-detection.

я бы ограничился набором из таблички для старших SAM'ов:
Код
Crystals Supported by Software Auto-Detection (MHz)
3.0       3.2768    3.6864     3.84    4.0
4.433619  4.608     4.9152     5.0     5.24288
6.0       6.144     6.4        6.5536  7.159090
7.3728    7.864320  8.0        9.8304  10.0
11.05920  12.0      12.288     13.56   14.31818
14.7456   16.0      17.734470  18.432  20.0
SpiritDance
Цитата(artemm @ Dec 5 2008, 09:47) *
Я ж уже писал. Если у меня стоит кварц на 55Мгц, а для самбы нужно 18с фигом, то мне что при каждом программировании перепаивать кварц???

Только не надо рассчитывать что у Вас с таким кварцем будет работать USB. Если хотите его использовать все равно нужно будет до 48МГц опуститься.
Dir
Цитата(DeadMoroz @ Dec 3 2008, 02:00) *
Я тоже по теме спрошу:
а есть ли отдельная утилита для прошивки ADuC70xx по JTAG (не через бутлодер). Сейчас прошиваю прямо из KEIL и для этого должен быть загружен проект. А хочется standalone так сказать, типа для производства.
??

Вообще-то для ADuCов гораздо удобнее как раз бутлоадер использовать в производственном программировании. Меньше ножек, чем у JTAG надо.
Но можно и JFlashARM от Сеггера использоватью (в пакете JLinkARM идет)
http://www.segger.com/pub/jlink/Setup_JLinkARM_V396d.zip
Или ее урезаный, но вроде легальній ADIшный аналог miDASLink
там же на сайте Segger-а или
ftp://ftp.analog.com/pub/MicroConverter/
Нужен, конечно, JLink или что-то совместимое: MT-Link, Jet-Link...


Цитата(SpiritDance @ Dec 5 2008, 21:20) *
Только не надо рассчитывать что у Вас с таким кварцем будет работать USB. Если хотите его использовать все равно нужно будет до 48МГц опуститься.

Будет-будет, не путайте человека wink.gif
Там с помощью коэффициентов, PLL и какой-то матери получается почти то, что надо wink.gif
defunct
Цитата(artemm @ Dec 5 2008, 08:47) *
Если у меня стоит кварц на 55Мгц, а для самбы нужно 18с фигом, то мне что при каждом программировании перепаивать кварц???

А зачем Вам кварц на 55Mhz? ;>

1. частота кварца должна быть не выше 20Mhz.
2. частота Mclk выше 20Mhz (тактового генератора проца) задается с помощью PLL - который настраивается Вашей программой.

У Atmel'a очень гибкий PLL с возможностью выбора частоты тактирования с шагом ~1Mhz практически на любом кварце. т.е. с кварцем 18Mhz вы можете запускать чип и на 48Mhz и на 55Mhz и на 56Mhz и на 57Mhz и т.д.

18.432mHz - родной вариант, и он будет самым лучшим вариантом для SAM'ов, и самбы живут и скорость без PLL приличная и для UART'а отлично подходит.

Цитата(SpiritDance @ Dec 5 2008, 21:20) *
Только не надо рассчитывать что у Вас с таким кварцем будет работать USB.

С таким кварцем чип вообще не запустится. on-chip oscillator 3..20Mhz.
aaarrr
У Атмела, к сожалению, как раз не очень гибкий PLL, что и заставляет использовать кварцы с относительно выcокой частотой sad.gif
defunct
Цитата(aaarrr @ Dec 6 2008, 02:04) *
У Атмела, к сожалению, как раз не очень гибкий PLL, что и заставляет использовать кварцы с относительно выcокой частотой sad.gif

Можете пояснить мысль, может я что-то упустил?

В ДШ на SAM7 я вижу:
Умножитель 1 + 1..2047
Делитель 1..255
PLLCK = 80..200Mhz

берем минимальный кварц 3Mhz и пробуем получить 48 и 55Mhz с этим кварцем.
Решаем в лоб. Делим Fosc на 3 чтобы получить 1Mhz (проще подобрать умножитель).
Подбираем умножитель такой чтобы влезть в PLLCK range:
DIV = 3
MUL = 55 * 2 = 110 (для 55Mhz)
MUL = 48 * 2 = 96 (для 48Mhz)

(3Mhz * 110 / 3) / 2 = 55Mhz
(3Mhz * 96 / 3) / 2 = 48Mhz

Что не так с гибкостью-то?



На LPC21xx мы закрепощены сильнее:
умножитель M = 1..32
делитель (2*P) 2, 4, 8, 16,
где P = 1, 2, 4, 8.
fcco = fosc * M * P * 2 = 156..320Mhz
cclk = fcco / (2 * P)
cclk = fosc * M

пробуем получить cclk = 55Mhz с кварцем fosc = 3Mhz

M = cclk / fosc = 55/3 = 18.333

итого результрующая частота:
или 54Mhz, или 57, при M соответственно 18 и 19...
aaarrr
Цитата(defunct @ Dec 6 2008, 06:07) *
берем минимальный кварц 3Mhz

Возьмите 3.6864, 7.3728 или 14.745MHz, и попробуйте из них сделать 48MHz - все окажется не так радужно.

Цитата(defunct @ Dec 6 2008, 06:07) *
Что не так с гибкостью-то?

Минимальная входная частота PLL 1MHz.

Цитата(defunct @ Dec 6 2008, 06:07) *
На LPC21xx мы закрепощены сильнее

Зато на LPC23/24 все исправлено.
SpiritDance
Цитата(Dir @ Dec 5 2008, 23:06) *
Будет-будет, не путайте человека wink.gif
Там с помощью коэффициентов, PLL и какой-то матери получается почти то, что надо wink.gif

Блин я вообще-то подумал что не кварц стоит на 55 а частота с помощью pll поднимается до 55. Кварц на 55 Мгц на at91 работать не будет. При использовании USB чатоту pll придется сделать равной 48 Мгц. Только и всего, пугать даже не пытался.

Цитата(aaarrr @ Dec 6 2008, 14:31) *
Возьмите 3.6864, 7.3728 или 14.745MHz, и попробуйте из них сделать 48MHz - все окажется не так радужно.

А что не так-то? Например

7,3728 * 547 / 42 / 2 = 48,0109

Вполне приемлемо.
aaarrr
Цитата(SpiritDance @ Dec 6 2008, 22:52) *
А что не так-то? Например

7,3728 * 547 / 42 / 2 = 48,0109

Вполне приемлемо.

Да, пример непоказательный получился. Но, скажем сделать 50.0+/-0.0015MHz из 18.432MHz с такими условиями не получится, а это помогло бы сэкономить немного $$.

Грубовато получается, короче говоря.
SpiritDance
Цитата(aaarrr @ Dec 6 2008, 23:04) *
Да, пример непоказательный получился. Но, скажем сделать 50.0+/-0.0015MHz из 18.432MHz с такими условиями не получится, а это помогло бы сэкономить немного $$.

А с помощью какой такой PLL получится так точно? smile.gif
aaarrr
Цитата(SpiritDance @ Dec 6 2008, 23:10) *
А с помощью какой такой PLL получится так точно? smile.gif

Ну, с помощью LPC'шной, например, можно получить ошибку ~11ppm при требуемых 30.
defunct
Цитата(aaarrr @ Dec 6 2008, 22:23) *
Ну, с помощью LPC'шной, например, можно получить ошибку ~11ppm при требуемых 30.

Давайте отметим - в новых LPC23/24xx.
LPC21/22xx все-таки никто с про-ва не снимал, а там до такой ошибки далеко.
aaarrr
Цитата(defunct @ Dec 7 2008, 06:32) *
Давайте отметим - в новых LPC23/24xx.

Конечно. А вот Атмел, к сожалению, не спешит совершенствовать свои продукты, хотя относительно нормальные PLL они делать умели sad.gif
DeadMoroz
Цитата(Dir @ Dec 5 2008, 23:06) *
Вообще-то для ADuCов гораздо удобнее как раз бутлоадер использовать в производственном программировании. Меньше ножек, чем у JTAG надо.
Но можно и JFlashARM от Сеггера использоватью (в пакете JLinkARM идет)
http://www.segger.com/pub/jlink/Setup_JLinkARM_V396d.zip
Или ее урезаный, но вроде легальній ADIшный аналог miDASLink
там же на сайте Segger-а или
ftp://ftp.analog.com/pub/MicroConverter/
Нужен, конечно, JLink или что-то совместимое: MT-Link, Jet-Link...
Будет-будет, не путайте человека wink.gif
Там с помощью коэффициентов, PLL и какой-то матери получается почти то, что надо wink.gif


Dir, спасибо, то что надо
Angle
Подскажите, можно ли запрограммировать AT91SAM7A3 (бутлоадера нет) через JTAG (MT-Link) с помощью САМБЫ? Нужно для серийного производства.
Кварц 11,0592 Мгц.
У меня SAM-BA v2.4 - в окне выбора соединения стоит только COM порт.
aaarrr
Теоретически можно. Но учитывая кривизну SAM-BA/SAM-Prog, применимость этого решения для серийного производства вызывает сомнения.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.