Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: STM32F103x
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
Страницы: 1, 2, 3, 4, 5, 6
OVladimir
Вёл проект на LPC3264, потом предложили STM32 (Cortex-M3), ресурсов в последнем ровно столько сколько нужно и, всвязи с тем, что это довольно новый продукт, решил поделиться впечатлениями. Схемы и программы у обоих проектов идентичные.

Сравнительные плюсы:
Ток потребления меньше чем у лпц (35-40 мА, соответственно и источник питания проще и дешевле)
Не так чувствителен к скачкам напряжения питания (2-3.6 В, тут ещё будем тестировать, но лпц сбрасывался в определённых условиях)
Багов не замечено (в лпц2364 критичная проблема с МАМ)

Сравнительные минусы:
Дебагить не слишком удобно (если интересно смогу пояснить подробнее)
Флэш меньше

Буду признателен если кто-нибудь пополнит список или расскажет с чем ещё нехорошим могу тут столкнуться.
YAM
Наверное таки LPC2364. 128k флэша, так и у F103 есть вариант с таким-же размером, вот SRAM да, только до 20k... и ethernet нету...
Я тоже на нее переползаю, только на F101. Особенно радует F/2 при работе c SPI. Делиться пока нечем wink.gif
servol
В корпусах <=64 - нет возможности REF с наружи завести , а внутренних 1.5в не хватает.
zltigo
Цитата(OVladimir @ Jan 12 2008, 10:01) *
(в лпц2364 критичная проблема с МАМ)

1. Уже в прошлом
2. У STM - вообще мамообразных вещей нет.
Цитата
тут ещё будем тестировать

Да уж лучше без голословия smile.gif
Цитата
Дебагить не слишком удобно (если интересно смогу пояснить подробнее)

Естественно интересно. Я не особый поклонник внутрисхемной отладки, но попробовал с RLink в Ride7 ничего особо неудобного не заметил.


Цитата(YAM @ Jan 12 2008, 10:25) *
Особенно радует F/2 при работе c SPI. Делиться пока нечем wink.gif

У LPC тоже типа есть, но с проблемами на прием sad.gif
OVladimir
Цитата(zltigo @ Jan 12 2008, 18:41) *
У STM - вообще мамообразных вещей нет.



Естественно интересно. Я не особый поклонник внутрисхемной отладки


STM хвалятся своими самыми быстрыми в мире флэш, но конечно же, они не такие быстрые как надо для того чтобы оправдать частоту ядра в 72 MHz, думаю, влепят рано или поздно. Суть не в том. Для определённых задач скорости более чем предостаточно.

"Да уж лучше без голословия smile.gif" куда уж тут, не дома сидим, и вещи для людей делаем, как им потом в глаза смотреть.

Про дебаг: Практически во всех случаях приходится это делать в реальной схеме, так сразу видно почти все огрехи (как программы, так и самой схемы). А с STM при дебаге если после точки останова необходимо сделать шаг (step over, например), попадаешь в процедуры обработки какого-нибудь прерывания, поэтому приходится расставлять доп. брейкпоинты чтобы просто пройти по процедуре основного цикла, тут я не знаю, может есть другой какой-нить способ, но в лпц такого не наблюдалось.
zltigo
Цитата(OVladimir @ Jan 12 2008, 19:15) *
частоту ядра в 72 MHz, думаю, влепят рано или поздно.

Ну 13ns FLASH это будет уже скорее поздно smile.gif, а в NXP стиле 128bit 50ns FLASH - легко. Вскоре LPC1000 должны выкатить - будет еще и выбор....
KRS
Цитата(OVladimir @ Jan 12 2008, 20:15) *
А с STM при дебаге если после точки останова необходимо сделать шаг (step over, например), попадаешь в процедуры обработки какого-нибудь прерывания, поэтому приходится расставлять доп. брейкпоинты чтобы просто пройти по процедуре основного цикла, тут я не знаю, может есть другой какой-нить способ, но в лпц такого не наблюдалось.

Дело в том, что LPC - ARM7 и его ICE не поддерживает single step, он реализуется отладчиком (разными способами можно посмотреть например исходники GDB). А у Cortex-M3 уже есть аппаратный single step и поэтому вы попадаете в прерывания - здесь опять же хороший отладчик, если не требуется отлаживать прерывания должен их обходить.
OVladimir
Цитата(KRS @ Jan 12 2008, 20:28) *
у Cortex-M3 уже есть аппаратный single step и поэтому вы попадаете в прерывания

хороший отладчик, если не требуется отлаживать прерывания должен их обходить.


Вот, спасибо, есть объяснение.

и, не в тему вопрос, у кейла хороший отладчик? и где у него это настраивается?
AlexandrY
Особенно он хорош в связке с STR912. Ваааще убийца становится. 08.gif
http://aly.ogmis.lt/OpenProjects/ARMDominator4/ARMD4.htm

А про отладку говорить мало смысла не сказав в какой среде отлаживаете.

Цитата(OVladimir @ Jan 12 2008, 12:31) *
Вёл проект на LPC3264, потом предложили STM32 (Cortex-M3), ресурсов в последнем ровно столько сколько нужно и, всвязи с тем, что это довольно новый продукт, решил поделиться впечатлениями. Схемы и программы у обоих проектов идентичные.

Сравнительные плюсы:
Ток потребления меньше чем у лпц (35-40 мА, соответственно и источник питания проще и дешевле)
Не так чувствителен к скачкам напряжения питания (2-3.6 В, тут ещё будем тестировать, но лпц сбрасывался в определённых условиях)
Багов не замечено (в лпц2364 критичная проблема с МАМ)

Сравнительные минусы:
Дебагить не слишком удобно (если интересно смогу пояснить подробнее)
Флэш меньше

Буду признателен если кто-нибудь пополнит список или расскажет с чем ещё нехорошим могу тут столкнуться.
OVladimir
Цитата(AlexandrY @ Jan 12 2008, 21:36) *
в какой среде отлаживаете.


RealView Microcontroller Development Kit
Version 3.11
это всё
AlexandrY
Ну извините, на дворе уже 3.15b
Cortex значительно лучше отлаживается в Keil-е чем ARM7TDMI.
Таже скорость пошагового прохода гораздо выше.

Цитата(OVladimir @ Jan 13 2008, 00:11) *
RealView Microcontroller Development Kit
Version 3.11
это всё
Vitaliy_ARM
По поводу NXP. Здесь на московской конференции NXP пообещали много вкусного в LPC1000 smile.gif
zltigo
Цитата(Vitaliy_ARM @ Jan 12 2008, 23:36) *
пообещали много вкусного в LPC1000 smile.gif

Не знаю, как на Моссковской, но если, как на остальных, то собствено семейство было только обозначено и соответственно в документе по ссылке о нем практически ничего нет.
Vitaliy_ARM
Цитата(zltigo @ Jan 13 2008, 00:51) *
Не знаю, как на Моссковской, но если, как на остальных, то собствено семейство было только обозначено и соответственно в документе по ссылке о нем практически ничего нет.


Там немного описана переферия (стр 28) и место, которое он должен занимать на рынке (словом информация для продавцов). Флеши и RAM обещается явно по-больше, чем сейчас у ST. Модуль Ethernet MAC наверняка будет от LPC23xx/24xx с DMA. Я был на этой конференции. Представитель NXP утверждал, что эта серия ориентирована на замену 8 и 16 битных МК при той же стоимости, производительности, привосходящей ARM7 и низком энергопотреблении. Больше всего "хвалили" эту архитектуру STMicroelectronix. Посмотрим, что получится у NXP 05.gif
OVladimir
Цитата(AlexandrY @ Jan 12 2008, 21:51) *
Таже скорость пошагового прохода гораздо выше.


это может потому что частота JTAG в 1 MHz вместо 200 kHz в лпц

Вопрос в другом, реально ли в кейле сделать обход обработчиков прерываний, о котором упоминал KRS, и начиная с какой версии это возможно сделать?
AlexandrY
Лучше скажите как умудрится сделать чтобы отладчик все время спотыкался на прерываниях.
Такого никогда не было и в последнем компилере нет.

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

Кстати в Cortex увеличилось количество допустимых брекпойнтов.

Цитата(OVladimir @ Jan 13 2008, 11:00) *
это может потому что частота JTAG в 1 MHz вместо 200 kHz в лпц

Вопрос в другом, реально ли в кейле сделать обход обработчиков прерываний, о котором упоминал KRS, и начиная с какой версии это возможно сделать?
OVladimir
Цитата(AlexandrY @ Jan 13 2008, 10:37) *
Лучше скажите как умудрится сделать чтобы отладчик все время спотыкался на прерываниях.
Такого никогда не было и в последнем компилере нет.

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

Кстати в Cortex увеличилось количество допустимых брекпойнтов.



Ничего не делал специально, иннициализация ровно такая же как и в примерах с сайта кейл, буду ковырять тогда глубже, а точек останова да, больше: 8 вместо 2 в ARM7
zltigo
Цитата(OVladimir @ Jan 13 2008, 08:30) *
это может потому что частота JTAG в 1 MHz вместо 200 kHz в лпц

Про 200 что-то ну совсем не то.
Вот прямо случайно прямо сейчас работал как обычно на 4000 (четырех тысячах килогерц) рекордами не занимался, просто работал.
Код
- Connecting via USB to J-Link device 0
- J-Link firmware: V1.20 (J-Link compiled Jun 14 2007 14:36:33 ARM Rev.5)
- JTAG speed: 50 kHz (Fixed)
- Initializing CPU core (Init sequence) ...
    - Initialized successfully
- WARNING: Measured CPU clock frequency is higher than selected. (Measured: 59760 kHz, Selected: 14745 kHz)
- CPU clock frequency: 14745 kHz (Measured: 59760 kHz)
- JTAG speed: 4000 kHz (Fixed)
- J-Link found 2 JTAG devices. Core ID: 0x4F1F0F0F (ARM7)
- Connected successfully
Reading entire flash chip ...
- 27 sectors, 1 range, 0x0 - 0x7CFFF
- RAM tested O.K.
- Using DCC mode
- Target memory read successfully. (86000 bytes, 2 ranges) - Completed after 0.861 sec

Core ID это LPC2138.
Andy Great
Цитата(zltigo @ Jan 12 2008, 18:41) *
Естественно интересно. Я не особый поклонник внутрисхемной отладки, но попробовал с RLink в Ride7

Просьба немного не по теме: хочу купить Кольцо с STM32; хочу работать из-под Кейла или GDB. Не могли бы Вы проверить RDI for RLink? Если у Вас нет, у меня есть расшифрованный.
zltigo
Цитата(Andy Great @ Jan 16 2008, 14:46) *
Не могли бы Вы проверить RDI for RLink? Если у Вас нет, у меня есть расшифрованный.

Могу. Нету. Бросте мне свой адресок в личку - отвечу куда прислать. Единственно, что скорее всего только в субботу.
Vitaliy_ARM
Если кому интересно - выкладываю демоплату от ST (проект в AltiunDesigner 6.?).
klen
получил демо плату PRIMER http://www.st.com/stonline/products/literature/bd/13942.pdf, круглая такая. Поставил Raid7, загрузил тестовый проект. Все дебажится, компиляется, GNU gcc-frendly, все бесплатно... короче меня вштырило. наверно на кортексы ползти начну. во всяком случае стало интересно. за 3 минуты без денег и борьбы началась внутрикристальная отладка. отраслевой прогресс налицо.
zltigo
Цитата(klen @ Jan 24 2008, 14:03) *
за 3 минуты без денег...

На счет денег только это показалось, то, что ты получил все-в-одном это ограниченная версия платного
продукта рекламу которого ST отспонсировало.
Сергей Борщ
Цитата(klen @ Jan 24 2008, 13:03) *
загрузил тестовый проект
Это твой GNU gcc-frendly проект был, или в комплекте шел? Если твой - выложишь? Надо с чего-то начинать когда-нибудь, а то пока все доку читаю.
Vitaliy_ARM
Цитата(Сергей Борщ @ Jan 24 2008, 14:41) *
Это твой GNU gcc-frendly проект был, или в комплекте шел? Если твой - выложишь? Надо с чего-то начинать когда-нибудь, а то пока все доку читаю.


У меня есть куча примеров для платы, которую я выкладывал и не только.
klen
Цитата(zltigo @ Jan 24 2008, 14:27) *
На счет денег только это показалось, то, что ты получил все-в-одном это ограниченная версия платного
продукта рекламу которого ST отспонсировало.

yeah.gif ага, моий проект - за 3 минуты наваял !! не тконечно, пример был зашит вдевайс - катание шарика по экрану (обработка сигнала акселеромеров), графическое меню, какието еще игрушки типа arcanoid и тд,. Установив Raid7 скаченный с сайта там же обнаружился именно тот пример для STM32 который зашит производителем (видимо они дружат).

2 Zltigo
А что платное, в чем подвох то? На сайте Raid7 написано что все тулсы при использовании GNU GCC и использовании STM32 "No software limitation"
zltigo
Цитата(klen @ Jan 24 2008, 16:49) *
А что платное, в чем подвох то?

Подвох в том, что JTAG адаптер ко все этой красоте не бесплатен, а тот, который на демоборде ограничен по объему отлаживаемого кода и upgrade его за отдельные денюжки у далее само собой поддержка за деньги.
Vitaliy_ARM
Цитата(klen @ Jan 24 2008, 16:49) *
А что платное, в чем подвох то? На сайте Raid7 написано что все тулсы при использовании GNU GCC и использовании STM32 "No software limitation"


А бесплатные j-таги не пробовали прикручивать?
zltigo
Цитата(Vitaliy_ARM @ Jan 24 2008, 17:56) *
А бесплатные j-таги не пробовали прикручивать?

Типа ворованного Wiggler-а smile.gif На этой плате все жеско замотировано, ибо делалась ниа исключительно для рекламы одного J-Tag, и без насилия другой не подключишь...
cebotor
впечатления :
1.I2C немного криво реализован.
2. прилагающимися примерами от команды индусов пользоваться опасно, заструктурировано все до нельзя, а на верхнем уровне куча багов (проверять все используемое фирмваре лайбрари до низу!)
в извинение могу сказать что стэк юсб довольно прямо реализован и заработал на ура.
3. структура железа камешка такова что сама предполагает объектный доступ к переферии - пример - таблицы с указателями на рам для юсб . Что в принципе ограничивает возможенности написания "сверхчистосишного" кода а-ля MISRA спецификейшн.
OVladimir
Цитата(cebotor @ Jan 25 2008, 15:46) *
I2C немного криво реализован.


сначала тоже так показалось, но потом разобрался и понял что, в принципе, реализация вполне приемлемая и работает стабильно.

Цитата(cebotor @ Jan 25 2008, 15:46) *
прилагающимися примерами от команды индусов пользоваться опасно, заструктурировано все до нельзя, а на верхнем уровне куча багов (проверять все используемое фирмваре лайбрари до низу!)


это уже не по поводу самого процессора, такие явления сплош и рядом, в своих ошибках легче разобраться чем в чужих
AlexandrY
А вот это не очевидно. У ST явная политика на сворачивание документирования чипов.
Они переходят на предоставление либ без подробного описания железа.
Как это сейчас делается у OEM-щиков.
Вот как тест, к примеру, скажите мне где в доке на STM32 указано от какого источника и с какой частотой идет клок на таймеры 2,3,4.

Цитата(OVladimir @ Jan 26 2008, 13:44) *
это уже не по поводу самого процессора, такие явления сплош и рядом, в своих ошибках легче разобраться чем в чужих
zltigo
Цитата(AlexandrY @ Jan 26 2008, 23:52) *
Они переходят на предоставление либ без подробного описания железа.

Жутко раздражает, чувствуешь себя идиотом пытающимся восстановить облик мамонта по куче его окаменелых экскрементов sad.gif
OVladimir
Цитата(AlexandrY @ Jan 26 2008, 22:52) *
скажите мне где в доке на STM32 указано от какого источника и с какой частотой идет клок на таймеры 2,3,4.


в data sheet и в референс мануал есть блок схема, там всё видно, плюс есть описание всех блоков словами.

само описание выполнено в другом стиле нежели у эникспи, сложнее немного, но всё есть
AlexandrY
Ну что ж, я считаю что вы не нашли.
Элементы тактирования таймеров на блоксхеме либо не верны либо не описаны.
Стиль это не какая-то мелочь, по опросам более чем для 50% разработчиков основным критерием в выборе кристалла является качество документации.
Собственно эта документация отражает качество работы команды разработчиков чипа, т.е. косвенно определяет и качество самого чипа.
А по опыту плохая дока на пару месяцев может спокойно задержать проект.
Другое дело, что чипы для ST разрабатывают по аутсорсу, а доку пишут ихние индусы и видно очень ленивые.
Т.е. чипы сами по себе не хуже других, но во тем кто их продает я не позавидую.

Цитата(OVladimir @ Jan 27 2008, 05:26) *
в data sheet и в референс мануал есть блок схема, там всё видно, плюс есть описание всех блоков словами.

само описание выполнено в другом стиле нежели у эникспи, сложнее немного, но всё есть
cebotor
Цитата(zltigo @ Jan 26 2008, 23:58) *
Жутко раздражает, чувствуешь себя идиотом пытающимся восстановить облик мамонта по куче его окаменелых экскрементов sad.gif

с одной стороны может это и полезно , например попользовавшись ератами атмела и филипса приходишь к выводу , что с таким количеством "особенностей" лучше бы сразу предоставили код которым можно пользоваться. предоставили софтварный интерфейс вместо хардварного так сказать. Только пhи этом нельзя оставлять прежнее отношение к этим апнотам - "это всего лишь пример , и поставляется as it is ".
А так лично мне было бы все равно с какой абстракцией работать - с битом в кфг регистре , или с членом структуры.
OVladimir
Цитата(AlexandrY @ Jan 28 2008, 09:03) *
Элементы тактирования таймеров на блоксхеме либо не верны либо не описаны.


RM0008
Reference manual

STM32F101xx and STM32F103xx
advanced ARM-based 32-bit MCUs

на 48 странице "Clock tree" плюс описание самих таймеров:

The counter clock can be provided by the following clock sources:
● Internal clock (CK_INT)
● External clock mode1: external input pin
● External clock mode2: external trigger input ETR
● Internal trigger inputs (ITRx):.....

Или я чего-то не понимаю, но по-моему это именно та информация, а по поводу ошибок в ней хотелось бы поподробней.

Ай, был в ST офисе в Паге целую неделю, ни одного индуса не видел
KRS
Цитата(Vitaliy_ARM @ Jan 24 2008, 17:56) *
А бесплатные j-таги не пробовали прикручивать?

Недавно купили кит EKI-LM3S6965 Ethernet Evaluation Kit for IAR Embedded Workbench
от Stellaris
так вот на нем интегрирован JTAG в виде FTDI2232C, и есть фича при удерживании reset при включекнии он может работать наружу, пробовал подключать его к ARM7 но IAR пишет что LMFTDI поддерживает только Cortex-M3, похоже можно любой cortex подключить ( у меня к сожалению нет другого под рукой что бы проверить) сделали плату с STM32F103x но вывели только SWD наружу (это отдельная песня).

К чему я это все - к тому что, можно взять обычный JTAG на FT2322C и указать IAR что это LMFTDI, одно только надо либо прошить eeprom штатной программой FTDI (прошивку еепром если надо выложу inf файлы для драйвера тоже все сдалено как описано в FTDI) либо подправить DLL чтобы цеплялась к первой попавшейся FTDI.

Есть еще CodeSourcery вариант - там интересен GDB server (ради этого одного exe пришлось качать 400 метров CD к данному варианту кита) который цепялется на этот FTDI (ему уже прошивка еепром пофиг, специально проверил стер), но он работает только в режиме SWD (как раз для этого и нужа простенькая FPGA на плате в основном она делает следующее - одна из ног FTDI выбрает режим JTAG / SWD если JTAG то просто насквозь пропускает, а если SWD то FTDI TMS управляет направлением, а FTDI TDO и FTDI TDI объеденяются на SWDIO(TMS), а FTDI TCK так и идет на SWDCK(TCK))
Вот этот вариант, после долгих танцев с бубном ( пришлось отрезать TMS от LM3S6965 потому что в режиме SWD, даже если при включении держать кнопку все равно цепляется к внутреннему процу даже ресет пофиг это какой то прикол SWD) у меня подключился к STM32F103, но поругался что это не Stellaris и что флеш и еще что то не работает, но что Cortex-M3 все ок.

Завтра продолжу эксперементы. А то IAR4 не поддерживает gdb server, а IAR 5.10 не поддерживает Cortex, вот приходится 5.11 качать
OVladimir
Получил newsletter "The ST Microcontroller Newsletter - January/February 2008" сегодня, там написано:

STM32 receives EG3 "editor's choice" award!
Ну это так, просто
cebotor
Цитата(KRS @ Jan 29 2008, 23:32) *
Есть еще CodeSourcery вариант - там интересен GDB server (ради этого одного exe пришлось качать 400 метров CD к данному варианту кита) который цепялется на этот FTDI (ему уже прошивка еепром пофиг, специально проверил стер), но он работает только в режиме SWD (как раз для этого и нужа простенькая FPGA на плате в основном она делает следующее - одна из ног FTDI выбрает режим JTAG / SWD если JTAG то просто насквозь пропускает, а если SWD то FTDI TMS управляет направлением, а FTDI TDO и FTDI TDI объеденяются на SWDIO(TMS), а FTDI TCK так и идет на SWDCK(TCK))
Вот этот вариант, после долгих танцев с бубном ( пришлось отрезать TMS от LM3S6965 потому что в режиме SWD, даже если при включении держать кнопку все равно цепляется к внутреннему процу даже ресет пофиг это какой то прикол SWD) у меня подключился к STM32F103, но поругался что это не Stellaris и что флеш и еще что то не работает, но что Cortex-M3 все ок.

а можно поподробнее:
1 что за пакет CodeSourcery и где его скачать (если на http://www.codesourcery.com/ , то где конкретно)
2 почему GDB сервер входящий в состав этого пакета работает только как SWD (правильно я понял )
3 на какой плате стоит фпга и поподробнее какую глобальную функцию она выполняет - позволяет работать процу STM по SWD ? (он вроде и так для этого заточен).

4 правильно ли я понял что вам удалось прошивкой FTDI-ного епрома заставить иар видеть важ ЖТАГ как некий LMFTDI - про который он говорит что тот предназначет только для кортекса ? если да , то чем Вас такой вариант не устраивает ?

мне удалось заставить работать олимексовский адаптер на FTDI c LPC2138 в ИАРЕ 5.11 через GDB сервер входящий в состав пакета OPENOCD. Однако в последней версии этого пакета нету скрипта настройки цели сервера GDB именно для cortexa. хотя текст этого скрипта есть в pdf хелпа к GDB (вероятно остался от старой версии, но будет ли работать пока не проверил )
KRS
Цитата(cebotor @ Jan 30 2008, 11:10) *
а можно поподробнее:
1 что за пакет CodeSourcery и где его скачать (если на http://www.codesourcery.com/ , то где конкретно)

это кастомизированный eclipse + gcc + поддержка жлеза
я брал верисю которая лежит у luminary
http://www.luminarymicro.com/products/ekc-...uation_kit.html
EKC-LM3S6965-CD-148 LM3S6965 Evaluation Kit for CodeSourcery CD

Цитата(cebotor @ Jan 30 2008, 11:10) *
2 почему GDB сервер входящий в состав этого пакета работает только как SWD (правильно я понял )

есть exe файл arm-stellaris-eabi-sprite.exe если его запустить с правильными параметрами он станет gdb server ом (параметра выбирающего SWD / JTAG нет да и устройство знает одно на FTDI )

Цитата(cebotor @ Jan 30 2008, 11:10) *
3 на какой плате стоит фпга и поподробнее какую глобальную функцию она выполняет - позволяет работать процу STM по SWD ? (он вроде и так для этого заточен).

про FPGA я писал (FPGA на плате в основном она делает следующее - одна из ног FTDI выбрает режим JTAG / SWD если JTAG то просто насквозь пропускает, а если SWD то FTDI TMS управляет направлением, а FTDI TDO и FTDI TDI объеденяются на SWDIO(TMS), а FTDI TCK так и идет на SWDCK(TCK))
это даже не FPGA а CPLD LC4032V уже зашитая но логическая схема есть в даташите она очень простая, если делать клон можно обойтись рассыпухой
схему можно скачать
http://www.luminarymicro.com/products/ekc-...uation_kit.html
UM-EK-LM3S6965-01 Stellaris LM3S6965 Evaluation Board User's Manual

сейчас при коннекте с stm32f103 получается следующее
Код
arm-stellaris-eabi-sprite -l 3333 -a -v armusb:?speed=7 test
arm-stellaris-eabi-sprite: CodeSourcery ARM Debug Sprite (Sourcery G++ 4.2-68)
arm-stellaris-eabi-sprite: Target has now been reset
arm-stellaris-eabi-sprite: Target is already halted
arm-stellaris-eabi-sprite: Connected to Cortex-M3 successfully and passed all validation.
arm-stellaris-eabi-sprite: E031: BusFault on access to memory
arm-stellaris-eabi-sprite: error: Stellaris Flash access failure

надо как то отключить опознование и работу с флешой.

Цитата(cebotor @ Jan 30 2008, 11:10) *
4 правильно ли я понял что вам удалось прошивкой FTDI-ного епрома заставить иар видеть важ ЖТАГ как некий LMFTDI - про который он говорит что тот предназначет только для кортекса ? если да , то чем Вас такой вариант не устраивает ?

Я стандартными средствами ( MProg 3.0a ) сичтал eeprom, потом его стер iar перестал коннектится и записал заново опять все заработало. (отlельной платы с FTDI у меня нет) но все зделано стандартно никакой хитрой защиты нет.
У меня на плате выведен только SWD хочется его запустить
KRS
Свершилось чудо!
Я запустил STM32F103 с отладчиком JTAG на FTDI FT2232C и IAR 511 (gdb server) и openocd
даже IAR flash loader заработал и прошил flash.

Конфигурация такая
STM32F103 <-> FT2232C <-> OpenOCD <-> IAR 5.11

только OpenOcd пришлось подправить
в файле armv7m.c закоментарил 339 строчку
Код
    /* ARMV7M is always in thumb mode, try to make GDB understand this if it does not support this arch */
    /* armv7m->process_context->reg_list[15].value[0] |= 1;    */

а то IAR честно воспринимал текущую позицию как PС+1
cebotor
Цитата(KRS @ Jan 30 2008, 17:43) *
Конфигурация такая
STM32F103 <-> FT2232C <-> OpenOCD <-> IAR 5.11

только OpenOcd пришлось подправить
в файле armv7m.c закоментарил 339 строчку
Код
    /* ARMV7M is always in thumb mode, try to make GDB understand this if it does not support this arch */
    /* armv7m->process_context->reg_list[15].value[0] |= 1;    */

а то IAR честно воспринимал текущую позицию как PС+1

Вы пересобрали OPENOCD как я понял?
а после этого получившийся openocd-ftd2xx.exe запустили и у Вас заработал GDB сервер?
а файл кфг откуда взяли если не секрет ? ведь запуск этого файла :
openocd-ftd2xx.exe --file lpc2xxx_armusbocd.cfg
(для ЛПЦ например ) или я не прав ?
KRS
Цитата(cebotor @ Jan 31 2008, 11:39) *
Вы пересобрали OPENOCD как я понял?
а после этого получившийся openocd-ftd2xx.exe запустили и у Вас заработал GDB сервер?
а файл кфг откуда взяли если не секрет ? ведь запуск этого файла :
openocd-ftd2xx.exe --file lpc2xxx_armusbocd.cfg
(для ЛПЦ например ) или я не прав ?

Да пересобрал OPENOCD
скачал исходники последнии из svn...
как собирать здесь описано
http://openfacts.berlios.de/index-en.phtml...uilding_OpenOCD

законфигурил как
./configure --enable-ft2232_ftd2xx --with-ftd2xx=/cygdrive/e/.....

собрал. у меня один exe получился openocd.exe
запускаю как openocd.exe -f test.cfg

Конфигурационный файл взял отсюда
http://openfacts.berlios.de/index-en.phtml...OpenOCD_scripts

Главное там:
Код
#jtag scan chain
#format L IRC IRCM IDCODE (Length, IR Capture, IR Capture Mask, IDCODE)
jtag_device 4 0x1 0xf 0xe
jtag_device 5 0x1 0x1 0x1e

#target <type> <startup mode>
#target cortex_m3 <endianness> <reset mode> <chainpos> <variant>
target cortex_m3 little run_and_halt 0
run_and_halt_time 0 30

working_area 0 0x20000000 16384 nobackup

#flash bank <driver> <base> <size> <chip_width> <bus_width>
flash bank stm32x 0x08000000 0x00010000 0 0 0


Ну я еще добавил что
reset_config none
у меня только TMS TCK TDI TDO подключены

Ну естественно еще описание ftdi ( у меня кривое птому что я плату как отладчик использую), полный мой конфиг такой

Код
#daemon configuration
telnet_port 4444
gdb_port 3333

#interface
interface ft2232
ft2232_device_desc "Stellaris Evaluation Board A"
ft2232_layout jtagkey
ft2232_vid_pid 0x0403 0xbcd9
jtag_speed 10

#reset config
reset_config none

#jtag scan chain
#format L IRC IRCM IDCODE (Length, IR Capture, IR Capture Mask, IDCODE)
jtag_device 4 0x1 0xf 0xe
jtag_device 5 0x1 0x1 0x1e

#target configuration
daemon_startup reset

#target <type> <startup mode>
#target cortex_m3 <endianness> <reset mode> <chainpos> <variant>
target cortex_m3 little run_and_halt 0
run_and_halt_time 0 30

working_area 0 0x20000000 16384 nobackup

#flash bank <driver> <base> <size> <chip_width> <bus_width>
flash bank stm32x 0x08000000 0x00010000 0 0 0
cebotor
Цитата(KRS @ Jan 31 2008, 15:17) *
Да пересобрал OPENOCD

Конфигурационный файл взял отсюда
http://openfacts.berlios.de/index-en.phtml...OpenOCD_scripts

алладин ! колоссальное спасибо за предоставленную информацию !
Vitaliy_ARM
Цитата(KRS @ Jan 31 2008, 15:17) *
Да пересобрал OPENOCD
скачал исходники последнии из svn...
как собирать здесь описано
http://openfacts.berlios.de/index-en.phtml...uilding_OpenOCD


Как OpenOCD с IAR стыковать? Через RDI драйвер? Может ссылку подкинете?
KRS
Цитата(Vitaliy_ARM @ Jan 31 2008, 17:02) *
Как OpenOCD с IAR стыковать? Через RDI драйвер? Может ссылку подкинете?

К сожалению я не знаю готового решения RDI <-> GDBserver
Но у IAR 5.xx уже есть в конфигурации GDB server, так что 5ый IAR можно подключить прямо к openocd
cebotor
Цитата(Vitaliy_ARM @ Jan 31 2008, 17:02) *
Как OpenOCD с IAR стыковать? Через RDI драйвер? Может ссылку подкинете?

OpenOCD запускается как GDB сервер - то есть висит на локалхосте - для его использования надо выбрать в опциях проэкта в свойствах дебаггера GDB server а в свойствах самого GDB сервера указать
адрес
127.0.0.1,2331
где 2331 - порт на котором запускается OpenOCD.
все это касается ИАРа 5.11 который поддерживает GDB
Vitaliy_ARM
Цитата(cebotor @ Jan 31 2008, 17:27) *
OpenOCD запускается как GDB сервер - то есть висит на локалхосте - для его использования надо выбрать в опциях проэкта в свойствах дебаггера GDB server а в свойствах самого GDB сервера указать
адрес
127.0.0.1,2331
где 2331 - порт на котором запускается OpenOCD.
все это касается ИАРа 5.11 который поддерживает GDB


Понял, нашел, спасибо! Тоже заказал себе STM32F103VB. Придет, попробую FTDI J-TAG и J-Link, заодно и сравню.
Vitaliy_ARM
Цитата(KRS @ Jan 31 2008, 17:09) *
К сожалению я не знаю готового решения RDI <-> GDBserver
Но у IAR 5.xx уже есть в конфигурации GDB server, так что 5ый IAR можно подключить прямо к openocd


Недавно наткнулся на ссылку с конфигурацией OpenOCD под вашу плату
http://www.siwawi.arubi.uni-kl.de/avr_proj...rtex/index.html

Там еще есть описание, как этот gdb под линуксом использовать.

Может выложите свою версию OpenOCD сюда? wink.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.