|
0 / 0 / 0
Регистрация: 10.01.2011
Сообщений: 81
|
|||||||||||
Трабл с stm32vldiscovery15.06.2011, 21:19. Показов 22588. Ответов 40
Метки нет (Все метки)
Салют, господа!
Недавно появилась у меня stm32vldiscovery. Помигал светодиодом, да решил портировать программный таймер с avr. Естественно что понадобилось запустить один из таймеров в режиме прерываний. Тут-то и начались грабли... Среда - ИАР. Вот код проекта
А проблемма заключается в том что прерывание не выполняется у меня в программе. Если смотреть отладчиком, то проц крутится в коде в файле stortup_stm32f10x_md_vl.s :
0
|
|||||||||||
| 15.06.2011, 21:19 | |
|
Ответы с готовыми решениями:
40
[Windows Phone] Трабл, серьезный трабл! ХЭЛП 3.3V на плате stm32vldiscovery EmBitz+STM32VLDISCOVERY |
|
0 / 0 / 0
Регистрация: 11.06.2011
Сообщений: 322
|
||
| 19.06.2011, 20:39 | ||
0
|
||
|
0 / 0 / 0
Регистрация: 10.01.2011
Сообщений: 81
|
|||
| 19.06.2011, 20:47 | |||
Хотя если лень регистрироваться, могу торрент-файл дать...
0
|
|||
|
0 / 0 / 0
Регистрация: 11.06.2011
Сообщений: 322
|
|
| 19.06.2011, 21:00 | |
|
закачал сюда http://zotyl.ru/31301977
0
|
|
|
0 / 0 / 0
Регистрация: 29.11.2010
Сообщений: 109
|
|
| 19.06.2011, 21:01 | |
|
В общем посмотрел. У тебя косяк с функцией InitClk(). Что-то ты намудрил там. Симулятор зависает вот на этой строчке и всее while ((RCC->CR & RCC_CR_PLLRDY) == 0) {}. Тупо закоментировав функцию -- все работает вроде.
Но симулятор в иаре мне не нравится. Проще проверят на плате, тупо зашивая прошивку. Таймер в симуляторе у меня тоже не считал, а вот сама плата работала, как и задумывалось.
0
|
|
|
0 / 0 / 0
Регистрация: 31.08.2010
Сообщений: 550
|
|
| 19.06.2011, 21:16 | |
|
хух поставил 6.10, открыл проект.
скомпилил, залил в девайс, ни чего не правил зашил в плату, загорелся зеленый светодиод и больше ни какой реакции :) запустил дебаг, глянул дизасм не увидел обработчиков прерываний?, тупо вечный цикл для TYM1_TRG_COM_TYM17_IRQHomdler.
0
|
|
|
0 / 0 / 0
Регистрация: 31.08.2010
Сообщений: 550
|
|
| 19.06.2011, 21:22 | |
|
"У тебя косяк с функцией InitClk()."
у меня проходит этот момент нормально, если запустить на выполнение в дебаге, то как и ожидалось виснет в стартупе на TYM1_TRG_COM_TYM17_IRQHomdler см. дальше...
0
|
|
|
0 / 0 / 0
Регистрация: 29.11.2010
Сообщений: 109
|
|
| 19.06.2011, 21:24 | |
|
Я не заливал. В симуляторе, при стимуляции прерывания нормально прыгает в обработчик, отрабатывает там и возвращается назад.
Действительно смотрим дальше
0
|
|
|
0 / 0 / 0
Регистрация: 31.08.2010
Сообщений: 550
|
|
| 19.06.2011, 21:28 | |
|
у меня обработчика да же в коде нет :(
0
|
|
|
0 / 0 / 0
Регистрация: 29.11.2010
Сообщений: 109
|
||||||
| 19.06.2011, 21:30 | ||||||
0
|
||||||
|
0 / 0 / 0
Регистрация: 31.08.2010
Сообщений: 550
|
|
| 19.06.2011, 21:36 | |
|
дык, не ту её
-- забыл добавить, я разрешил прерывания (а то первый раз сказал что изменения не внес, прокосячил) -- __enable_irq(); и тупо перенес код обработчика в system_stm32f..., потому что функция систем инит подтянулась из этого файла (т.е. есть в выходном коде) и о чудо, обработчик появился в коде! теперь он пашет. сморю дальше что он должен делать...
0
|
|
|
0 / 0 / 0
Регистрация: 31.08.2010
Сообщений: 550
|
|
| 19.06.2011, 21:40 | |
|
блин пока допрешь что значит "spin_m" это же надо так обозвать :)
короче поменял на ipin_m и о чудо, светодиоды заморгали...
0
|
|
|
0 / 0 / 0
Регистрация: 31.08.2010
Сообщений: 550
|
|||||||||||
| 19.06.2011, 21:45 | |||||||||||
|
в общем не понял прикола иара, но вот эта шутка дожна заменяться
-- таким образом смотри есть ли у тебя обработчик в выходном коде? я спать у меня уже пол 12-ого, завтра на работу...
0
|
|||||||||||
|
0 / 0 / 0
Регистрация: 10.01.2011
Сообщений: 81
|
|||
| 19.06.2011, 23:14 | |||
Спасибо за помощь! Сам бы долго до этого додумывался =)
0
|
|||
|
0 / 0 / 0
Регистрация: 10.01.2011
Сообщений: 81
|
|
| 19.06.2011, 23:35 | |
|
Апдейт:
Я чего добавил в проект файлы system_stm32f10x.c/.h ? Того что компилятор попросил... А в мэйн.с я-то его не инклудил - думал "а нафик оно мне надо?!". А оно действительно надо... Проинклудил system_stm32f10x.h в main.c, описал extern void TYM1_TRG_COM_TYM17_IRQHomdler(void); в system_stm32f10x.h и о чудо! Заработало из мэйн.с! Мдааааа....... Короче мне не нравятся совсем три этих файла... Надо бы, по хорошему, объявить нужные прерывания где-то у себя. Кто знает как сие сделать?
0
|
|
|
0 / 0 / 0
Регистрация: 31.08.2010
Сообщений: 550
|
|
| 20.06.2011, 06:18 | |
|
все эти файлы нужны, только если сам перепишешь...
-- у меня совет только один, переходи на гцц :) иар я уже удалил...
0
|
|
|
0 / 0 / 0
Регистрация: 10.01.2011
Сообщений: 81
|
||
| 20.06.2011, 10:37 | ||
0
|
||
|
0 / 0 / 0
Регистрация: 31.08.2010
Сообщений: 550
|
|
| 20.06.2011, 10:54 | |
|
тут я не подскажу, не пользуюсь отладкой.
0
|
|
|
0 / 0 / 0
Регистрация: 10.01.2011
Сообщений: 81
|
||||||
| 20.06.2011, 13:32 | ||||||
|
Все, проблемма найдена!
Оказывается, хитровы*****е разработчики иара слегка урезали с++ компилятор, в итоге переопределение функции при компиляции вообще не происходит. А чтобы нормально работало надо перед функцией прерывания добавить
0
|
||||||
|
0 / 0 / 0
Регистрация: 31.08.2010
Сообщений: 550
|
|||||||
| 20.06.2011, 14:13 | |||||||
|
в доке указанно что для кортексов не нужно, и это действительно должно быть так (при помощи WEAK), но почему то не пашет.
0
|
|||||||
|
0 / 0 / 0
Регистрация: 10.01.2011
Сообщений: 81
|
|
| 20.06.2011, 16:33 | |
|
По хорошему да, этого не нужно... Но разве разработчики иара спрашивали кого-то когда из версии 5.10 (да-да, именно начиная с этой версии появились грабли с прерыванием) убирали поддержку #pragma vector из с++ компилятора?!! Отсюда и имеем грабли... Короче бред.
Убрал из заголовка обработчика прерываний "__arm" - ничего не изменилось, прерывания и дальше обрабатываются Спасибо за помощь!
0
|
|
| 20.06.2011, 16:33 | |
|
USART stm32vldiscovery stm32vldiscovery вопрос STM32F217 и STM32VLDISCOVERY stm32vldiscovery I2C1 Вопрос по STM32VLDISCOVERY Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js.
В помощники взял Яндекс-Алису.
Было создано три зала на разные интересы.
исторические и ретро
сериал Хичкок. . .
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами:
- ВидТО (СправочникСсылка. ВидыТО);
- ВидГСМ. . .
|
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F
Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU.
Опрашиваются регистры. . .
|
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка:
Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
|
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо
Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
|