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

 
 
20 страниц V  < 1 2 3 4 5 > »   
Reply to this topicStart new topic
> STM32F103x, делимся впечатлениями
OVladimir
сообщение Jan 26 2008, 09:14
Сообщение #31


Участник
*

Группа: Участник
Сообщений: 40
Регистрация: 10-01-07
Из: Вильнюс
Пользователь №: 24 290



Цитата(cebotor @ Jan 25 2008, 15:46) *
I2C немного криво реализован.


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

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


это уже не по поводу самого процессора, такие явления сплош и рядом, в своих ошибках легче разобраться чем в чужих

Сообщение отредактировал OVladimir - Jan 26 2008, 09:21
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Jan 26 2008, 20:52
Сообщение #32


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



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

Цитата(OVladimir @ Jan 26 2008, 13:44) *
это уже не по поводу самого процессора, такие явления сплош и рядом, в своих ошибках легче разобраться чем в чужих
Go to the top of the page
 
+Quote Post
zltigo
сообщение Jan 26 2008, 20:58
Сообщение #33


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(AlexandrY @ Jan 26 2008, 23:52) *
Они переходят на предоставление либ без подробного описания железа.

Жутко раздражает, чувствуешь себя идиотом пытающимся восстановить облик мамонта по куче его окаменелых экскрементов sad.gif


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
OVladimir
сообщение Jan 27 2008, 00:56
Сообщение #34


Участник
*

Группа: Участник
Сообщений: 40
Регистрация: 10-01-07
Из: Вильнюс
Пользователь №: 24 290



Цитата(AlexandrY @ Jan 26 2008, 22:52) *
скажите мне где в доке на STM32 указано от какого источника и с какой частотой идет клок на таймеры 2,3,4.


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

само описание выполнено в другом стиле нежели у эникспи, сложнее немного, но всё есть
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Jan 28 2008, 07:03
Сообщение #35


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



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

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

само описание выполнено в другом стиле нежели у эникспи, сложнее немного, но всё есть
Go to the top of the page
 
+Quote Post
cebotor
сообщение Jan 28 2008, 07:47
Сообщение #36


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

Группа: Свой
Сообщений: 135
Регистрация: 6-04-07
Из: Бронницы
Пользователь №: 26 809



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

с одной стороны может это и полезно , например попользовавшись ератами атмела и филипса приходишь к выводу , что с таким количеством "особенностей" лучше бы сразу предоставили код которым можно пользоваться. предоставили софтварный интерфейс вместо хардварного так сказать. Только пhи этом нельзя оставлять прежнее отношение к этим апнотам - "это всего лишь пример , и поставляется as it is ".
А так лично мне было бы все равно с какой абстракцией работать - с битом в кфг регистре , или с членом структуры.


--------------------
если еррата пуста - это не хорошо а плохо
Go to the top of the page
 
+Quote Post
OVladimir
сообщение Jan 28 2008, 09:31
Сообщение #37


Участник
*

Группа: Участник
Сообщений: 40
Регистрация: 10-01-07
Из: Вильнюс
Пользователь №: 24 290



Цитата(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 офисе в Паге целую неделю, ни одного индуса не видел
Go to the top of the page
 
+Quote Post
KRS
сообщение Jan 29 2008, 20:32
Сообщение #38


Профессионал
*****

Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555



Цитата(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 качать
Go to the top of the page
 
+Quote Post
OVladimir
сообщение Jan 30 2008, 06:25
Сообщение #39


Участник
*

Группа: Участник
Сообщений: 40
Регистрация: 10-01-07
Из: Вильнюс
Пользователь №: 24 290



Получил newsletter "The ST Microcontroller Newsletter - January/February 2008" сегодня, там написано:

STM32 receives EG3 "editor's choice" award!
Ну это так, просто
Go to the top of the page
 
+Quote Post
cebotor
сообщение Jan 30 2008, 08:10
Сообщение #40


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

Группа: Свой
Сообщений: 135
Регистрация: 6-04-07
Из: Бронницы
Пользователь №: 26 809



Цитата(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 (вероятно остался от старой версии, но будет ли работать пока не проверил )


--------------------
если еррата пуста - это не хорошо а плохо
Go to the top of the page
 
+Quote Post
KRS
сообщение Jan 30 2008, 11:18
Сообщение #41


Профессионал
*****

Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555



Цитата(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 хочется его запустить
Go to the top of the page
 
+Quote Post
KRS
сообщение Jan 30 2008, 14:43
Сообщение #42


Профессионал
*****

Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555



Свершилось чудо!
Я запустил 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
Go to the top of the page
 
+Quote Post
cebotor
сообщение Jan 31 2008, 08:39
Сообщение #43


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

Группа: Свой
Сообщений: 135
Регистрация: 6-04-07
Из: Бронницы
Пользователь №: 26 809



Цитата(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
(для ЛПЦ например ) или я не прав ?


--------------------
если еррата пуста - это не хорошо а плохо
Go to the top of the page
 
+Quote Post
KRS
сообщение Jan 31 2008, 12:17
Сообщение #44


Профессионал
*****

Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555



Цитата(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
Go to the top of the page
 
+Quote Post
cebotor
сообщение Jan 31 2008, 12:58
Сообщение #45


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

Группа: Свой
Сообщений: 135
Регистрация: 6-04-07
Из: Бронницы
Пользователь №: 26 809



Цитата(KRS @ Jan 31 2008, 15:17) *
Да пересобрал OPENOCD

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

алладин ! колоссальное спасибо за предоставленную информацию !


--------------------
если еррата пуста - это не хорошо а плохо
Go to the top of the page
 
+Quote Post

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

 


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


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