Микроконтроллеры

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Микроконтроллеры » Архив » stm32f030 boot loader, rtc и прочее...


stm32f030 boot loader, rtc и прочее...

Сообщений 1 страница 30 из 46

1

пришла платка такая - https://www.sunrom.com/img/p/63/63_800.jpg
зашита была мигалка, не знаю какая (ртосный блинк или обычный). и залочена.
ну не беда. стлинк утилита, с анде ресет, жмем ресет на платке, запускаем в утилите оптионс байт, отпускаем ресет, и вот разлочиваем/стираем ... но мимо пробежал младший которого догонял мяч от старшего. мяч был срезан моей рукой в сторону, а иже с ним клава совершила кульбит мне на колени ( по принципу бутерброда )  и на пол. вуаля!!!! звиздец!!! краем глаза(на мониторе) заметил какое то окно с вопросом, ну и согласие подарила радостная встреча пола с кнопками. и все имею труп. ни чем не оживить, флешь лоадер не видит камня, стлинк ругается не подключится ему собаке, уменьшите свд частоту.
Как оживить? судя по всему  затер/разлочил бутлоадер заводской, и что-то еще, но вот что? или чего то не догоняю?

Отредактировано RA (2019-01-30 21:36:47)

2

Прозвани на наличие проводимости с внешнего разьема для программатора до микроконтроллера+ проверь обвязку и питания на ножках. Контроллер дешевый и много приятного,но для ртос слабоват.
Выгодно применять в хобби такие платы? разводкой не заниматься, раньше проектировал сам платы. Потом надоело,это отдельная ветвь разработки,да и не сделаю я дома такую плату мелкую лутом.

http://s5.uploads.ru/t/znDYM.png

3

CERGEI такое лутом делается на раз. это не мелко. ртос для сложных проектов, зачем ее пихать везде.
все что вами сказано было сделано, практически сразу как возникли трудности.
вот блин не пойму. усарт по схемам на плату подключен а10,а9(у меня там и2с висит с подтяжками), а злой куб показывает его на а2,а3.
а вот где он по факту?

Отредактировано RA (2019-01-07 14:32:57)

4

Ремапин выводов, спорить по поводу ртос или куба лень. От лута отошел, разводка плат не мое...

5

CERGEI написал(а):

Ремапин выводов, спорить по поводу ртос или куба лень. От лута отошел, разводка плат не мое...

не надо спорить. я сказал что думаю, вы сказали что думаете. что изменит спор? ничего. обменялись мнениями, то что они разные это ни хорошо, ни плохо.
ремап это понятно, а по умолчанию после сброса, где? если загрузчик жив где искать его ТХ и RX?
проверил все варианты где может находится уарт ( USART on pins PA14/PA15 or PA9/PA10). молчит гад.

Отредактировано RA (2019-01-07 15:35:52)

6

Level 2: no debug
In this level, the protection level 1 is guaranteed. In addition, the CortexM0 debug
capabilities are disabled. Consequently, the debug port (SWD), the boot from RAM (boot
RAM mode) and the boot from System memory (boot loader mode) are no more available.
такая фигня приключилась. а вот как снять теперь... по ходу никак.
по всем признакам включился Level 2 защиты флеша.
http://s5.uploads.ru/t/dFTGb.png
единственное что не увязывается - должен был остаться блинк зашитый. а светик не мигает. значит еще и загрузка из рам включилась(nBoot в оптион байтс), которая в этом режиме не работает.
какой-то рандомный хардкор, в порнографическом смысле  :D .

Отредактировано RA (2019-01-07 16:24:25)

7

ST-LINK Utility попробовать прочитать,хотя если дебаг упал. jlink через jtag попробовать мож ?
Странно как он мог сам включится ?

http://s7.uploads.ru/t/cvRyP.png

8

CERGEI именно вот так(хотя само поле оптион байтс выглядело иначе, это и понятно камни разные) все и начиналось. jlink я могу соорудить только из стлинка. короче не поможет. тут теперь только варианты хакнуть. я на это столько времени убью... проще новый мк впаять. которого нет. так что теперь какие то движения после 9-ого. а так пока гуглю может найду варианты обхода.

9

Да он копейки стоит на али,ждать тока...

10

CERGEI написал(а):

Да он копейки стоит на али,ждать тока...

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

11

Embedded boot loader
The embedded boot loader is located in the System memory, programmed by ST during
production. It is used to reprogram the Flash memory using one of the following serial
interfaces:
 USART on pins PA14/PA15 or PA9/PA10
 I2C on pins PB6/PB7 ( STM32F070xx and STM32F030xC devices only)
 USB DFU interface (STM32F070xx devices only)
For further details, please refer to AN2606.

12

Хм... я вообще честно говоря не понимаю как могут быть такие проблемы. заводской , именно заводской бут залочить нереально вроде.
Когда мне , мой студент приносит плату со словами "упс...Все сломалось и ничего не коннектиться" , я просто все подключаю, открываю стлинк, нажимаю и удерживаю ресет(или замыкаю пинцетом кондер ресета, потому что кнопку я уже давно не вывожу), далее нажимаю подключить стлинк и через секунду отпускаю кнопку(пинцет) стлинк подрубается, далее я делаю очистку МК. и все! в 99% так все оживляется. в другом 1% косяк уже по железной части.   Я вот кстати не в курсе как студент переодически так лочит МК, но факт есть факт.

пин бут я уже давно не вывожу на переключение, да и через юарт уже год ничего не подключал. стлинк всегда работает.

И кстати , эти МК дешевые... надо было вместе с платой , еще пяток самих МК взять для опытов :) У меня просто про запас куплены 10 штук и как раз сейчас один маленький проект на этом МК планируется. На счет того что нельзя сделать ЛУТОМ - фигня, все делается. Если руки дойдут, то в ближайшие дни продемонстрирую это.

13

Atomic-dm написал(а):

... именно заводской бут залочить нереально вроде...

где можно узнать это точно? можно или нет? судя по stm32f030 boot loader можно.
мк надо было взять пяток, согласен. не подумал что на равном месте косячить буду.
про лут. мне не надо это показывать, под эти корпуса и smd size до 0805( 0603 уже тяжко )  сам платы разводил, лутил и паял. норм все.

Отредактировано RA (2019-01-08 12:35:11)

14

Может он просто сгорел, залочить можно Level 2, ты же сам приводил картинку.

15

MasterElectric написал(а):

Может он просто сгорел, залочить можно Level 2, ты же сам приводил картинку.

да не отчего было гореть. плата была впаяна в свою. при первом подключении светик замигал.

16

хм, видимо действительно нельзя.
Хотя я очень сомневаюсь что можно случайно выставить level 2

17

Atomic-dm написал(а):

хм, видимо действительно нельзя.
Хотя я очень сомневаюсь что можно случайно выставить level 2

^^  оно не то чтобы случайно. я находился в состоянии как тут на картинке у сергея stm32f030 boot loader, а дальше все происходящее описано в 1 посту(е).

Отредактировано RA (2019-01-08 13:00:20)

18

Невероятное стечение обстоятельств) хорошо что они по 0.5 бакса

19

ну я за свою историю сжигал и F4 и F1 и F0 в таких количествах что уже давно перестал считать :) в последний год особо не сжигаю, но раньше - постоянно. то сопля на плате, то переплюсовка, то еще что-то. Короче к этому надо философски относится... все сжигается и все ломается. Именно поэтому у меня любого МК который использую не меньше 10 про запас лежит.

20

Ничего не себе,я за всю жизнь сжег пик18 и то от того что меня поторопили и подал управление на прямую мосфет без ограничевающего резистора. Выгорела  ножка и пик отказался работать ) Стоял в блок питании,я просто забил на него )) Недавно плату распаял, а лабораторный бп собрал с китая DPS5020 и блок питание на 480 вт :)

21

CERGEI написал(а):

Ничего не себе,я за всю жизнь сжег пик18 и то от того что меня поторопили и подал управление на прямую мосфет без ограничевающего резистора. Выгорела  ножка и пик отказался работать ) Стоял в блок питании,я просто забил на него )) Недавно плату распаял, а лабораторный бп собрал с китая DPS5020 и блок питание на 480 вт

я хоть по первой вышке и инженер, но все же схемотехнику давали нам не очень хорошо. и в основном в юности было так - сдал и забыл ... "Мы все учились понемногу, Чему-нибудь и как-нибудь." и вот когда спустя 10 лет я вернулся к электронике мне пришлось чуть ли не с закона Ома все вспоминать.
Но при этом в руках уже были разные МК и естественно сжигались они все по глупым причинам. Плюс изучение схемотехники совпало с обучением по пайке :) поэтому для меня это просто опыт. Сейчас паяю я довольно хорошо, да и самых глупых ошибок по схемам не совершаю. Как то так.

22

http://s8.uploads.ru/t/1kCSu.jpg
http://s7.uploads.ru/t/6U9A4.jpg

Вот выкроил пару часиков , развел и сделал плату с f030 на борту . Стлинк видит нормально.   Выглядит конечно не очень красиво, потому что делалось дома и достаточно "в спешке" , не все протравилось красиво и как надо (честно говоря думал что фоторезист вообще отвалится при травлении)+ со сверлением были проблемы. 0.8 сверлилось хорошо, а вот на 1.5 у меня сверла не было, были лишь обычные сверла... в итоге отверстия скосились немного. Но в целом весь задуманный функционал по схеме вроде в нормальном состоянии.

Теперь осталось выкроить еще время чтобы реализовать программу.

так что плата с 030 делается за вечер , дома и практически на коленке.

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

23

Так и ЛУТом отлично выходит. А у меня фоторезист не пошел не осилил его. 16к маловато флеша конечно у них, но цена и начинка хорошие 8 битники заменяют на 100%

24

MasterElectric написал(а):

Так и ЛУТом отлично выходит. А у меня фоторезист не пошел не осилил его. 16к маловато флеша конечно у них, но цена и начинка хорошие 8 битники заменяют на 100%

ну я раньше тоже ЛУТом делал, но потом перешел на фоторезист. С фоторезистом свои тонкости и нюансы, но если пару раз хорошо получилось, то нужно просто запомнить основные моменты (как фоторезист наносить, сколько времени под какой лампой держать, в каком растворе смывать фоторезист) и после этого качество получается лучше лута и не намного сложнее. (в луте ведь тоже свои нюансы- выбор бумаги, выбор утюга и его температуры, время глажки, манера снятия бумаги) Короче обе технологии имеют свои особенности, но как ни крути фоторезист обычно качественнее.

25

Ну как я и говорил ранее - палить МК для меня это привычно! Вчера сделал устройство, помигал лампочками, а сегодня коротнул пинцетом этот МК :) расходники....

26

http://s7.uploads.ru/Tqyjv.gif
http://s7.uploads.ru/LWtxM.png
паяно перепаяно раз по 10.

27

и все же, у китайцев он не был залочен никак. нужно было в st-link utility в настройках подключения (mode) указать hot plug. в кейле в настройках дебугера connect & reset options указать with pre-reset. и все. сунул нос куда не нужно и не знаю - получи!
пришел камушек. впаял. кидаю с 103 на 030. головняк.  :D но интересно...

Код:
#include "stm32f030x6.h"

uint16_t backlight = 1000;

void lcd_backlight(void);
void rcc_init(void);
void light_init(void);

void rcc_init (void)
{
	if ((RCC->CFGR & RCC_CFGR_SWS) == RCC_CFGR_SWS_PLL)
    {
    	RCC->CFGR &= (uint32_t) (~RCC_CFGR_SW);
    	while ((RCC->CFGR & RCC_CFGR_SWS) != RCC_CFGR_SWS_HSI){}
    }
	RCC->CR |= ((uint32_t)RCC_CR_HSEON);
  while((RCC->CR & RCC_CR_HSERDY) == 0){}
  RCC->CR &= (uint32_t)(~RCC_CR_PLLON);
  while((RCC->CR & RCC_CR_PLLRDY) != 0) {};
  FLASH->ACR = FLASH_ACR_PRFTBE | FLASH_ACR_LATENCY;
  RCC->CFGR|=RCC_CFGR_PLLSRC;
  RCC->CFGR = (RCC->CFGR & (~RCC_CFGR_PLLMUL)) | (RCC_CFGR_PLLMUL6); 
  RCC->CR |= RCC_CR_PLLON; 
  while((RCC->CR & RCC_CR_PLLRDY) == 0){};
  RCC->CFGR |= (uint32_t) (RCC_CFGR_SW_PLL);
  while ((RCC->CFGR & RCC_CFGR_SWS) != RCC_CFGR_SWS_PLL) {};
}

void lcd_backlight(void)
{//PA5 - SOFT PWM MODE
	RCC->AHBENR |= RCC_AHBENR_GPIOAEN;
	RCC->APB1ENR |= RCC_APB1ENR_TIM3EN;
	GPIOA->MODER |= GPIO_MODER_MODER5_0;//на выход
	GPIOA->OTYPER &= ~GPIO_OTYPER_OT_5;//пушпул
	GPIOA->PUPDR &= ~GPIO_PUPDR_PUPDR5;//без подтяжки
	GPIOA->OSPEEDR &= ~GPIO_OSPEEDER_OSPEEDR5;//скорость линии 2МГц
	TIM3->PSC = 48 - 1;
	TIM3->ARR = 10000 - 1;
	TIM3->CCR1 = backlight;
	TIM3->CCMR1 |= TIM_CCMR1_OC1M_0 | TIM_CCMR1_OC1M_1;
	TIM3->EGR |= TIM_EGR_UG;
	asm("nop");
	asm("nop");
	TIM3->SR = 0;
	TIM3->DIER |= TIM_DIER_CC1IE | TIM_DIER_UIE;
	TIM3->CR1 |= TIM_CR1_CEN;
	NVIC_SetPriority(TIM3_IRQn, 0);
	NVIC_EnableIRQ(TIM3_IRQn);
}


void light_init(void)
{
	//TIMER14_CH1 = PA4/PWM MODE
	RCC->AHBENR |= RCC_AHBENR_GPIOAEN;
	RCC->APB1ENR |= RCC_APB1ENR_TIM14EN;
	GPIOA->AFR[0] |= 1<<18;
	GPIOA->MODER &= ~GPIO_MODER_MODER4_0;// 10-режим альтернативной функции
	GPIOA->MODER |= GPIO_MODER_MODER4_1;// 10-режим альтернативной функции
	GPIOA->OTYPER &= ~GPIO_OTYPER_OT_4;//пушпул
	GPIOA->PUPDR &= ~GPIO_PUPDR_PUPDR4;//без подтяжки
	GPIOA->OSPEEDR &= ~GPIO_OSPEEDER_OSPEEDR4;//скорость линии 2МГц
	TIM14->PSC = 2 - 1;
	TIM14->ARR = 480 - 1;//480
	TIM14->CCR1 = 20;//150
	TIM14->CCER |=  TIM_CCER_CC1E;
	TIM14->CCMR1 |= TIM_CCMR1_OC1M_1 | TIM_CCMR1_OC1M_2;
	TIM14->CR1 |= TIM_CR1_CEN;
}

int main(void)
{
	rcc_init();
	lcd_backlight();
	light_init();
	while (1)
	{	
	}
}
/* ПРЕРЫВАНИЯ */
void TIM3_IRQHandler(void)
{
	if ((TIM3->DIER & TIM_DIER_CC1IE) && (TIM3->SR & TIM_SR_CC1IF))
	{
    TIM3->SR = ~TIM_SR_CC1IF;
    GPIOA->BSRR |= GPIO_BSRR_BR_5;
	}
	if ((TIM3->DIER & TIM_DIER_UIE) && (TIM3->SR & TIM_SR_UIF))
	{
    TIM3->SR = ~TIM_SR_UIF;
    GPIOA->BSRR |= GPIO_BSRR_BS_5;
	}
}

Отредактировано RA (2019-01-20 03:04:31)

28

Atomic-dm написал(а):

Ну как я и говорил ранее - палить МК для меня это привычно! Вчера сделал устройство, помигал лампочками, а сегодня коротнул пинцетом этот МК  расходники....

мне мосфиты жечь привычно. за неделю 4 шт. и каждый раз по глупости.

29

Тоже начал изучать F030F4 интересный камушек за свои деньги. Но уже в стиле библиотек не попишешь памяти непрывычно мало))

30

сжег пин. аминь.


Вы здесь » Микроконтроллеры » Архив » stm32f030 boot loader, rtc и прочее...