1. Грузи сперва бутлоадер с вытиранием всего флэша 2. Грузи основную прогу с вытиранием только секторов загрузки (по картинке 5)
3. Подключай к USART-USB PA2 - TX (параметры связи 115к, 8 , 1, нет)
4. При включении МК вылетит сообщение "Hello, this is main programm!" - это значит, что МК прыгнул в основную прогу 5. Замкни PB9 на GND, держи замкнутым и тыцни на ресет, должно вылететь "Programming mode. Erease firmware? Y/N"
Инженеры КОМПЭЛ провели сравнительное тестирование аккумуляторов EVE и Samsung популярного для бытовых и индустриальных применений типоразмера 18650.
Для теста были выбраны аккумуляторы литий-никельмарганцевой системы: по два образца одного наименования каждого производителя – и протестированы на двух значениях тока разряда: 0,5 А и 2,5 А. Испытания проводились в нормальных условиях на электронной нагрузке EBD-USB от ZKEtech, а зарядка осуществлялась от лабораторного источника питания в режиме CC+CV в соответствии с рекомендациями в даташите на определенную модель.
1. Грузи сперва бутлоадер с вытиранием всего флэша 2. Грузи основную прогу с вытиранием только секторов загрузки (по картинке 5)
3. Подключай к USART-USB PA2 - TX (параметры связи 115к, 8 , 1, нет)
4. При включении МК вылетит сообщение "Hello, this is main programm!" - это значит, что МК прыгнул в основную прогу 5. Замкни PB9 на GND, держи замкнутым и тыцни на ресет, должно вылететь "Programming mode. Erease firmware? Y/N"
Ждём результатов.
P.S. Проверил у себя в железе.
Вообщем то работает, только сообщение о том что мы в главной программе не вылетает.
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
Можно в моём проекте поменять ещё девайс на stm32f103c8, у меня под cb скомпилен, но это скорее всего не поможет, у них отличия, насколько помню, только в объёме флэша. Надо дампы сравнивать.
Можно в моём проекте поменять ещё девайс на stm32f103c8, у меня под cb скомпилен, но это скорее всего не поможет, у них отличия, насколько помню, только в объёме флэша. Надо дампы сравнивать.
Проект который вы скинули работает, проблема была с ST-Link, но понимаете я делал подобный проект сам и переносил его на другой адрес, он работал, но когда я добавлял прерывание, оно не срабатывало при переносе, главная проблема в этом. Вы мне прислали проект, где нет прерывания.
Вечером скину с прерыванием, не перенёс этот проект вчера на ЯД.
Добавлено after 1 minute 13 seconds: А вообще, попробуй добавить прерывание прямо в мой проект)
Например, по тому же приёму байта в прерывании от ЮСАРТ отсылай его назад
Добавлено after 4 hours 47 minutes 5 seconds: Обновил файлы основной программы по ссылке на Я.Диске, добавил прерывание от ЮСАРТА2 на приём, данные возвращаются корректно => таблица прерываний на месте. Всё работает. Проверяй у себя, потом дальше будем разбираться.
Вечером скину с прерыванием, не перенёс этот проект вчера на ЯД.
Добавлено after 1 minute 13 seconds: А вообще, попробуй добавить прерывание прямо в мой проект)
Например, по тому же приёму байта в прерывании от ЮСАРТ отсылай его назад
Добавлено after 4 hours 47 minutes 5 seconds: Обновил файлы основной программы по ссылке на Я.Диске, добавил прерывание от ЮСАРТА2 на приём, данные возвращаются корректно => таблица прерываний на месте. Всё работает. Проверяй у себя, потом дальше будем разбираться.
Так в чем же была ошибка, вы поняли в чем разница между тем что вы делали изначально и рабочим вариантом? Просто у меня похожая ситуация, вроде перемусолено все сто раз, все сделал как "те парни из интернета", но прыгнуть из одного проекта в другой не могу....
Два пустых проекта уже создал один светодиодом дрыгает, второй просто вызывает первый, все настроил а вызова нет, прыжок в никуда... Собственно вот оба проекта: https://yadi.sk/d/yNoaSm-SbkeSAA они под Atollic TrueSTUDIO. Шью каждый отдельно они каждый занимает по сектору.
В проекте который должен вызвать другой проект все настройки умолчальные, в майне код:
У второго настройки изменены, в system_stm32f4xx.c: #define VECT_TAB_OFFSET 0x4000 /*!< Vector Table base offset field. This value must be a multiple of 0x200. */
Решение нашел. Проблема была в том что перед прыжком на новый код прерывания я запрещал, а после не разрешал, ну вот не думал я что код который фактически с нуля инициализирует все переменные и периферию требует этого... Ошибся..
Просто в начале майна добавил разрешение: /** * @brief The application entry point. * @retval int */ int main(void) { /* USER CODE BEGIN 1 */
Спасибо! Допустил ту же ошибку. Даже не подумал бы на глобальный запрет прерываний. Особенно вводит в ступор то, что действие ассемблерной вставки __enable_irq(); и __disable_irq(); никак не видно из отладчика.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 9
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения