| Микроконтролери и електроника http://mcu-bg.com/mcu_site/ |
|
| stm32 dfu http://mcu-bg.com/mcu_site/viewtopic.php?f=7&t=12863 |
Страница 1 от 2 |
| Автор: | sukhoi [ Пон Апр 21, 2014 10:54 pm ] |
| Заглавие: | stm32 dfu |
Малко ми е мътно в главата( по принцип си знам, че не съм много умен). Четох за DFU и не ми стана съвсем ясно на нов голеничък контролер с окъсяване на буут пинове дали мога да стигна до тази стъпка да му налея през ST dfuse фирмуера. Или преди всичко трябва да си програмирам с jtag буутлоадъра... Идеята ми е как на stm32 най лесно и професионално може да се качва/сменя фирмуера без първоначално закачане на jtag |
|
| Автор: | miro_atc [ Вто Апр 22, 2014 9:18 am ] |
| Заглавие: | Re: stm32 dfu |
Общо взето става DFU-то, но трябва да видиш конкретния чеп какви интерфейси поддържа и на кои пинове. Аз си бях изкарал серийния с други пинове, добре че имах и USB и през него тръгна, обаче не всички STM-и поддържат USB DFU. Малко кофти е, че за да вкараш в буутстрап трябва да джъмперасаш BOOT пина (пиновете). При атмел е по-готино, щом флаша е изтрит си влиза в буутстрап и няма нужда да пипаш джъмпери, ама тука е така... Единствения проблем дето имах е, че не успях да генерирам DFU файл от bin. Но си програмирах едно чипче през jtag и с техния софтуер го изчита и прави DFU файл и после си бачка. |
|
| Автор: | sukhoi [ Вто Апр 22, 2014 8:44 pm ] |
| Заглавие: | Re: stm32 dfu |
Здравей Миро.... Специално при този (стм32ф373) има DFU, но пък BOOT1 e в опционален регистър. Само BOOT0 ми е изкаран на пин. Това означава ли, че няма да стане тази моята дето си я мисля - без да закачвам jtag да наливам? |
|
| Автор: | miro_atc [ Вто Апр 22, 2014 9:38 pm ] |
| Заглавие: | Re: stm32 dfu |
Абсолютно, нямаш грижа! Те и на другите серии втория буут пин е изведен само за определени корпус. Аз не знам изобщо за къф го слагат изобщо, щото с буут1 форсираш да буутне от вътрешния РАМ, ама след като ще бутваш от РАМ трябва някой преди това да е записал нещо смислено в РАМ-а. Демек тоя опционален буут пин освен да пречи аз друга функция не виждам, радвай се че го нямаш Иначе с буут0 избираш дали да буутне от флаша или от системния РОМ, без зачение имаш или нямаш jtag. Като избереш да бутнеш от РОМ-а тръгва техния буутстрап и от там може да програмираш флаша както искаш, включително и на девствен чип, т.е. първо прорамиране. Ако търсиш от какво да се притесняваш виж дали кварца ти е с някоя от поддържаните честоти, също така виж дали пиновете ти пасват, щото както казах аз бях ги объркал понеже в последния момент разменях и на конектора съм извел UART0 ама не с тоя мапинг с който трябва... А и имаше май някакви изисквания за определени други пинове да са в определени нива, а други да не се клатят. Не помня вече детайли, прочети си чаршафите най-добре |
|
| Автор: | Цецо [ Сря Апр 23, 2014 9:41 am ] |
| Заглавие: | Re: stm32 dfu |
Опцията за бутване от РАМ-а, всъщност според мен е опция за бутване от външна шина. Флеш по вероятно. Като цяло също мисля, че е безполезна. Иначе точно на 3та серия би трябвало да нямаш грижи да бутнеш през USB DFU, поне на хартия е ОК. Ако както каза Миро, си уцелил кварца |
|
| Автор: | sukhoi [ Сря Апр 23, 2014 11:16 pm ] |
| Заглавие: | Re: stm32 dfu |
Благодаря за отговорите. Ще пробвам и ще кажа какъв е резултата за stm32f3. Само един въпрос още. Разгледах тази схемка : http://ebrombaugh.studionebula.com/embe ... .4_pg1.pdf Ако използвам usb само за буутлоадър мога ли да спестя тези линии: nUSB_PU и VBUS_SENS. Тоест да опроводя само DP и DM през 22R резистори и да pull-up DP с 1.5к. ? За кварца - ами сложил съм 8Мхз, колкото съм го гледал навсякъде по китове с този контролер |
|
| Автор: | miro_atc [ Чет Апр 24, 2014 9:29 am ] | |||||||||
| Заглавие: | Re: stm32 dfu | |||||||||
Аз не съм ползвал Ф3, при Ф2 е по-различно - пулъпа си е вграден, няма нужда от серийна терминация, демек има известни разлики затова най-добре виж документацията. Но принципно за USB си трябват тия сигнали. През VBUS виждаш дали има хост, а като закачиш пулъпа хоста вижда че си готов да си приказвате. Без тези сигнали може и да тръгне, ама ще е на "сляпо". Применро ако пулъпа ти е перманентен още като ти пуснат захранването хоста ще те види, ще пробва да те разпознае и след 2-3 опита ще престане ако твоя буутлоадер не е тръгнал още и не отговаря. И като нямаш възможност софтуерно да разклатиш пулъпа, ще трябва хардуерно да извадиш и да сложиш кабела за да накараш хоста пак да пробва. Ще стане като с китайските боклуци - тръгва кога си иска, ако изобщо тръгне де... Освен това ти казах и в предишния пост да огледаш тия сигнали, щото ти може да кажеш "абе ще ползвам само USB DFU, няма да ползвам серийните", да ама бутлоадера ще включи всички интерфейси дето поддържа и ще клати или чете съответните пинове преди да реши откъде точно да буутне. Трябва да го имаш това предвид, за да няма после инфекции по платката ти и да се чудиш що по време на буут се случват разни неща... |
||||||||||
| Автор: | sukhoi [ Чет Апр 24, 2014 8:32 pm ] |
| Заглавие: | Re: stm32 dfu |
Здравей Миро. Разбирам те какво ми казваш ( ще взема и напредвид да установя в твърдо състояние UART 1 RX и UART2 RX, когато буутвам през USB). Само това не ми става ясно(няма го и разписано във функциите на пиновете). Как да разбера къде да вържа VBUS_SENS и nUSB_PU- сигнала, който управлява транзистора. В смисъл такъв - предполагам това е, когато софтуерът(юзърския) участва в комуникацията... Но при програмиране на девствен чип( а и после) процесора от къде знае точно на кой пин му е вързан VBUS_SENS и nUSB_PU, че да ги чете и клати... Ще използвам USB само да ъпдейтвам фирмуера. Нямам никакъв юзерски код свързан с USB в проекта... |
|
| Автор: | Vesko [ Чет Апр 24, 2014 9:03 pm ] |
| Заглавие: | Re: stm32 dfu |
Според мен тези два сигна не се ползват от DFU-то. |
|
| Автор: | Цецо [ Пет Апр 25, 2014 8:52 am ] |
| Заглавие: | Re: stm32 dfu |
Има един апликейшън някъде на сайта, който описва само бутлоадерите на всички контролери, там си пише какво ти трябва и какво не. Edit: Това е документа - AN2606. Така на прима-виста, изглежда, че би следвало да е достатъчно да вържеш пул-ъп към 3.3В на DP шината( твърдо ). Като пуснеш захранването и пина BOOT0 е на плюс би трябвало да запали DFU-то. Може би едно важно уточнение е откъде се храни схемата - от USB-то или от отделно захранване. |
|
| Автор: | miro_atc [ Пет Апр 25, 2014 9:26 am ] |
| Заглавие: | Re: stm32 dfu |
еми ST... смотани документации На пръв поглед и аз не виждам из документациите нищо, а нямам време да ровя и чета всичко. Значи от гледна точка на USB като девайс може и да не следиш VBUS. Малко кофти е, но би трябвало да стане. Пулъп обаче трябва да има, то си го пише и AN-то. Ако наистина го ползваш само за първоначален ъпдейт може да пробваш с перманентно набучен резистор, без транзистор. Но те съветвам да го пробваш преди да правиш платка и по възможност да го пробваш на няколко компютъра. Аз се опасявам, че техния буутлодер няма да тръгва толкова бързо при powerup и хоста ще се отказва. Но пък ако платката ти е захранена и само ръгнеш кабела тогава може и да зацепва. |
|
| Автор: | Цецо [ Пет Апр 25, 2014 9:44 am ] |
| Заглавие: | Re: stm32 dfu |
Абсолютно - трябва да пробваш, написано е като да не ти трябват, ама... Другия вариант е - резервирай си тия пинове ако имаш възможност, сложи си там управлението на пулъпа по начина показан в твоята схемка... пък след това ще играеш според зависи и следващия път вече ще знаеш. |
|
| Автор: | miro_atc [ Пет Апр 25, 2014 9:50 am ] |
| Заглавие: | Re: stm32 dfu |
Цецо, проблемът е че няма в документацията такива пинове... Не ги виждам в дейташийта в списъка с пинове и алтернативни функции... В референс мануала не ги виждам в описанието на USB периферията... Твоят апп нот също мълчи като пукал по темата... Може и да ги има и аз да не съм ги видял, ама баси ... |
|
| Автор: | Цецо [ Пет Апр 25, 2014 10:03 am ] |
| Заглавие: | Re: stm32 dfu |
Ами затова мисля, че не му трябват за бутлоадера. Вероятно разчитат на това, че като запали процесора, ще успее достатъчно бързо да се освести да почне процеса на енумеризация. Не виждам проблем, ама както казваш, докато човек не пробва... няма как да знае. В документацията на 4-ката си има пин нарочен за следене на VBUS има си и бит за разрешаване на функцията и мисля, че даже евент си имаше. Но всичко това е в големия мануал, явно не се ползва от бутлоадера, защото и там не говорят за него. Не ми се чете как е направено при 3ките... Както казах, аз DFU съм ползвал само на 1ца, там всичко си правиш сам. |
|
| Автор: | sukhoi [ Пет Апр 25, 2014 8:26 pm ] |
| Заглавие: | Re: stm32 dfu |
Никъде не намерих( прерових всички документи и менюъли) и аз описание къде да ги вържа тези линии. Писах на този пич от линка горе, ако може да даде информация по въпроса... Това е отговора: Vladimir, The STM32F373 USB peripheral does not have dedicated inputs for VBUS_SENSE and USB_PU - These are optional signals that some USB applications might want to use and they will be implemented with GPIO as you see fit. The USB DFU function of the bootloader does not use them which is why my pullup circuit defaults to "on" and must be forced off when desired. The short answer is - hook them to any spare pins you want. Eric |
|
| Страница 1 от 2 | Часовете са според зоната UTC + 2 часа [ DST ] |
| Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |
|