|
Виж темите без отговор | Виж активните теми
Дата и час: Вто Юли 28, 2026 1:31 am
| Автор |
Съобщение |
|
sukhoi
Ранг: Напреднал
Регистриран на: Чет Авг 21, 2008 2:52 pm Мнения: 476 Местоположение: Пловдив
|
 stm32 dfu
Малко ми е мътно в главата( по принцип си знам, че не съм много умен). Четох за DFU и не ми стана съвсем ясно на нов голеничък контролер с окъсяване на буут пинове дали мога да стигна до тази стъпка да му налея през ST dfuse фирмуера. Или преди всичко трябва да си програмирам с jtag буутлоадъра...
Идеята ми е как на stm32 най лесно и професионално може да се качва/сменя фирмуера без първоначално закачане на jtag
|
| Пон Апр 21, 2014 10:54 pm |
|
 |
|
miro_atc
Ранг: Форумен бог
Регистриран на: Нед Фев 26, 2006 6:52 pm Мнения: 11266 Местоположение: Добрич
|
 Re: stm32 dfu
Общо взето става DFU-то, но трябва да видиш конкретния чеп какви интерфейси поддържа и на кои пинове. Аз си бях изкарал серийния с други пинове, добре че имах и USB и през него тръгна, обаче не всички STM-и поддържат USB DFU.
Малко кофти е, че за да вкараш в буутстрап трябва да джъмперасаш BOOT пина (пиновете). При атмел е по-готино, щом флаша е изтрит си влиза в буутстрап и няма нужда да пипаш джъмпери, ама тука е така...
Единствения проблем дето имах е, че не успях да генерирам DFU файл от bin. Но си програмирах едно чипче през jtag и с техния софтуер го изчита и прави DFU файл и после си бачка.
|
| Вто Апр 22, 2014 9:18 am |
|
 |
|
sukhoi
Ранг: Напреднал
Регистриран на: Чет Авг 21, 2008 2:52 pm Мнения: 476 Местоположение: Пловдив
|
 Re: stm32 dfu
Здравей Миро.... Специално при този (стм32ф373) има DFU, но пък BOOT1 e в опционален регистър. Само BOOT0 ми е изкаран на пин. Това означава ли, че няма да стане тази моята дето си я мисля - без да закачвам jtag да наливам?
|
| Вто Апр 22, 2014 8:44 pm |
|
 |
|
miro_atc
Ранг: Форумен бог
Регистриран на: Нед Фев 26, 2006 6:52 pm Мнения: 11266 Местоположение: Добрич
|
 Re: stm32 dfu
Абсолютно, нямаш грижа! Те и на другите серии втория буут пин е изведен само за определени корпус. Аз не знам изобщо за къф го слагат изобщо, щото с буут1 форсираш да буутне от вътрешния РАМ, ама след като ще бутваш от РАМ трябва някой преди това да е записал нещо смислено в РАМ-а. Демек тоя опционален буут пин освен да пречи аз друга функция не виждам, радвай се че го нямаш  Иначе с буут0 избираш дали да буутне от флаша или от системния РОМ, без зачение имаш или нямаш jtag. Като избереш да бутнеш от РОМ-а тръгва техния буутстрап и от там може да програмираш флаша както искаш, включително и на девствен чип, т.е. първо прорамиране. Ако търсиш от какво да се притесняваш виж дали кварца ти е с някоя от поддържаните честоти, също така виж дали пиновете ти пасват, щото както казах аз бях ги объркал понеже в последния момент разменях и на конектора съм извел UART0 ама не с тоя мапинг с който трябва... А и имаше май някакви изисквания за определени други пинове да са в определени нива, а други да не се клатят. Не помня вече детайли, прочети си чаршафите най-добре 
|
| Вто Апр 22, 2014 9:38 pm |
|
 |
|
Цецо
Ранг: Форумен бог
Регистриран на: Пон Сеп 27, 2004 9:22 am Мнения: 15501 Местоположение: София
|
 Re: stm32 dfu
Опцията за бутване от РАМ-а, всъщност според мен е опция за бутване от външна шина. Флеш по вероятно. Като цяло също мисля, че е безполезна. Иначе точно на 3та серия би трябвало да нямаш грижи да бутнеш през USB DFU, поне на хартия е ОК. Ако както каза Миро, си уцелил кварца 
_________________ "Да еба и шибаната държава" мислеше си Гошо, докато се опитваше да улучи кофата за боклук от балкона на осмия етаж.
|
| Сря Апр 23, 2014 9:41 am |
|
 |
|
sukhoi
Ранг: Напреднал
Регистриран на: Чет Авг 21, 2008 2:52 pm Мнения: 476 Местоположение: Пловдив
|
 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Мхз, колкото съм го гледал навсякъде по китове с този контролер
|
| Сря Апр 23, 2014 11:16 pm |
|
 |
|
miro_atc
Ранг: Форумен бог
Регистриран на: Нед Фев 26, 2006 6:52 pm Мнения: 11266 Местоположение: Добрич
|
 Re: stm32 dfu
Аз не съм ползвал Ф3, при Ф2 е по-различно - пулъпа си е вграден, няма нужда от серийна терминация, демек има известни разлики затова най-добре виж документацията. Но принципно за USB си трябват тия сигнали. През VBUS виждаш дали има хост, а като закачиш пулъпа хоста вижда че си готов да си приказвате. Без тези сигнали може и да тръгне, ама ще е на "сляпо". Применро ако пулъпа ти е перманентен още като ти пуснат захранването хоста ще те види, ще пробва да те разпознае и след 2-3 опита ще престане ако твоя буутлоадер не е тръгнал още и не отговаря. И като нямаш възможност софтуерно да разклатиш пулъпа, ще трябва хардуерно да извадиш и да сложиш кабела за да накараш хоста пак да пробва. Ще стане като с китайските боклуци - тръгва кога си иска, ако изобщо тръгне де... Освен това ти казах и в предишния пост да огледаш тия сигнали, щото ти може да кажеш "абе ще ползвам само USB DFU, няма да ползвам серийните", да ама бутлоадера ще включи всички интерфейси дето поддържа и ще клати или чете съответните пинове преди да реши откъде точно да буутне. Трябва да го имаш това предвид, за да няма после инфекции по платката ти и да се чудиш що по време на буут се случват разни неща...
|
| Чет Апр 24, 2014 9:29 am |
|
 |
|
sukhoi
Ранг: Напреднал
Регистриран на: Чет Авг 21, 2008 2:52 pm Мнения: 476 Местоположение: Пловдив
|
 Re: stm32 dfu
Здравей Миро. Разбирам те какво ми казваш ( ще взема и напредвид да установя в твърдо състояние UART 1 RX и UART2 RX, когато буутвам през USB). Само това не ми става ясно(няма го и разписано във функциите на пиновете). Как да разбера къде да вържа VBUS_SENS и nUSB_PU- сигнала, който управлява транзистора.
В смисъл такъв - предполагам това е, когато софтуерът(юзърския) участва в комуникацията...
Но при програмиране на девствен чип( а и после) процесора от къде знае точно на кой пин му е вързан VBUS_SENS и nUSB_PU, че да ги чете и клати...
Ще използвам USB само да ъпдейтвам фирмуера. Нямам никакъв юзерски код свързан с USB в проекта...
|
| Чет Апр 24, 2014 8:32 pm |
|
 |
|
Vesko
Ранг: Популярен
Регистриран на: Пон Мар 22, 2010 8:52 pm Мнения: 328
|
 Re: stm32 dfu
Според мен тези два сигна не се ползват от DFU-то.
|
| Чет Апр 24, 2014 9:03 pm |
|
 |
|
Цецо
Ранг: Форумен бог
Регистриран на: Пон Сеп 27, 2004 9:22 am Мнения: 15501 Местоположение: София
|
 Re: stm32 dfu
Има един апликейшън някъде на сайта, който описва само бутлоадерите на всички контролери, там си пише какво ти трябва и какво не.
Edit: Това е документа - AN2606.
Така на прима-виста, изглежда, че би следвало да е достатъчно да вържеш пул-ъп към 3.3В на DP шината( твърдо ). Като пуснеш захранването и пина BOOT0 е на плюс би трябвало да запали DFU-то.
Може би едно важно уточнение е откъде се храни схемата - от USB-то или от отделно захранване.
_________________ "Да еба и шибаната държава" мислеше си Гошо, докато се опитваше да улучи кофата за боклук от балкона на осмия етаж.
|
| Пет Апр 25, 2014 8:52 am |
|
 |
|
miro_atc
Ранг: Форумен бог
Регистриран на: Нед Фев 26, 2006 6:52 pm Мнения: 11266 Местоположение: Добрич
|
 Re: stm32 dfu
еми ST... смотани документации На пръв поглед и аз не виждам из документациите нищо, а нямам време да ровя и чета всичко. Значи от гледна точка на USB като девайс може и да не следиш VBUS. Малко кофти е, но би трябвало да стане. Пулъп обаче трябва да има, то си го пише и AN-то. Ако наистина го ползваш само за първоначален ъпдейт може да пробваш с перманентно набучен резистор, без транзистор. Но те съветвам да го пробваш преди да правиш платка и по възможност да го пробваш на няколко компютъра. Аз се опасявам, че техния буутлодер няма да тръгва толкова бързо при powerup и хоста ще се отказва. Но пък ако платката ти е захранена и само ръгнеш кабела тогава може и да зацепва.
|
| Пет Апр 25, 2014 9:26 am |
|
 |
|
Цецо
Ранг: Форумен бог
Регистриран на: Пон Сеп 27, 2004 9:22 am Мнения: 15501 Местоположение: София
|
 Re: stm32 dfu
Абсолютно - трябва да пробваш, написано е като да не ти трябват, ама... Другия вариант е - резервирай си тия пинове ако имаш възможност, сложи си там управлението на пулъпа по начина показан в твоята схемка... пък след това ще играеш според зависи и следващия път вече ще знаеш.
_________________ "Да еба и шибаната държава" мислеше си Гошо, докато се опитваше да улучи кофата за боклук от балкона на осмия етаж.
|
| Пет Апр 25, 2014 9:44 am |
|
 |
|
miro_atc
Ранг: Форумен бог
Регистриран на: Нед Фев 26, 2006 6:52 pm Мнения: 11266 Местоположение: Добрич
|
 Re: stm32 dfu
Цецо, проблемът е че няма в документацията такива пинове...
Не ги виждам в дейташийта в списъка с пинове и алтернативни функции... В референс мануала не ги виждам в описанието на USB периферията... Твоят апп нот също мълчи като пукал по темата...
Може и да ги има и аз да не съм ги видял, ама баси ...
|
| Пет Апр 25, 2014 9:50 am |
|
 |
|
Цецо
Ранг: Форумен бог
Регистриран на: Пон Сеп 27, 2004 9:22 am Мнения: 15501 Местоположение: София
|
 Re: stm32 dfu
Ами затова мисля, че не му трябват за бутлоадера. Вероятно разчитат на това, че като запали процесора, ще успее достатъчно бързо да се освести да почне процеса на енумеризация. Не виждам проблем, ама както казваш, докато човек не пробва... няма как да знае.
В документацията на 4-ката си има пин нарочен за следене на VBUS има си и бит за разрешаване на функцията и мисля, че даже евент си имаше. Но всичко това е в големия мануал, явно не се ползва от бутлоадера, защото и там не говорят за него.
Не ми се чете как е направено при 3ките...
Както казах, аз DFU съм ползвал само на 1ца, там всичко си правиш сам.
_________________ "Да еба и шибаната държава" мислеше си Гошо, докато се опитваше да улучи кофата за боклук от балкона на осмия етаж.
|
| Пет Апр 25, 2014 10:03 am |
|
 |
|
sukhoi
Ранг: Напреднал
Регистриран на: Чет Авг 21, 2008 2:52 pm Мнения: 476 Местоположение: Пловдив
|
 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
|
| Пет Апр 25, 2014 8:26 pm |
|
|
Кой е на линия |
Потребители разглеждащи този форум: 0 регистрирани и 1 госта |
|
Вие не можете да пускате нови теми Вие не можете да отговаряте на теми Вие не можете да променяте собственото си мнение Вие не можете да изтривате собствените си мнения Вие не можете да прикачвате файл
|
|