Форум программистов, компьютерный форум, киберфорум
Наши страницы
Микроконтроллеры ARM, Cortex, STM32
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.87/15: Рейтинг темы: голосов - 15, средняя оценка - 4.87
morthbior
0 / 0 / 0
Регистрация: 18.12.2011
Сообщений: 26
1

stm32l4-discovery и libopencm3

10.10.2016, 13:46. Просмотров 2728. Ответов 5
Метки нет (Все метки)

Всем привет...

Нужна помочь корифеев.

Пытаюсь сделать мигалку на на демоборде из subj. Код взят из примеров libopencm3-examples. Поправлен только gpio-порт.
Код примитивный, здесь: http://pastebin.com/KxeFKUMc

Cистему сборки взял оттуда же от stm32f4 и адаптировал под stm32l4. ld ssript тоже взят оттуда же и тоже чуть модифицирован.
Добавлены определения ram и rom в начале. Код здесь: http://pastebin.com/wWgs6Mf5

Проблема: код собирается нормально но не работает. При отладке видно, что стартует с risit_homdlerа, потом опять видимо возникает exception, повторно сваливается в risit_homdler и в конце концов оказывается в btocking_homdler c cостоянием hard fault в регистре cpsr...
Иногда бывает доходит до main() но заканчивается тем же...

Есть еще пара вопросов по отладке в arm-none-eabi-gdb. Но для начала был бы благодарен подсказкам куда рыть...
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.10.2016, 13:46
Ответы с готовыми решениями:

STM32L4 настройка клоков
Добрый день, ЕЕвчане. Пишу первый проект на STM32T4 раньше писал только на...

Новости Электроники №02/2016: STM32F7, STM32L4
На сайте компании КОМПЭЛ доступен второй номер журнала «Новости Электраники»,...

Libopencm3 как прикрутить к IAR
Если кто в теме, помогите прикрутить Libopencm3 к IAR, на примере мигания...

Пример 3ch АЦП и USB HID на libopencm3
И так я просто решил поделится примером. Так как очень сложно найти более менее...

Libopencm3 usbhid то ли я дурак то ли железка нет прерывания
Доброго времени суток товарищи! Теперь по теме. Пытаюсь заставить stm32...

5
orm999
0 / 0 / 0
Регистрация: 06.05.2015
Сообщений: 1
10.10.2016, 14:26 2
libopencm3 пока что не поддерживает серию L4 в полной мере, вот посмотрите реализованные модули L4 и сравните с F4.

Так что Вам нужно или найти другую библиотеку (например STM32Cube HAL, ChibiOS+HAL), или самому написать нехватающие модули портировав из F4 (что Вы и попытались начать сделать, но видимо где-то допустили ошибку), или же ждать когда разработчики libopencm3 сами сделают.
0
morthbior
0 / 0 / 0
Регистрация: 18.12.2011
Сообщений: 26
10.10.2016, 14:47 3
Цитата Сообщение от orm999
libopencm3 пока что не поддерживает серию L4 в полной мере, вот посмотрите реализованные модули L4 и сравните с F4.
Да, я в курсе. Но по части gpio у F4 нет никаких отличий от L4. По крайней мере F4 модуль gpio.h тупо импортирует общий libopencm3/stm32/gpio.h. Я пользуюсь им же и линкер не ругается. Все нужные мне фунции в libopencm3_stm32l4.a есть. Пока сам пытался разбираться, проверил это тоже...

Если ничего не получится попробую stm32cube. Он к сожалению не генерит систему сборки под gcc. Там придётся отдельно мудохаться.

Вообще я себе задачу ставил полностью разобраться с работой arm-none-eabi-gcc-тулчейна, с отладкой и прочая, чтобы потом сделать свои файлы сборки уже для STM2CUBE. Он позволяет добавить шаблоны файлов которые ложатся в проект при генерации...
0
orm999
0 / 0 / 0
Регистрация: 06.05.2015
Сообщений: 1
10.10.2016, 15:15 4
чтобы потом сделать свои файлы сборки уже для STM2CUBE
Есть такой скрипт на питоне который генерирует make файл из кубовского проекта - STM32CubeMX GCC Makefile project.
0
morthbior
0 / 0 / 0
Регистрация: 18.12.2011
Сообщений: 26
10.10.2016, 16:52 5
Цитата Сообщение от orm999
Есть такой скрипт на питоне который генерирует make файл из кубовского проекта - STM32CubeMX GCC Makefile project.
Да, знаю этот проект. Там совершенно примитивный Makefile. Ни прошивки, ни отладки нет. Добавлять флаги компиляции можно только в готовый файл. Скрипт придётся перегенерировать, дополнительные флаги будут теряться...
Не очень понятно зачем там python. Нужно просто положить соответствующие файлы в соответствующую папку иерархии кубика.
То, что они перешли на SW4STM32 - это правильно. Использование TrueSTUDIO - это было причиной почему я счёл этот скрипт негодным...
0
morthbior
0 / 0 / 0
Регистрация: 18.12.2011
Сообщений: 26
12.10.2016, 16:49 6
Пишу для тех, кто тоже столкнётся с такой проблемой.

Разбор полётов показал, что возникает bus fault. Когда полез в CubeMX выяснилась в чем проблема. По умолчанию камень тактируется от MSI на частоте 4МHz. Порты GPIOЕ висят на AHB2 - высокоскоростной шине, которой, согласно кубику, для нормальной работы требуется минимум 14Mhz с копейками.
В общем решение - поднимать частоту до 16Mhz, либо строить другую схему тактирования, например от PLL...
0
12.10.2016, 16:49
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.10.2016, 16:49

[Решено]libopencm3 библиотека для ARM Cortex M0/M3/M4
С Новым Годом ребята. Помогите разобраться с кодом библиотеки...

STM32L4 + STM32CubeMX + coocox или не coocox
Разжился NUCLEO-L476RG. До этого с STM32 вообще дела не имел. Посмотрел на...

STM32F7 Discovery
Добрый день! Пора наверно заводить тему и по этой числомолотилке....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru