adnega 11 17 июня, 2020 Опубликовано 17 июня, 2020 · Жалоба 1 час назад, DpInRock сказал: Только USART1. Покажите пожалуйста обработчик прерывания USART1. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 235 17 июня, 2020 Опубликовано 17 июня, 2020 · Жалоба 2 часа назад, DpInRock сказал: Внутри прерывания - считывание символа в волатильную переменную. Для теста полезно было бы без всяких обработчиков: Запустить извне входящий поток символов в UART на максимальной частоте следования и попробовать выполнить запись флешь. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Vlad_G 8 17 июня, 2020 Опубликовано 17 июня, 2020 · Жалоба On 6/15/2020 at 7:04 PM, DpInRock said: Вот такое прямо наблюдение. Полно глюков наблюдается, главное понять в чьих байтах они проявляются. Я тут ставил вопрос про работу таймеров в 030F4 - так и повисло по причинам, хоть и решил по факту. Можно, конечно, сетовать на криворукость стшников, но всю жисть этим заниматься не продуктивно, хотя, определенно, железные глюки есть. Мой проект сейчас в этой части похож на ваш, 030F4, идут байты с uart через dma, параллельно эмулируется eeprom, нормально работает. Себе пометил. Спасибо. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
adnega 11 17 июня, 2020 Опубликовано 17 июня, 2020 · Жалоба 32 минуты назад, Vlad_G сказал: железные глюки есть. Все железные глюки перечислены в ES. Практика показывает, что в подавляющем большинстве случаев у ST все норм, а не прав программист. Я не припомню ни одного обратного случая. Да, есть особенности, о которых нужно знать, и в документации все можно найти. Глянул ES - там ничего по теме топика нет. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Arlleex 173 17 июня, 2020 Опубликовано 17 июня, 2020 · Жалоба 59 минут назад, adnega сказал: Все железные глюки перечислены в ES. Но, все-таки, редко бывают и реально песочные глюки. Я однажды на такие натыкался, правда на процессоре от Microchip. Однако с тезисом 1 час назад, adnega сказал: Практика показывает, что в подавляющем большинстве случаев у ST все норм, а не прав программист. соглашусь. Всяко может быть, а вдруг у ТС китайский аналог STM-ки, и он сам даже об этом не знает? Вполне вероятный исход событий. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 235 17 июня, 2020 Опубликовано 17 июня, 2020 · Жалоба 1 час назад, Arlleex сказал: Но, все-таки, редко бывают и реально песочные глюки. Я однажды на такие натыкался, правда на процессоре от Microchip. Я тоже. На глюк не указанный в еррата (позже добавили). Но было такое всего 1 раз за всю карьеру (насколько помню). Что как бы и подтверждает тезис о том, что баг ТС-а с вероятностью 99.99% - его собственный. Тем более на таких популярных МК, которые много кто использует, баги должны быстро выявляться и попадать в еррата. Если б ещё чип какой-то редкий был, другое дело.... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Arlleex 173 19 июня, 2020 Опубликовано 19 июня, 2020 · Жалоба Ну, собственно, контроллер STM32F030R8T6. Тактирование от HSI, Flash Prefetch Buffer выключен. USART1 19200-E-1, RX/TX на PA10/PA9. В системе крутится еще таймер TIM1, по 1мс прерыванию которого отсчитываю 1с и даю флажок в main(). В main() по этому флажку запускаю стирание последнего сектора Flash. С ПК-шной программы задуваю сплошной поток данных с 0 паузой между байтами. Раз в 1с, там же, где даю команду на очистку сектора Flash, переключаю светодиод. Переключается, работает. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DpInRock 0 22 июня, 2020 Опубликовано 22 июня, 2020 · Жалоба STM32F030C8. У иных STM32 такое не наблюдается. Я был бы рад и прыгал до потолка, если бы нашелся мой глюк. Но у меня потолки около 3 метров. Не допрыгнешь. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 235 10 июля, 2020 Опубликовано 10 июля, 2020 · Жалоба 19.06.2020 в 10:08, Arlleex сказал: Ну, собственно, контроллер STM32F030R8T6. Тактирование от HSI, Flash Prefetch Buffer выключен. До этого я не имел практических дел (почти) с "народным" STM32F103. Но захотелось сделать небольшую ерундовину. Взял давно валявшуюся платку с STM32F103R8T6 (некогда купленную на али). Всё более-менее запустилось, но в процессе запуска наткнулся на один косяк: При включённом "prefetch buffer" + выполнении кода из flash + достаточно высокой SYSCLK происходит сбой в работе - выполнение кода процессором улетает по случайным адресам памяти. Если выполнять код из ОЗУ на любой штатной SYSCLK - всё ок. Если выключить prefetch - тоже всё ок. Методом тыка нашёл, что на SYSCLK<=36МГц - всё работает ок, на SYSCLK>=48МГц - имеет место быть глюк (между этими частотами не искал точную граничную частоту). Тактирование от кварца+PLL если что. С питанием всё ок. Также прочитал про все биты в RCC, PWR и FLASH.ACR - ничего. Прошерстил errata - там про это ни слова. Вот и странно - вроде такой со всех сторон обсосанный чип, а про такой глюк нет упоминаний. Хотя в errata указано "This errata sheet applies to the revisions B, Z, Y, 1, 2, 3 and X". Может такой баг есть в ревизии A? Неужто у меня она??? На сайте ST для неё ничего нет. Или китайцы прислали подделку, а не true STM32F103? PS: Вобщем интерес скорее академический - это известный баг STM32F103 или у меня в консерватории что-то не так? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Vasily_ 54 10 июля, 2020 Опубликовано 10 июля, 2020 · Жалоба 19 минут назад, jcxz сказал: китайцы прислали подделку Отбраковку. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Arlleex 173 10 июля, 2020 Опубликовано 10 июля, 2020 · Жалоба 1 час назад, jcxz сказал: PS: Вобщем интерес скорее академический - это известный баг STM32F103 или у меня в консерватории что-то не так? Девайсов на 103-м у нас полно и нареканий никогда не было... Присоединяюсь к ответу @Vasily_, а может китайский аналог STM-ки. На али ардуино-платы на этих МК ведрами за копейки продают, так что там или клон, или брак. P.S. Все девайсы на этом МК у меня на максимальной частоте, HSE от кварца + PLL, prefetch buffer тоже всегда включен. Подобный баг наблюдал один раз в жизни, когда не правильно настроил количество циклов доступа к Flash. Но он проявлялся практически сразу. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AHTOXA 15 11 июля, 2020 Опубликовано 11 июля, 2020 · Жалоба 10.07.2020 в 21:56, jcxz сказал: Методом тыка нашёл, что на SYSCLK<=36МГц - всё работает ок, на SYSCLK>=48МГц - имеет место быть глюк (между этими частотами не искал точную граничную частоту). Тактирование от кварца+PLL если что. Нужно настроить wait-states в регистре FLASH_ACR. Цитата из RM: Цитата Bits 2:0 LATENCY: Latency These bits represent the ratio of the SYSCLK (system clock) period to the Flash access time. 000 Zero wait state, if 0 < SYSCLK≤ 24 MHz 001 One wait state, if 24 MHz < SYSCLK ≤ 48 MHz 010 Two wait states, if 48 MHz < SYSCLK ≤ 72 MHz Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
haker_fox 61 12 июля, 2020 Опубликовано 12 июля, 2020 · Жалоба On 7/11/2020 at 2:05 AM, Arlleex said: На али ардуино-платы на этих МК ведрами за копейки продают Я таки не понимаю, как можно брать у китайцев некитайские микросхемы? Одно дело купить там esp8266 (хотя слышал что одни китайцы подделываю других), другое дело евпропейскую F103... Хотя у меня на работе взял плату с клоном китайским, маркировку не помню. Но оканчивается на F103. Работает. Вот только до каких пределов? 7 hours ago, AHTOXA said: Нужно настроить wait-states в регистре FLASH_ACR. Цитата из RM: О, появилась надежда, что китайцы - ребята честные) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 134 12 июля, 2020 Опубликовано 12 июля, 2020 · Жалоба 12 часов назад, AHTOXA сказал: Нужно настроить wait-states в регистре FLASH_ACR. Цитата из RM: Тоже про это подумал, но автор темы пишет: 10.07.2020 в 19:56, jcxz сказал: Также прочитал про все биты в RCC, PWR и FLASH.ACR - ничего. Я так понял, что эти биты он настроил. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AHTOXA 15 12 июля, 2020 Опубликовано 12 июля, 2020 · Жалоба 1 час назад, Сергей Борщ сказал: Я так понял, что эти биты он настроил. Ну, если настроил (и сделал это правильно), то эта тема будет темой про необъяснимые явления в мире микроконтроллеров Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться