Кто-то любит пирожки, а кто-то - нет.
И так, есть отладочка stm32f429итд. Демки погоняли, посмотрели, что картиночки бегают, кнопочки на экране нажимаются, мимими. Это клёво, но начнём с пустого проекта.

Проект, в целом, создаётся точно так же, как и для stm32f4discovery.

Но если в кейле нет поддержки этого контроллера вовсе (не обновлён), то всё становится несколько хитрее =)
Во-первых, скачаем архив с библиотеками и примерами программ под плату — там есть что повыдирать.

читать дальше

stm32f429_blank.zip — пустой проект.

@темы: arm, программизмы, электроника, stm32, stm32f429idiscovery

Комментарии
18.01.2014 в 09:22

Привет, у меня возник вопрос можно ли подключить к плате на STM32F4 DISCOVERY STM32F429 TFT LCD STM32 ARM Cortex-M4 Development Board (www.ebay.com/itm/161177600695) Micro SD Card (www.ebay.com/itm/250885836925)?
18.01.2014 в 15:32

Кто-то любит пирожки, а кто-то - нет.
Amd3dnow, проверьте =) Если линии сдкарты (интерфейса SDIO) не заняты чем-то ещё, то запросто. Как вариант, если они всё же заняты, можно повесить авровским способом на спи, хоть это и не очень хорошо.

Опять же, если там висят младшие биты RGB-шины, то можно переключить их на использование с sd, невзирая на. Цвет, конечно, на экране исказится немного, но чем младше бит, там меньше это будет заметно. Если управляющие — то уже не получится. Схема отладочной платы есть в user manual. Таблица специальных функций есть где-то в середине даташита. На первый взгляд особых конфликтов не вижу, но у меня нет напечатанной схемы платы, потому могу ошибаться)
25.03.2014 в 22:32

Что-то я не понял, что делать с STM32F429x.SFR файл? В какую папку его кинуть? Или в проекте как-то подключить?
Почему-то создал проект, выбрал STM32F429ZI процессор, а например некоторых битов в регистрах PWR_CR и PWR_CSR не хватает. Другие регистры пока не смотрел
26.03.2014 в 09:49

Кто-то любит пирожки, а кто-то - нет.
Гость, если кейл новый, всё там уже есть.

Если нет, можно кинуть вместе с остальными sfr (найти поиском, я не помню где они в папке кейла) и подключать оттуда. Можно кинуть к проекту, всё равно, лишь бы был. Если путь указан к нему в свойствах проекта (там есть на второй что ли вкладке поле специальное) — всё ок.
26.03.2014 в 12:40

Да, я уже разобрался куда кинуть. В принципе и делать ничего не нужно было, все настроилось при создании проекта!
Я почему захотел провернуть эти операции - в регистрах не отображаются некоторые биты, которые есть в даташите, когда симулятором или отладчиком код тестирую!
Поэтому захотелось проверить - заменить на другой файл описания регистров. Но ничего не вышло, все тоже самое.
Не подскажешь, в почему так? В ДШ одно содержание регистров F429 камня, а в Keil - немного другое (не хватает некоторых бит в регистре PWR_CR и PWR_SR).
Там биты, отвечающие за включение over-drive режима - чтобы можно было на 180 МГц работать.
26.03.2014 в 12:47

Кто-то любит пирожки, а кто-то - нет.
Гость, не знаю. Может, забыли добавить? Или версия не самая новая этих описаний.
Можно попробовать скачать самую свежую с сайта арма. Или отредактировать вручную — в исходных данных это, емнип, xml, куда можно любые биты вписать. И скомпилить, и подсунуть кейлу.

Но мне битов хватало, я туда не лез...

В принципе, можно обойтись и без оных битов, записав число в регистр, сформировав его вручную =)
26.03.2014 в 13:08

Так самое интересное, у меня такое ощущение, что этих битов как будто и нет в stm32F429 (плата stm32f429I-disco). Я записываю туда число, а обратно болты - никакой реакции со стороны контроллера. Но в Datasheet они прописаны.
26.03.2014 в 13:31

Кто-то любит пирожки, а кто-то - нет.
Гость, не, они есть. Я посмотрел в проекте каком-то, они были выставлены. За пять минут добавил эти биты в файл описания, всё получилось:


STM32F429x.SFR, правда, я исходный файл не перекачивал с тех пор, редактировал какой был. Не факт, что он самый свежий, но какая разница?
26.03.2014 в 19:48

Спасибо за файл, но конечно толку то ноль. Почему-то контроллер никак не реагирует на запись этих битов. Может к этим регистрам нужно как-то доступ разрешить? Не пойму в чем дело.
26.03.2014 в 20:15

Кто-то любит пирожки, а кто-то - нет.
Гость, так там условия надо выполнить, ждать флаги RDY и т.д. Посмтрите, системиит же из демо их выставляет, я системинит не писал, флаги не трогал, а они стоят=)
26.03.2014 в 20:31

Да нет, я просто не включил тактирование PWR. Поставил бит PWREN в APB1ENR и стало работать.
26.03.2014 в 20:32

Кто-то любит пирожки, а кто-то - нет.
Гость, а, ну да, без тактирования оно работать откажется:)
18.04.2014 в 08:33

столкнулся с тем что в keil-е не работает debugger хотя сам шьется. была у вас такая прблема?
18.04.2014 в 09:50

Кто-то любит пирожки, а кто-то - нет.
16087zheka, то есть не работает?

Обратите внимание, что в настройках проекта есть два места для выбора программатора/отладчика — на двух последних вкладках. Проверьте, что протокол выбран правильно (жтаг/свд), мм... Не знаю, что ещё><
24.01.2015 в 09:52

Уважаемый teplofizik, можно ли запустить отладку в симуляторе Кейла(µVision V4.50.0.0) для выше описанного МК (STM32F429ZIT6U) ?
С Уважением Владимир.
25.01.2015 в 09:16

Кто-то любит пирожки, а кто-то - нет.
vlad_sm, у меня запускалось только ядро в симуляторе. Т.е. код без эмуляции периферии.
25.01.2015 в 12:39

версия Кейл µVision V4.50.0.0
Уважаемый teplofizik, у меня при запуске симулятора пишет:
Load "C:\\CLOCK\\from_net\\stm32f429_blank\\build\\stm32f429_blank.AXF"
*** error 65: access violation at 0x40023800 : no 'read' permission
С уважением.
25.01.2015 в 15:14

Кто-то любит пирожки, а кто-то - нет.
vlad_sm, у кейла нет эмулятора этого контроллера и он понятия не имеет, где у него что находится. По адресам 0x4xxxxxxx сидит периферия, по-моему.

Работать она не будет, но записать туда и считывать числа обратно возможно. Для этого надо в строке команд набрать:
MAP 0x40000000, 0x40ffffff READ WRITE

Или же сделать ini-файл (например, stm32f4xx.ini) с таким содержимым и указать в свойствах проекта, вкладка Debug, имя файла в поле Initialization file. Но лучше добудьте где-нибудь настоящий контроллер и третируйте его -- он хотя бы настоящий и будет как-то реагировать =)