Top.Mail.Ru
Уведомления
Очистить все

[Решено] Stm32f407vet6

Страница 1 / 2
(@eduard-2)
Level 2

Здравствуйте!  При использовании среды iar с использованием cmsis для stm32f407vet6 компилируется файл прошивки ( мигание светодиодом), но почему-то не работает при прошивке. Хотя если в этой же среде создать проект на ассемблере то устройство работает. В чем подвох? 

Цитата
Создатель темы Размещено : 09.04.2024 05:15
Aveal
(@aveal)
Top level Admin

Добрый день! А можешь проект выложить?

ОтветитьЦитата
Размещено : 09.04.2024 11:26
(@eduard-2)
Level 2

@aveal

проект на с++

ОтветитьЦитата
Создатель темы Размещено : 09.04.2024 20:59
(@eduard-2)
Level 2

@aveal светодиод подключен на порт А1

ОтветитьЦитата
Создатель темы Размещено : 09.04.2024 21:01
Aveal
(@aveal)
Top level Admin

А почему в ODR ноль всегда? И я бы рекомендовал в данном случае для начала внутренний источник тактирования использовать.

ОтветитьЦитата
Размещено : 10.04.2024 13:31
(@eduard-2)
Level 2

@aveal Потому что светодиод подключён к 3.3 в через резистор, соответственно, чтобы зажечь на порт надо подать лог 0 или конфигурировать с открытым коллектором. Кварц пробывал тоже включать не помогло. Ведь в проекте  на ассемблере  кварц невключалось, т. е тактирование по умолчанию, но всё работает. 

Может не правильно передаются адреса? Пока не получается зажечь. 

ОтветитьЦитата
Создатель темы Размещено : 10.04.2024 19:28
(@eduard-2)
Level 2

@aveal цель пока просто зажечь светодиод. Это на ассемблере там всё мигает, т. е через цикл.

ОтветитьЦитата
Создатель темы Размещено : 10.04.2024 19:30
Aveal
(@aveal)
Top level Admin

Внешний кварц (HSE) наоборот я имел ввиду не активировать. А под отладчиком что происходит?

ОтветитьЦитата
Размещено : 11.04.2024 12:56
(@eduard-2)
Level 2

Запись от: @aveal

Внешний кварц (HSE) наоборот я имел ввиду не активировать. А под отладчиком что происходит?

под отладчиком могу сказать следующее: в регистры для косвенной  адресации вроде правильно записываются адрес регистра ahb1enr и odr, управление функция main вроде получает.  Либо Cmsis файл стартуп корявая или ещё, что нибудь, думаю реально в железе нет перехода на функцию main

 

ОтветитьЦитата
Создатель темы Размещено : 11.04.2024 13:10
Aveal
(@aveal)
Top level Admin

@eduard-2 Я тоже об этом подумал как раз, но вроде там в папке проекта startup код присутствовал, на самом деле единственный вариант получается, что он не отрабатывает, и в main() просто не попадает в железе.

ОтветитьЦитата
Размещено : 11.04.2024 13:13
(@eduard-2)
Level 2

@aveal

Screenshot 2024 04 11 14 13 42 779 ru.aliexpress.buyer
ОтветитьЦитата
Создатель темы Размещено : 11.04.2024 13:15
(@eduard-2)
Level 2

Запись от: @eduard-2

@aveal

Screenshot 2024 04 11 14 13 42 779 ru.aliexpress.buyer

вот девайс, сторонние прошивки тожет отрабатывет например от stm32 dicoveri т. Е четыре светодиода на  порт pd12- pd15    если подключить

 

ОтветитьЦитата
Создатель темы Размещено : 11.04.2024 13:18
Aveal
(@aveal)
Top level Admin

@eduard-2 у меня сейчас нет возможности, к сожалению, у себя собрать попробовать. Как вариант - взять готовый проект любой и посмотреть на предмет отличий в части startup'а.

ОтветитьЦитата
Размещено : 11.04.2024 13:41
(@eduard-2)
Level 2

Запись от: @aveal

@eduard-2 у меня сейчас нет возможности, к сожалению, у себя собрать попробовать. Как вариант - взять готовый проект любой и посмотреть на предмет отличий в части startup'а.

должен сказать, что Cmsis скачивал с не официального сайта. 

 

ОтветитьЦитата
Создатель темы Размещено : 11.04.2024 14:02
(@eduard-2)
Level 2

Всем привет!

Не вероятно , но проект на С++ заработал. В чем ошибка была, так и не понял.

Всем участникам форума спасибо!!!

Вот архив рабочего проекта мигалка светодиодом STM32f407vet6, отладочная плата на скрине выше.

версия IAR EW 9.30.1

 

ОтветитьЦитата
Создатель темы Размещено : 23.04.2024 19:04
Страница 1 / 2
Поделиться: