Поиск
Показаны результаты для тегов 'cube ide'.
-
Продолжение моего прошлого вопроса. До этого хотел реализовать загрузчик с прошивкой в качестве hex-файла, теперь попытался с бинарным и возникла проблема. "Получать прошивку должен по UART. На данный момент загрузчик успешно выполняет передачу управления основной программе и стирает память по адресу, соответствующему программе, при получении прошивки." Отправляю bin-файл через TeraTerm, контроллер его вроде как получает, но пропускает цикл с записью прошивки, не могу понять почему. Проблема находится где-то в районе "strtoul". Пробовал конец строки, что в буфере, добивать нуль-терминирующим символом - безрезультатно. Прикладываю файл загрузчика, буду благодарен за любую помощь.main.c
-
Привет, народ. Купил себе на пробу STM32F103C8T6 (BluePill) с программатором STLink-V2. Вот что о нем рассказывает st-info --probe: Found 1 stlink programmers serial: 132014026315303030303032 openocd: "\x13\x20\x14\x02\x63\x15\x30\x30\x30\x30\x30\x32" flash: 65536 (pagesize: 1024) sram: 20480 chipid: 0x0410 descr: F1 Medium-density device Установил среду STM32CubeIDE Version: 1.8.0 Build: 11526_20211125_0815 (UTC). И попытался собрать и запустить программку мигания светодиодом. Сделал новый проект для STM32F103C8Tx, настройки брал из вот этого видео: https://www.youtube.com/watch?v=e_NSqz5P8Qk По-сути сгенерировался дефолный проект для STM32F103C8Tx, частота настроена на 72MHz, активирован пин PC13 на режим Output. В коде в бесконечный цикл вписаны команды: while (1) { HAL_GPIO_TogglePin(GPIOC, GPIO_PIN_13); HAL_Delay(500); } По ходу попыток запуска, вначале STM32CubeIDE сказал, что прошивка устарела, и надо обновить. Я согласился, но пришлось пару раз вставить-вытащиить программатор в USB, так как была ошибка: st-link is not in the DFU mode. Please restart it. Прошивка залилась, а в сети нашел инфу что если обновление прошивки предваряется такой ошибкой, то это нормально. Потом пришлось подредактировать файл stm32f1x.cfg, так как при запуске была ошибка: linux gdb ST-LINK: Could not verify ST device! Abort connection. Эту ошибку убрал по инструкции: https://stackoverflow.com/questions/58783393/atollic-couldnt-verify-st-device, заодно отладку переключил с STLink GDB Server на STLink OpenOCD (сам GDB, естественно, установлен и работает, обычный C/C++ код через него отлаживается). В результате, после устранения предыдущей ошибки, стали появляться другие ошибки: Error: STM32F103C8Tx.cpu -- clearing lockup after double fault Polling target STM32F103C8Tx.cpu failed, trying to reexamine Насколько я понял, эти ошибки возможны из-за того, что программа либо не запускается, либо крашится уже на самом микроконтроллере по причине неправильной настройки диапазонов адресного пространства или какой-то периферии. Тогда я решил снова сделать новый проект, все повторил заново, и на этот раз почти получилось. Во всяком случае, явных ошибок в логе запуска нет. Но светодиод не мигает, отладка не работает: Open On-Chip Debugger 0.11.0+dev-00438-ga75fc63 (2021-11-03-15:26) Licensed under GNU GPL v2 For bug reports, read http://openocd.org/doc/doxygen/bugs.html Info : Listening on port 6666 for tcl connections Info : Listening on port 4444 for telnet connections Info : STLINK V2J39S7 (API v2) VID:PID 0483:3748 Info : Target voltage: 2.427853 Info : Unable to match requested speed 8000 kHz, using 4000 kHz Info : Unable to match requested speed 8000 kHz, using 4000 kHz Info : clock speed 4000 kHz Info : stlink_dap_op_connect(connect) Info : SWD DPIDR 0x2ba01477 Info : STM32F103C8Tx.cpu: Cortex-M3 r2p1 processor detected Info : STM32F103C8Tx.cpu: target has 6 breakpoints, 4 watchpoints Info : starting gdb server for STM32F103C8Tx.cpu on 3333 Info : Listening on port 3333 for gdb connections Info : accepting 'gdb' connection on tcp/3333 Info : device id = 0x20036410 Info : flash size = 64kbytes undefined debug reason 8 - target needs reset O.K. O.K.:0xE00FFFD0 undefined debug reason 8 - target needs reset shutdown command invoked Info : dropped 'gdb' connection Я пробовал собрать и запуститься в режиме релиза (переткнул и конфигурацию и билд на Release), но почему-то при запуске RUN все равно IDE пытается запустить дебаггер, ей это не удается, лог запуска все тот же. Дальше я уже не знаю что делать. Прошу посоветовать что где еще надо докрутить, чтобы помигать светодиодом. * * * UPD: Иногда запуск почему-то происходит по-другому, хотя ничего ни в коде ни в конфигурации не меняю. Запуск сопровождается появлением окна с ошибкой: Could not verify STM device! Хотя, как написано выше, такая ошибка была, и верификация устройства отключена (в начало файла stm32f1x.cfg добавлена строка set CPUTAPID 0). Выхлоп запуска при этом немного другой, строки с Info те же самые, но в конце такие ошибки: undefined debug reason 8 - target needs reset O.K. O.K.:0xE00FFFD0 Error: Failed to read memory at 0xfffffffe Error: Failed to read memory at 0xfffffffe undefined debug reason 8 - target needs reset shutdown command invoked Info : dropped 'gdb' connection Вот как выглядит скриншот: https://ibb.co/JvyD2HK
-
HAL: как узнать, что шина i2c реально освободилась
VLshka опубликовал тема в ARM, 32bit
Всем привет. Вопрос гуру. Пытаюсь в stm32 cube организовать с помощью HAL обмен данными по i2c шине между двумя stm32 платами: NUCLEO-L053R8 (i2c-slave) NUCLEO-F746ZG (i2c-master) Обмен в обе стороны должен быть завершён 100 раз в секунду. Обнаружил, что код: HAL_I2C_Master_Transmit_DMA(hi2c, DevAddress, pData, Size); isTransmitProcess = 1; вызывает срабатывание калбека MasterTxCpltCallback() до того, как дойдёт до строчки "isTransmit = 1;". Выглядит, как будто HAL сгрузил pData и Size в dma и отрапортовал, что передача завершена. При этом dma имеет статус HAL_I2C_STATE_READY. Регистр NTDR при этом равен нулю. Соответственно, вопрос: как узнать, что шина i2c реально освободилась. -
Добрый день! Нужна помощь! Есть проект на отладочной плате nuclei-h743 реализует tcp сервер на lwip, полностью рабочий, нареканий нет. Написал идентичный проект в cubeide, при котором контроллер не подключается к сети, а по определяет как неопознанную сеть... подскажите, пожалуйста, что с этим делать? Куда копать?
-
Не могу создать новый проект в STM32 Cube IDE
Савин опубликовал тема в ARM, 32bit
Добрый день! Запустил первый раз IDE. Создаю новый STM32 Project, выбрал чип, загружаются и распаковываются два файла и вылетает ошибка. На stcommunity подсказали снести эти файлы, но не срабатывает.