Программирование МК STM32. УРОК 1. Установка Keil μVision
HTML-код
- Опубликовано: 5 июл 2024
- Программирование на СИ в среде Keil μVision.
Начинаем работать с микроконтроллером STM32F407VG на плате STM32F4DISCOVERY.
Знакомимся с данной платой и микроконтроллером.
Устанавливаем среду программирования Keil 5 μVision, а также некоторые дополнительные библиотеки.
Устанавливаем драйвер платы.
Создаем новый проект в Keil, подключаем библиотеки, и пишем простенький код по зажиганию светодиода а плате.
В ходе написания исходного кода мы столкнемся с определенными трудностями, в основном связанными с невнимательностью и увидим, к каким последствиям это приводит.
Купить отладочную плату STM32F4-DISCOVERY можно здесь ali.pub/178fif
Навигация по видео:
00:00 Введение
01:01 Отладочная плата
04:20 Скачиваем Keil
09:15 Скачиваем библиотеку SPL
10:37 Установка IDE
14:53 Создадим проект
17:03 Добавим в проект необходимые файлы из библиотеки
25:39 Настроим кодовую страницу
27:12 Подключим плату
34:45 Настройка ножек порта
41:32 Испытаем код на практике
Ссылка на видео по распаковке посылке с платой и с первым знакомстве с ней • STM32F407 DISCOVERY из...
Текстовая версия урока здесь narodstream.ru/stm-urok-1-usta...
Группа в контакте club116656325
Группа в Одноклассниках ok.ru/group/52987126153436
Группа в Facebook / 236905359999556
Мой сайт "Программирование МК" narodstream.ru
Форум narodstream.ru/forum
Вы можете помочь проекту:
ЮMoney
yoomoney.ru/to/41001176473465
Webmoney
Z341906933112
Карта Сбербанка (МИР)
2202201799288929
Можно в USDT
1) Сеть:TRC20
Адрес: TBBPFk5Widf1CYvF7Xk5ssKXeiPJHwtMgS
2) Сеть: BSC BNB Smart Chain (BEP20) (комиссия намного меньше)
Адрес: 0x2e38754DF1e54649Bf0D5CD6fD6D8c96a9f22f17
3) Сеть: Huobi ECO Chain (HECO) (комиссия еще меньше)
Адрес: 0x2e38754DF1e54649Bf0D5CD6fD6D8c96a9f22f17
Красава - я собрал все ошибки вплоть до отсутствия последней пустой строки. Очень доходчиво! Спасибо! Тем кто хочет освоить сам - там куча примеров валяется!
огромное спасибо за видео! порог перед началом изучения stm32 с keil, как мне кажется весьма сложный, но благодаря этому видео всё получилось.
Спасибо вам большое за уроки! все очень подробно и понятно рассказано
Я вас люблю, полтора дня с лаборатокой махался, пока на ваше видео не наткнулся. Спасибо большое!
Автору большое спасибо, все очень доходчиво. Упустили настройку ST-Link. ниже уже писали. Остальное все отлично.
Полезный цикл для новичков, спасибо!
Спасибо. Хороший урок. Всё получилось. Компиллер, правда, выдал ошибку, о которой писал
Gena Levinson. Я забил в гугл строку с текстом этой ошибки и на одном из форумов получил ответ. Все заработало.
Очень замечательно объясняете , надо вам книгу написать)
Стоит смотреть курс, без знания c++, но имею большой опыт работы с PHP
Огромная благодарность автору!!! Жаль, что только три лекции по STM32. Особенно хочу отметить нужность разбора работы напрямую с регистрами, где в документации находить нужную информацию и как ее использовать. Просмотрел много уроков других авторов - оставалось много вопросов, а тут вопросов не осталось.
Их не 3, а 300 с лишним)
на 1.5 хорошо смотреть
тоже так смотрю)
ахах. в 2019 году будет скорость х2, еще лучше
@@ogrelg4131 2020 .. смотрю на 2х.. но начал глядеть с какого-то 200-ого урока... просто ради любопытсва зашёл на первый урок по СТМкам и этот коммент нашёл тут ))) прикольно
А я перед сном смотрю. Бессонница замучала, второй день уже. А с телефона скорость не меняется...
@@dazzershell Насколько я знаю меняется
Спасибо за урок!
Excellent tutorial!!
реально толково обясняет молодец ато и так запутано а если нет терпения помучся сам
по моему он ничего не объясняет, просто говорит что делает.
Топ, для новичков
Спасибо.
Не знаю как у других, но в моем случае когда я самостоятельно изучал AVR 8-bit, то отладочная плата мне медвежью услугу оказала. Си я изучил, начал писать программы для платы ATmega128 с встроенным программатором, а как железо, сам контроллер, обвес и программатор подключать вообще не представлял, точнее представлял смутно, и когда дело дошло до устройств получилась жопа. В итоге все стало нормально когда купил ATmega32, макетку и программатор и тупо руками и с помощью проводков все спаял и до меня только тогда дошло что за фьюзы такие что есть такое ISP500. С Xilinx была похожая хрень. Миниатюрная фигулька с лицензионной программой - жопа, и нихрена не поймешь. Купил микросхему, память к ней, заебашил платку с обвесом и купил программатор, скачал старую среду разработки и все прояснилось, но к сожалению ПЛИС - недешевая игрушка. То же самое думаю сейчас про 32-битные контроллеры - хочу изучить их но без всяких ардуино
Теперь и STM32 оригинальные тоже не дешевая игрушка)
Подскажите пожалуйста, можно ли добавить всплывающие подсказки при написании кода в 4 версии Keil-a?
Спасибо
Всё очень хорошо, вопрос:
не могли бы вы делать видио 1080
+Дмитрий DimmiD
При технологии передачи данных через интернет в нашем поселке (ADSL) у меня один ролик 720p отправляется почти всю ночь. Если делать 1080p, то тогда придется уменьшать битрейтинг, что на деле все равно не приведет к увеличению качества, а наоборот уменьшит качество, так что лучше меньше да без шума. Пока так. Как только придут к нам новые технологии, так и будет 1080p50fps
@@narodstream552 вы в посёлке принципиально живёте с такими знаниями? )) привет из 2020
@@user-kg9qk8rt1e может он фрилансер..
Собираюсь попробовать STMы, но для моих нужд STM8L более подходит, вопрос, возможно ли по вашим урокам учиться но приминительно к моей модели? Не увидел на вашем видео в Keil серии 8 битных микриков...
такое длинное видео)))
Комментарий со ссылкой был удалён, так как это не приветствуется сообществом RUclips.
Тем не менее я по ссылке сходил и посмотрел. Данного автора знаю давно, ничего против не имею. Только кому что понятнее. Здесь мнений очень много. А любить меня не надо). Я просто делюсь своими мыслями, как могу. И вроде получается, раз получил такую поддержку от производителей контроллеров, про которые мы сейчас смотрим урок.
Вы молодец! Благодарю за уроки!!!!!!!
Что значит GPIOD->MODER = 0x40000000 , интересует именно "0x40000000 " как узнать, что это именно 15? Просто для меня DEC 15 == HEX F или 0х000 это не HEX запись, а что-то инное?
Обясните пожалуйста почему 55 где взялось ка считать не могу понять
а есть возможность под stm32f746 показать? хотя бы где файлы взять. у меня всё на _hal показывает
Добрый день, все сделал как в вашем уроке. Но не могу избавиться от одной ошибки L6236e. Даже если создать простой проект и добавить файл си, всеравно выходит.
Здравствуйте. У меня неактивна кнопка Pack Installer (12:55). Подскажите, пожалуйста, что делать.
Добрый день, установку кейла и создание проекта я делал шаг за шагом, как показано в уроке, но у меня после первой сборки проекта все равно вылезает 19 ошибок. Единственное отличие только в том, что у меня плата с МК STM32F401VC. Ошибки такого плана:
pl/src/stm32f4xx_fsmc.c(189): error: use of undeclared identifier 'FSMC_BCR1_WAITCFG'
FSMC_BCR1_WAITPOL | FSMC_BCR1_WRAPMOD | FSMC_BCR1_WAITCFG | \
^
pl/src/stm32f4xx_fsmc.c(190): error: use of undeclared identifier 'FSMC_BCR1_WREN'
FSMC_BCR1_WREN | FSMC_BCR1_WAITEN | FSMC_BCR1_EXTMOD | \
и 34 warnings:
pl/src/stm32f4xx_spi.c(1258): warning: implicit conversion loses integer precision: 'int' to 'uint16_t' (aka 'unsigned short') [-Wimplicit-int-conversion]
itmask = 0x01
Наконец-то начал смотреть уроки осмысленно, с контроллером в руках. Имею NUCLEO-F030R8. Проблемка при первой сборке - нет файла stm32f0xx_conf.h. У вас он в библиотеке STM32F4xx_DSP_StdPeriph_Lib. У меня такого нет. Что-то надо отключить? Хотя по имени файла и не скажешь...
Скажите пожалуйста у вас по can stm32 с hal уроки есть? Я не нашёл
Добрый вечер, у меня возникла ошибка на этапе заливания кода в контроллер: ( *** error 65: access violation at 0x40023830 : no 'write' permission) .О чем она? и как с ней бороться?
У меня .h файл в режиме Read-only и с иконкой ключа, и собственно я ничего не могу там изменить, как это исправить?
Please add your avr and stm32 videos english subtitle! Thank you very much.
Здравствуйте. Спасибо за уроки. Я новичок в этом деле. Вы не могли бы подсказать, как можно измерить производительность разных компиляторов (например, Keil) с помощью бенчмарков (например, Dhrystone) при использовании stm32f407vg
Спасибо за оценку!
Нет, вряд ли. Даже не слышал о таком.
Спасибо за Ваши уроки!
Возникла та же проблема, как у Meow Audio. Что то блокирует загрузку драйвера микроконтроллера.
Проблема решилась установкой VPN на комп. P.S. Походу Роскомнадзор лютуэ...
Подскажите, при попытке прошивки (F8) программа keil просто вылетает. Что это может быть? Программатор ST-LINK V2
Чем подключается плата на 27:49 к ПК? USB - что? Что за провод такой?
Ребят, что то то ли лыжи не едут то ли лето на дворе... ошибку победил, но светодиод не могу заставить мигать, ставлю точку останова на main() { while(1) {}} внутри пишу HAL_GPIO_TogglePin(GPIOC, GPIO_PIN_13);
HAL_Delay(100);
а он один раз тикает и все, что покрутить чтобы тикало? через frertos работает но почему эта шляпа не работает?
Доброго времени суток! Я совсем новичок в данном деле (не судите строго) и столкнулся с проблемой: делал все как в видеоуроке, но адаптировал под свою плату stm32vldiscovery, начал собирать проект, но вышла 1 ошибка - RTE\Device\STM32F100RB\system_stm32f10x.c(267): error: #20: identifier "FLASH_BASE" is undefined
CB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH. */
RTE\Device\STM32F100RB\system_stm32f10x.c: 0 warnings, 1 error
".\Objects\test.axf" - 1 Error(s), 0 Warning(s).
гуглил, но не смог найти ответа на мой вопрос. Заранее спасибо!
Не знаю. Делал все точно также как и Вы. Та же плата, тот же stm32f407, тот же Keil. Не компилит. Выдает 203 ошибки. Не знаю что делать. Скачал Ваш проект. Все тоже самое, но компилит без проблем.
А Для Макбук есть это программа да? На stm.
помогите! не могу создать проект! он не собирается, постоянно выдает ошибки! пробовал делать по разным видеоурокам и ничего не работает даже синтаксис кода не подсвечивается!!! пробовал и 4 и 5 кейл(((
Пересоздал. Теперь вот другая ошибка:
RTE\Device\STM32F030R8Tx\system_stm32f0xx.c(280): error: #20: identifier "RCC_CFGR2_PREDIV" is undefined
predivfactor = (RCC->CFGR2 & RCC_CFGR2_PREDIV) + 1;
Покурил немного интернета, немного порылся в файле. Ничего не понял. Я так понимаю, этот указатель создается в момент обращения. Так какого... он пишет, что тот не определен?
hello , thanks for your videos very very useful . i have a question , how can i change frequency of pwm with hal library ? i wanna have change frequency and duty( 0 - 95% ) with two adc channel . please make a video if you have time . thank you
Спасибо большое за урок все хорошо объясняете. но столкнулся с проблемкой, там где устанавливаю Кейл нет интернета. а в списке нет моего контроллера, возможно ли скачать обновления и установить отдельно?
Да, на сайте кейла есть оффлайн пакеты.
Дорогой автор , спасибо за ваши труды но выложить почть 50$ за плату не позволяет бюджет.Не поркомендуете подешевле модуль?
Спасибо за тёплый комментарий)
А наука, как известно, требует жертв. Если начать сразу с 4 урока, то плата пойдёт и дешевле, так как работа с библиотекой HAL особо не привязывает нас к номиналу контроллера.
Возьмите F103 и к нему дешёвый программатор, с которыми мы работаем, например в уроке 68. Конечно, будет доступно не всё, но экономия реальная. Например, нет у такого контроллера, аппаратного CAN, SDIO и т.д, но большая часть уроков, думаю, ему будет по силам.
Нажимаю Пек-Инсталлер все равно после обновления мой контроллер не появляется. ((
Как библиотека стд перив оказалась во временных файлах, хз, но она не давала сделать изменения при открытии. Хотя в папке PL у которой были добавлены пути, библиотека это лежала и были снят атрибуты только чтение. Я сразу смекнул что дело тут не чисто (а это называется пляски с бубном, так файл очутился в фалах temp или что-то типа того, и программа ссылалась на него) вообще пока я не удалил от туда эту библиотеку. программа запрещала делать изменения. и теперь разрешает делать измнения. Вот как разобраться новичку почему программа сдела путь хз куда, мы же пути все показали по 2 раза, есть же пути. Как так вообще могло получиться
Существует ли среда моделирования работы этого контроллера? В протеусе нету. Только через покупку платы?
Может и есть. Но думаю, для протеуса сложновато.
ruclips.net/video/v0NJYZhYI6Y/видео.html
здравствуйте, где можно найти библиотеку для STM32F303VC MCU? для Keil
здравствуйте!
Таким же образом подключить, как и для F407 и она подгрузится сама.
Сделал все точь-в-точь, но при компиляции появляется одна ошибка:
pl/src/misc.c(150): error: no member named 'IP' in 'NVIC_Type'
150 | NVIC->IP[NVIC_InitStruct->NVIC_IRQChannel] = tmppriority;
| ~~~~ ^
1 error generated.
Можете пояснить, как исправить?
как найти библотеку для stm32f303vc
где можна скачать эти проги??
здравствуйте, хочу начать изучать программирование на stm32, у меня достаточно обширные знания в работе с Ардуино и знание основ С++, но надо развиватся дальше. попались мне в руки две такие платки: STM32L476VG-DISCOVERY, STM32F302R8-NUCLEO. подскажите с чего начать и как заставить их работать(для начала поморгать светодиодом), повторить ваши действия из видеоурока не получается(другая модель процесора и не совсем понятно что делать и где брать файлы для скачивания).спасибо
Здравствуйте!
Начните сразу с 4 урока.
спасибо, попробую!
у меня пак инсталлер не подсвечен и на него нажать нельзя
Добрый день. Вопрос насчет библиотеки. Если у меня плата отладки STM32F3 Discovery на STM32F303VCT6
, то мне скачивать библиотеку, как показала вы для F4 или скачать библиотеку для F3?
Здравствуйте!
Для F3 всё своё.
@@narodstream552 спасибо за ответ, уже разобрался, нашел и поставил. С новым дизайном сайт стал совсем тяжек в навигации.
Мне посоветовали с stm8 начать, а тут такой гайд на 32, что же делать , бросать 8 и покупать 32 ? (((
Спасибо за уроки. Конечно AVR мне нравится намного больше. Этот урок получился слишком длинный и какой то путанный.
Специально для изучения данного курса приобрёл плату STM32F407G-DISC1, потому что с моей BluePill (с поддельным микроконтроллером, как оказалось) у меня не получилось адаптироваться, хотя я и скачал Standart Peripheral Library для "сотой" серии микроконтроллеров. Однако и с платой Discovery у меня ничего не хочет "заводиться".
Делаю всё, как в уроке (пробовал несколько раз, пошагово выполняя все действия). Но на этапе первой компиляции (с ещё пустым проектом) у меня вылазит куча ошибок, требуя подключить для начала "core_cm4.h". После того, как я нахожу в скачанном архиве данный файл и подключаю его к проекту, компилятор начинает "ругаться" на отсутствие файлов "core_cmFunc.h", "core_cmInstr.h" и "core_cmSimd.h". После подключения И ЭТИХ файлов компилятор начинает ругаться на отсутствие файла "system_stm32f4xx.h". ОК, подключим и этот файл...
По итогу, я пока нахожусь на стадии появления ошибки "./pl\core_cmFunc.h(602): error: unknown register name 'vfpcc' in asm". Что с этим делать, я не понимаю... Нужна ваша помощь!!!
P.S.: Если что, у меня Keil v.5.34.0.0, а библиотеку SPL я скачал точно такую же, как в видео, после того, как не получилось с новой запустить...
С ПРОБЛЕМОЙ РАЗОБРАЛСЯ!!! Оказывается, дело в том, что стандартные библиотеки, на отсутствие которых жаловался компилятор, располагаются в "C:Users\ИмяПользователя\Local\Arm\...", и, если "ИмяПользователя" состоит из русских букв и/или пробелов, то для компилятора это - непреодолимая проблема. В моём случае было сочетание этих двух факторов: в качестве имени пользователя я использовал свои имя и фамилию на русском языке через пробел, что и привело к данной ошибке.
КАК я решил эту проблему? ВО-ПЕРВЫХ, я переименовал свою учётную запись и соответствующую ей папку пользователя (инструкция есть в интернете; это - крайне утомительная и кропотливая работа, т.к. придётся менять кучу записей в реестре). ВО-ВТОРЫХ, на всякий случай я скачал самую свежую версию Keil с официального сайта, установил её поверх старой и обновил все библиотеки. КРОМЕ ТОГО, я удалил из проекта все те дополнительные библиотеки, которые подключил СВЕРХ описанного в уроке. После данных действий у меня всё начало компилироваться (хоть и с предупреждениями) и заливаться на микроконтроллер.
STM32 посмотрим что это за штука такая :)
+Дима Дубина
Это очень мощная штука)
Как сложно)
RTE\Device\STM32F030R8Tx\system_stm32f0xx.c(212): error: #20: identifier "RCC_CFGR2_PREDIV" is undefined
predivfactor = (RCC->CFGR2 & RCC_CFGR2_PREDIV) + 1;
как исправить?
Если уже делать видос таким подробным, то нафига было 17 минут показывать как это ставится, а когда подключаются библиотечные фаилы, почему нет коментариев почему именно эти надо подключать, для чего они, куча бесполезной инфы, а не это времени не хватило.
А если не хочешь бесполезной инфы) - переходи на мой канал и смотри видосы о программировании без библиотек
Хотелось бы подробнее про регистры от куда и как считать. Так и не понял от куда взялось 0x55000000(((
Александр Ануфриев пиши лучше в двоичном виде (0b0000101001110101) сразу всё понятно и видно где какой бит стоит. В датошите ведь по битам
Mike Kudritski А ведь каждий бит ето выхот тогда зачем включать другие если нам надо ток один.
STM32 для внешнего программирования сколько и какие с программатора провода надо ? не магу подключить stm32f042k6t6 ,для прошивки сколько проводов надо ? swdio swclk +5V gnd ? 4 ПРОВОДА ? VSS - земля я подкинул VDD +5V подключил ,а вот VDDA и NRST (ресет) надо ????
+Ваня Веревкин
Я пока не пробовал внешним. У меня встроенный ST-Link
Но, думаю там ничего нет сложного. Вот придет мне 103 контроллер, буду разбираться с подключением извне.
Четырёх проводов хватит, через СВДИО и СВДЦЛК также можно сделать сброс, но только когда ножки к которым подключаются эти провода не задействованы самой программой, если же эти ножки запрограммированы, то надо замкнуть ножку ресет на землю, после этого нажать в утилите подключение, потом отомкнуть ножку, и МК приконнектится.
Уже давно разобрался ,спс )
38:44 Скажите, пожалуйста, откуда взялась эта восьмерка?
Пункты 8.4.1 в Reference Manual. Включили бит 31. В пункте чётко всё расписано про каждый бит.
Пункт 8.4.1 Reference Manual - включили бит 31. Хотя по идее должна быть четверка, иначе вместо 0:1 получается 1:0. Хотя всё работало.
@@narodstream552 есть видео как вы читаете референс мануал, меня особенно интересует эта табица . мне пока ваш комментарий ниочем не говорит
Здравствуйте. Подскажите пожадуйста как получить микросекунды. Что то вроде HAL_GetTick(). Как таймер настроить. Заранее Спасибо.
Здравствуйте!
Рассчитайте предделитель и период, так чтобы, если поделить на их значение тактовую частоту шины, к которой подключен таймер, получить нужный интервал.
Не могу открыть ваш проект
А можно программировать на f3? То есть могу ли я использовать эти уроки для программирования на этой плате?
mozhno, tol'ko u menja na primer f103 piny podrugomu initsiliazujutsja, v ostal'nom tozhe samoe
при программировании МК выскакивает ошибка
Error: Flash Download failed - "Cortex-M4"
подскажите как исправить ? заранее спасибо
Есть решение? 🙏
А все спасибо, решил) Ниже в комментах решение. Connect with prereset нужно поставить)
теперь понятно почему avr еще долго будет рулить - столько телодвижений для stm - и это ведь еще не начало программирования.
у STM32 есть CubeMX и куча библиотек, которые позволяют делать гигантские проекты за пару дней.
У меня пока нет STM32F407VG. Я пытался найти на сайте STM perph для STM32F103CB, но не нашел. Что делать?
В принципе можете сразу начинать с HAL
и в один прекрасный момент от непонимания того, как работает периферия и контроллер просто не получится найти ошибку. CMSIS и SPL нужно обязательно
STDPeripf релиз 1.8.0 в папке CMSIS/Device/ST/STM32F4xx/Include отсутствуют файлы stm32f4xx.h и system_stm32f4xx.h, т.е там вообще ничего нет. Подскажите, где их взять?
Скорее всего сейчас данная библиотека неактуальна.
Странно, почему же тогда последний релиз был 9 ноября этого года?))
В общем, как я понял, Вы советуете сразу переходить к уроку 4?))
Не знаю, спросите на форуме разработчика.
В принципе, не обязательно воспроизводить урок 3, можно только с ним ознакомиться, чтобы потом оценить преимущества библиотеки HAL, и перейти к 4-му уроку.
@@narodstream552, спасибо)) Что же, начну с HAL, раз уж STDPeripf не пошел))
@@narodstream552, Вы не поверите, сегодня скачал еще раз файл с офф. сайта (за все время 3-й раз) и там все нужные файлы есть!)) Чудеса да и только))
Спасибо за уроки. Делал в точности как у вас.
При прошивке выскакивает ошибка No Algorithm found for: 08000000H - 0800034BH
Erase skipped!
Error: Flash Download failed - "Cortex-M4".
Скачал ваш пример TEST001 - все работает.
Что не так? Пробовал брать ваши библиотеки из TEST001 - не помогает.
forum.easyelectronics.ru/viewtopic.php?p=248922
Спасибо, помогло. Галку 3ю на "reset and run" над было поставить.
Здравствуйте, у меня есть STM32F105RBT6 и он защищен может быть открыта без очистка?
Данной информацией я, к сожалению, не владею. может кто-нибудь ответит другой.
navrjadli otrkoeshi, napishi programku sam si perezapishi, budet bystree
Привет.А ты nand flash пробовал читать/писать?
Привет!
К сожалению, Ваше сообщение лишено смысловой нагрузки. При возможности, объясните поподробнее тему. Также, если необходимо, прикрепите надлежащие скриншоты.
Как именно писать? программатором или утилитами ST ту микросхему, которую ставят на различные Discovery или при помощью своего кода?
@@narodstream552 мне кажется наоборот имеет смысл.К примеру есть такая флешка HY27US08561A с бухты барахты её просто так не прочитаешь.Это не spi flash и не eeprom с i2c.И хотелось бы именно ручками пощупать а не 5 строк кода и все готово.Само собой никаких программаторов за 10 000 рублей и выше.Именно с помощью stm32.Я видел человек с польши читал эту флешку при помощи xmega частоты хватало.Так же видел чувак из японии читал флешку правда там камень другой с частотой 600 мегагерц и он даже вставлял свои задержки в код типа for(int i = 0;i < 10;i++) .К чему я упомянул задержки.Недавно решил проверить с какой максимальной частотой сможет переключать порт STM32F103C8T6 (чтобы узнать хватит ли мне скорости для работы с nand flash). C HAL само собой было бессмысленно экспериментировать.Вот такой код GPIOA->BSRR = GPIO_BSRR_BS8 (самый быстрый - быстрее уже некуда) всего одна строчка кода крутится в цикле и переключает порт.Так вот результат огорчил меня.Почему то длительность паузы (80мкс) и длительность импульса (около 40мкс) меандра не равны.Замерял логическим анализатором.А недавно услышал что этот анализатор не хило врёт.В общем эксперименты с nand flash пока забросил (так и не начав:).Хотелось бы посмотреть твои наработки
Добрый день. Я использую МК STM32F0. Делаю все по видео, возникает ошибка: RTE\Device\STM32F051R8\system_stm32f0xx.c(281): error: #20: identifier "RCC_CFGR2_PREDIV" is undefined. Обшарил поиском файлы и понял что есть переменные RCC_CFGR2_PREDIV1, RCC_CFGR2_PREDIV2 и т.д до RCC_CFGR2_PREDIV16, но RCC_CFGR2_PREDIV не обявлена нигде. Она используется в файле system_stm32f0xx.c в функции void SystemCoreClockUpdate (void) {...} в строке predivfactor = (RCC->CFGR2 & RCC_CFGR2_PREDIV) + 1;
Подскажите, пожалуйста, как избавиться от ошибки? Просто удалить этот файл целиком? Заранее спасибо.
В файле stm32f0xx.h объявление начинаетяс с RCC_CFGR2_PREDIV1... Когда меняю в функции переменную RCC_CFGR2_PREDIV на RCC_CFGR2_PREDIV1, то все компилируется без ошибок. Не вызовет ли в будущем проблем такое изменение кода?
Смысл в том, что если другой контроллер, то нужно смотреть,что в нём есть, а чего нет. И не подключать библиотеки для такой периферии, которой нет. Например, в 429 контроллере есть FMC, а в 407 нет, поэтому мы FMC не подключаем. Тут, видимо, что-то подобное.
А уроки по avr завершены?
+Руслан Зубарев
Нет, конечно! Будут еще ясное дело. Куда же мы денемся от avr.
Я пытаюсь начать работать с STM32F103C8T6 по Вашим инструкциям, но ничего не получается если повторять как обезьяна. Хотелось бы более подробных пояснений, что и зачем делается. Т.к. в скачанных с сайта STM архивах другая структура и становится непонятно что где брать.
ты издеваешься чтоли? ты помотри как человек тормозит - клик клик, 0 гм пук бы - ну у вас это другой файл . н у пох я кину сюда, хуяк, ну увас это другая папка - качнем отсюда... - это просто такий вид прикола над вами и релаксации на внутреннем Я с помощью ютуба
А вот вопрос - (снова пытаюсь начать :) и при компиляции вылазит ошибка L6320W:
.\Objects\Proj1.axf: Error: L6320W: Ignoring --entry command. Cannot find argument 'Reset_Handler'.
.\Objects\Proj1.axf: Warning: L6320W: Ignoring --first command. Cannot find argument '__Vectors'.
Not enough information to list image symbols.
Not enough information to list load addresses in the image map.
Finished: 2 information, 1 warning and 1 error messages.
Куда копать? Стоит Кейл 529. Подскажите, что не так?
Здравствуйте!
Лучше заново пересоздать проект, иначе может не собраться, по всей видимости, это связано со сменой стандарта.
@@narodstream552 хорошо, попробую. Спасибо
Не. Вру. Этот указатель создан где-то раньше.... А где?
нашел. объявлен ранее в хидерах. Почему не обращается? Файлы же подключены?
Честно говоря,так и не понял смысла зеленых ромбиков Pack installer'а, если все равно библиотеки SPL необходимо включать в проект вручную?
Привет, у меня проблема, я начал изучать стмку, есть отладка stm32f103 не могу понять почему не компилиться код аля мигалка светодиода (даже без кода чисто то что куб на генерил) заманался уже искать по просторам интернета... мот скажете куда копать ? в логах arm_math.h:314:4: error: #error "Define according the used Cortex core ARM_MATH_CM7, ARM_MATH_CM4, ARM_MATH_CM3, ARM_MATH_CM0PLUS or ARM_MATH_CM0" где это прописать куда.... если указываю дефайн лезут другие ошибки... типа таких : ..\Drivers\CMSIS\Device\ST\STM32F1xx\Source\Templates\arm\startup_stm32f101xg.s:1: Error: junk at end of line, first unrecognized character is `*'
кейл и куб переустановить, библиотеки перезагрузить.
@@narodstream552 все бы хорошо но вроде снуля ставил, а косяк на 2 машинах один и тот же, попробую еще тогда раз переставииь, спасибо!
Здравствуйте. У меня возникла проблема с прошивкой микроконтроллера. Я делал всё точно так же, как в видео, всё скомпилировалось, но не прошилось. Ошибка такая:
No Algorithm found for: 08000000H - 0800034BH
Erase skipped!
Error: Flash Download failed - "Cortex-M4"
У вас была точно такая же ошибка на 30:05, но Вы перезапустили Кейл и всё заработало. К сожалению, мне это не помогло. Что посоветуете сделать?
Попробовать прошиться через ST-Link Utility
Скачал ST-Link Utility, всё работает, смог прошить. Но всё это довольно неудобно + что делать дальше с дебагом?
При нажатии кнопки Rebuild all target files выскакивает 256 WARNINGS, а при Rebuild target files все ок, это нормально?
у меня так же, наверное нормально
делаю по видео, у меня STM32F3, подключаю файл stm32f30x.h (не опечатка, на одну "х" меньше) в папку pl, пути прописываю(user, pl, pl\inc, pl\src), но в коде инклуд показывает только stm32f30xx.h ("маленький файл"). подключил,просто написав этот файл какой мне надо, теперь ошибка "pl\src\stm32f30x_hrtim.c(1139): error: #268: declaration may not appear after executable statement in block". Что она означает?
короче все решил так: во -первых, скачал библиотеки для stm32f3discovery здесь (www.st.com/content/st_com/en/products/embedded-software/mcus-embedded-software/stm32-embedded-software/stm32-standard-peripheral-libraries-expansions/stsw-stm32118.html),
потом проделал все, что было в видео, НО добавил в pl stm32f30x_conf.h, и прописал это в мейне так же как инклуд. ВНИМАНИЕ: в настройках таргета надо ОБЯЗАТЕЛЬНО написать во вкладке с/с++ в поле define "USE_STDPERIPH_DRIVER,STM32F30X" -- без этого шайтанская байда не собирается и пишет хренову тучу ошибок. пожалуй и все, если не сказать, что убил на это часа два и поплакать
Я давно не использовал spl, поэтому даже не подскажу. Она уже давно не поддерживается. Переходите на HAL.
я уже решил как и даже написал выше, все равно спасибо за ответ, смотрю ваши видео
респектище
кому нужны либы идем сюда
www.st.com/en/embedded-software/stm32-standard-peripheral-libraries.html
тычем нужный и скачиваем
не могу найти папку device в CMSIS
Добрый день.
Подскажите пожалуйста, что не так?
Не могу прошить плату stm32f4 discovery. (МК стоит stm32f429zit6)
Появляется ошибка.
Load "E:\\STM32F4_Discovery\\Work1_1new\\Objects\\diod1.axf"
No Algorithm found for: 08000000H - 0800039FH
Erase skipped!
Error: Flash Download failed - "Cortex-M4"
Flash Load finished at 00:14:59
В 'Option for Target' -> Debug-> Settings->Flash Download-> add STM32 FLash 1M и Stm32 Flash OPtions 4B. Я так сделал и заработало все)
Спасибо!) все заработало
@@user-pq1bq3vs6j Спасибо, тоже возникла данная ошибка.
100 000 😁
Ого!
Добрый день! Повторил всю процедуру от начала до конца. И все ошибки в той же последовательности как и у вас. Но так и не уходит ошибка при заливке: Error^ Flash Download failed - "Cortex-M4". Не подскажете в чем может быть причина?
Скорей всего не заполнились настройки в автоматическом режиме. То есть либо драйвер программатора не нашелся, либо не добавилась строка с адресами во FLASH.
Не совсем понял. Драйвер установился без проблем. При прошивке даже моргает лампочка на плате.
Возможно, не увиделся в кейле. Но я могу и ошибаться. Смотреть только на месте. В настройках кейла.
Решили трабл? У меня аналогичная проблема.
Решил следующим образом: Target oprions - Debug - Settings В разделе Debug настройка Debug выбрал Connect with Pre-reset.
Олег Олегович да решил. Плату подключал через удлиннитель на котором висел картридер. И у картридера периодически отваливался драйвер. Соответственно и карта как-то криво вставала. Светодиод моргал и показывал прогресс при прошивке, но не заканчивался успехом. Подключил плату напрямую. А еще запустил утилиту в той же папке что и драйвер. Которая позволяет сделать коннект к плате и проверить фирмваре прошивку и при желании обновить ее.
Было бы неплохо, если бы Вы посоветовали литературу по стм микроконтроллерам.
+Руслан Зубарев Из литературы по стм я читал только даташиты с сайта st.com, смотрел объявленные функции в файлах библиотек HAL, SPL, CMSIS компилятора, схемы. Смотрел видео, в т.ч. иностранные по программированию различных МК. А литературу особо и не читал.
Почему не куб ide? Там проще скачать библиотеку одним кликом из самой программы. А при конфигурировании проекта можно даже LL библиотеку в легкую подключить.
А он разве был тогда в момент написания сценария для урока?
@@narodstream552 хм. реально они выпустили ее в 2019 году. У меня не выходит кеил настроить по инструкции, делаю по аналогии и просто десятки ошибок при компиляции проекта. Переношу потиху в cube IDE.
@@narodstream552 Я только сейчас начал учиться и куб не доступен из-за санкции, а для кейла библиотека недоступна (тоже на официальном сайте), но уж кто-кто, а мы то дорогу найдём :).
На 18 минуте я начал путаться
Уроки проведите на 2020 год... Старые уроки уже не работают..Даже по HAL_Delay()
Подскажите пожалуйста. Почему то не могу писать на русском языке, хотя все сделанно правильно.
narod stream Где скачать Кеил крякнутый без ограничений в 32кБ кода?
Нарушение закона об интеллектуальной собственности запрещено правилами сообщества RUclips, поэтому на такие вопросы я не отвечаю.
На ассемблере программируют мк???
Да.
Здравствуйте! Большое спасиб за Ваши уроки! вы доносите популярнее и нагляднее, чем преподавателе в вузах!
Я купил плату STM32F40Vg, установил Keil. При попытке скачать библиотеки выскакивает ошибка, вот ее скрин: pp.userapi.com/c830209/v830209846/fbfa6/DAvjLvufTis.jpg
В чем может быть дело?
странно, не должно такого быть.
Проблема решилась установкой VPN на комп. P.S. Походу Роскомнадзор лютуэ...
Не поверите - только через тор всё и скачал в итоге.
А ссылки нельзя было оставить в описании? В 21 году сайт stm преобразился ещё больше, нихрена найти не могу
Xt-то на экране происходит, особенно по настройке, но ничего не объясняется для чего это
а на хер*?! человек ДЗЕН полуает а мнение зрителя его ниипёт