STM32 прерывания NVIC и внешние прерывания.

Кто любит RISC в жизни, заходим, не стесняемся.
TmYAG
Встал на лапы
Сообщения: 89
Зарегистрирован: Пн окт 14, 2013 21:39:47

Re: STM32 прерывания NVIC и внешние прерывания.

Сообщение TmYAG »

dosikus писал(а):TmYAG, мда , тебе надо с азов начинать .
Сперва научись сам проект создавать ...
В чем проблема-то объясните! И подскажите как исправить?
Реклама
Аватара пользователя
dosikus
Друг Кота
Сообщения: 3604
Зарегистрирован: Пн июл 28, 2008 22:12:01

Re: STM32 прерывания NVIC и внешние прерывания.

Сообщение dosikus »

Для начала озвучь версию IAR. Ну и ссылку давай на "учебник" .
Далее :
Не подключены ни startup ни system_init
Скрипт линкера переписан на свой - снова кухаркины статьи.
Пока опыта никакого настраивай тактовую облегчалкой от STM http://kazus.ru/forums/showpost.php?p=6 ... stcount=37
Реклама
TmYAG
Встал на лапы
Сообщения: 89
Зарегистрирован: Пн окт 14, 2013 21:39:47

Re: STM32 прерывания NVIC и внешние прерывания.

Сообщение TmYAG »

Долго танцевал с бубном и наконец-таки победил)))
После прикрепления стартапа и систем ИАР выдавал ошибку assembler list file generation not allowed in this version of the compiler
Затем я порылся в Optiont -> C/C++ Compiler и во вкладке List вопреки наставлениям снял все галочки. В итоге заработало.

Посмотрите пожалуйста как с настройкой? Хватит ли такого шаблона на будущее?
Вложения
test.zip
(752.48 КБ) 198 скачиваний
Аватара пользователя
dosikus
Друг Кота
Сообщения: 3604
Зарегистрирован: Пн июл 28, 2008 22:12:01

Re: STM32 прерывания NVIC и внешние прерывания.

Сообщение dosikus »

Нет Workspace,только проект .
Есть только виртуальные папки .
Создай физически папки в корне проекта, скопируй в них исходники и хэдеры.
Сохрани Workspace.
Вот тогда все это можно будет другим посмотреть .
Реклама
Эиком - электронные компоненты и радиодетали
TmYAG
Встал на лапы
Сообщения: 89
Зарегистрирован: Пн окт 14, 2013 21:39:47

Re: STM32 прерывания NVIC и внешние прерывания.

Сообщение TmYAG »

Доброго утра! Вот я поправил. Добавил в проект папки Include, в которой лежит system_stm32f4xx.c и папку Startup, в которой находится startup_stm32f4xx.s
test.zip
(588.2 КБ) 194 скачивания
Единственное, что хочу спросить. При построении проекта вылезает много предупреждений:
Warning[25]: Label 'xxxxx' is defined pubweak in a section implicitly declared root
Я погуглил и выяснил, что в стартап файле надо заменить строки с .text:CODE:REORDER на .text:CODE:REORDER:NOROOT
а что это собственно дает?
Реклама
Аватара пользователя
dosikus
Друг Кота
Сообщения: 3604
Зарегистрирован: Пн июл 28, 2008 22:12:01

Re: STM32 прерывания NVIC и внешние прерывания.

Сообщение dosikus »

TmYAG писал(а): Единственное, что хочу спросить. При построении проекта вылезает много предупреждений:
Warning[25]: Label 'xxxxx' is defined pubweak in a section implicitly declared root
Я погуглил и выяснил, что в стартап файле надо заменить строки с .text:CODE:REORDER на .text:CODE:REORDER:NOROOT
а что это собственно дает?

Качай новые стартапы http://electronix.ru/forum/index.php?showtopic=121551


О проекте:
нет stm32f4xx.h а так же хэдера систем_инит .
Неверно прописаны пути к хэдерам - папка include , и в нее покой то положен исходник .
Ты все же не читал, то на что я дал ссылку ...

Пути в опциях препроцессора прописываются к папкам с хэдерами.
А исходники подключаются к проекту ...

И лучше стартап , систем_инит + его хэдер, stm32f4xx.h - хэдер с описанием регистров - все это скопировать в проект в одну папку .
Обозвав ее - например STM, приписав путь к ней в опциях.
А в папку include (inc) складывать свои или чужие хэдеры и естественно прописать к путь к ней там же.
Создать папку source (src) куда складывать исходники.
Так будет более менее общепринятый вид ...
Последний раз редактировалось dosikus Ср окт 15, 2014 12:48:17, всего редактировалось 4 раза.
Реклама
TmYAG
Встал на лапы
Сообщения: 89
Зарегистрирован: Пн окт 14, 2013 21:39:47

Re: STM32 прерывания NVIC и внешние прерывания.

Сообщение TmYAG »

Как раз читал.
Добавляем файлы в проект.
Правой кнопкой по проекту в окне Workspace -> Add Group .
Так мы создаем виртуальную папку для наших исходников, обзовем ее STM.
Теперь так же правой кнопкой по созданной нами папкое STM -> ADD->ADD Files.
Выбираем файл system_stm32f10x.c.
Так же создаем виртуальную папку Startup и добавим в нее файл startup_stm32f10x_md_vl.s
Так мы подключаем исходники.
Этот пункт я выполнил точно
С/С++ Compiler -> Preprocessor
в поле Additional include directiries вводим пути для наших хэдеров
Для нашего проекта это :
$PROJ_DIR$\CMSIS
$PROJ_DIR$\STM
$PROJ_DIR$\inc
в поле Defined symbols вводим линейку нашего контроллера STM32F10X_MD_VL
Это для того чтобы не править хэдер stm32f10x.h
У меня несколько иная структура папок. CMSIS/Include содержит файлы core_xxx.h
CMSIS/ST/STM32F4/Include содержит system_stm32f4xx.h и stm32f4xx.h. В настройках C/C++ Compiler Preprocessor я как раз указал пути.

В примере же не прописано, например, что надо было кинуть в папку inc.
system init походу вообще прописана в system_stm32f4xx.h так как у меня на компе такого файла точно нет.
Аватара пользователя
dosikus
Друг Кота
Сообщения: 3604
Зарегистрирован: Пн июл 28, 2008 22:12:01

Re: STM32 прерывания NVIC и внешние прерывания.

Сообщение dosikus »

TmYAG писал(а): У меня несколько иная структура папок. CMSIS/Include содержит файлы core_xxx.h
CMSIS/ST/STM32F4/Include содержит system_stm32f4xx.h и stm32f4xx.h. В настройках C/C++ Compiler Preprocessor я как раз указал пути.
Для CMSIS не надо ничего ни прописывать ни копировать, достаточно выставить галку.
Писалось когда в IAR были старые глючные файлы CMSIS .

Изображение







TmYAG писал(а): В примере же не прописано, например, что надо было кинуть в папку inc.
system init походу вообще прописана в system_stm32f4xx.h так как у меня на компе такого файла точно нет.
По смыслу . include - хэдеры.
Все файлы можно выдрать из дистрибутива SPL из папки CMSIS - device .
Или из примеров IAR на камни , в будке есть...
Вложения
ST.rar
(76.55 КБ) 190 скачиваний
Последний раз редактировалось dosikus Ср окт 15, 2014 13:02:26, всего редактировалось 1 раз.
TmYAG
Встал на лапы
Сообщения: 89
Зарегистрирован: Пн окт 14, 2013 21:39:47

Re: STM32 прерывания NVIC и внешние прерывания.

Сообщение TmYAG »

Блин, опять я старье читал))))
А вариант с прописыванием путей CMSIS в препроцессоре чем плох?
Вот я поправил.
test.zip
(588.2 КБ) 198 скачиваний
Жалко в сети нет толкового руководства по созданию проекта в IAR с нуля(
TmYAG
Встал на лапы
Сообщения: 89
Зарегистрирован: Пн окт 14, 2013 21:39:47

Re: STM32 прерывания NVIC и внешние прерывания.

Сообщение TmYAG »

dosikus писал(а):
TmYAG писал(а): У меня несколько иная структура папок. CMSIS/Include содержит файлы core_xxx.h
CMSIS/ST/STM32F4/Include содержит system_stm32f4xx.h и stm32f4xx.h. В настройках C/C++ Compiler Preprocessor я как раз указал пути.
Для CMSIS не надо ничего ни прописывать ни копировать, достаточно выставить галку.
Писалось когда в IAR были старые глючные файлы CMSIS .

Изображение







TmYAG писал(а): В примере же не прописано, например, что надо было кинуть в папку inc.
system init походу вообще прописана в system_stm32f4xx.h так как у меня на компе такого файла точно нет.
По смыслу . include - хэдеры.
Все файлы можно выдрать из дистрибутива SPL из папки CMSIS - device .
Или из примеров IAR на камни , в будке есть...
Ну по этим папкам я и лазил. стартапы для IAR брал, просто видимо, неправильность в том, что я копировал CMSIS в проект, когда можно (нужно) использовать CMSIS IARовский
Аватара пользователя
dosikus
Друг Кота
Сообщения: 3604
Зарегистрирован: Пн июл 28, 2008 22:12:01

Re: STM32 прерывания NVIC и внешние прерывания.

Сообщение dosikus »

TmYAG писал(а):Блин, опять я старье читал))))
А вариант с прописыванием путей CMSIS в препроцессоре чем плох?
И каждый раз проводить манипуляции с файлами? По кой - если все уже есть в IDE?
Вот я поправил.
test.zip
Это тот же проект - ничего не исправлено.
Жалко в сети нет толкового руководства по созданию проекта в IAR с нуля(
Возьми исправь и выложи.
Создание проекта в IAR мало чем отличается от создания в других IDE .
Стоит один раз осознать - и все получится ...

system_stm32f4xx.c и stm32f4xx.h придется править см . http://kazus.ru/forums/showpost.php?p=6 ... stcount=37
Аватара пользователя
Myp3ik
Мучитель микросхем
Сообщения: 450
Зарегистрирован: Вс янв 09, 2011 23:05:37
Откуда: СССР

Re: STM32 прерывания NVIC и внешние прерывания.

Сообщение Myp3ik »

Иван Сусанин - первый полупроводник :solder:
TmYAG
Встал на лапы
Сообщения: 89
Зарегистрирован: Пн окт 14, 2013 21:39:47

Re: STM32 прерывания NVIC и внешние прерывания.

Сообщение TmYAG »

dosikus писал(а): Это тот же проект - ничего не исправлено.
Блин, не тот архив выложил =(
СпойлерА вообще спасибо, Вам, что тратите на меня свое время)))
Вложения
test_1.zip
(664.63 КБ) 168 скачиваний
Аватара пользователя
dosikus
Друг Кота
Сообщения: 3604
Зарегистрирован: Пн июл 28, 2008 22:12:01

Re: STM32 прерывания NVIC и внешние прерывания.

Сообщение dosikus »

Myp3ik прежде чем советовать , надо самому попробовать что советуешь.
ТС уже пытался по этим кухаркиным статьям создавать. :)))
И лучше не советовать коль сам плаваешь в вопросах и пользуешь SPL... :)))
TmYAG писал(а): Блин, не тот архив выложил =(

Уже лучше .
В main.c пропиши #include "stm32f4xx.h"
Не прописал пути в препроцессоре
Замени стартап на тот что я дал.
Сгенери system_stm32f4xx.c и исправь HSE в stm32f4xx.h , ссылку я выше давал.
Аватара пользователя
Myp3ik
Мучитель микросхем
Сообщения: 450
Зарегистрирован: Вс янв 09, 2011 23:05:37
Откуда: СССР

Re: STM32 прерывания NVIC и внешние прерывания.

Сообщение Myp3ik »

dosikus, нормально по этим статьям все работало и даже с твоей любимой SPL :love:

TmYAG, нет желания перейти на Keil ?
Иван Сусанин - первый полупроводник :solder:
Аватара пользователя
dosikus
Друг Кота
Сообщения: 3604
Зарегистрирован: Пн июл 28, 2008 22:12:01

Re: STM32 прерывания NVIC и внешние прерывания.

Сообщение dosikus »

Myp3ik писал(а):dosikus, нормально по этим статьям все работало и даже с твоей любимой SPL :love:
Посмотри на дату создания .
За это время изменилось много чего, в частности сей кухаркин мануал - стал подобным танцам с бубном ...
TmYAG
Встал на лапы
Сообщения: 89
Зарегистрирован: Пн окт 14, 2013 21:39:47

Re: STM32 прерывания NVIC и внешние прерывания.

Сообщение TmYAG »

dosikus писал(а): Так как проект по умолчанию настроен на HSE 25МГц а на твоей плате 16МГц.
У моей платки вообще стоит 8MHz кварц.
Стало быть мне надо 8
Myp3ik писал(а): TmYAG, нет желания перейти на Keil ?
Я думал об этом. Но у нуба одна дорога) Освоить сначала худо-бедно периферию, а затем выбирать IDE
Аватара пользователя
dosikus
Друг Кота
Сообщения: 3604
Зарегистрирован: Пн июл 28, 2008 22:12:01

Re: STM32 прерывания NVIC и внешние прерывания.

Сообщение dosikus »

TmYAG писал(а):Но у нуба одна дорога) Освоить сначала худо-бедно периферию, а затем выбирать IDE

В Keil намного проще периферию изучать.
При дебаге , даже с твоим пустым main, можно тыкая в биты регистров запустить любую периферию...
Аватара пользователя
optima
Прорезались зубы
Сообщения: 232
Зарегистрирован: Вт май 08, 2012 10:42:29

Re: STM32 прерывания NVIC и внешние прерывания.

Сообщение optima »

dosikus писал(а): При дебаге , даже с твоим пустым main, можно тыкая в биты регистров запустить любую периферию...
В IAR тоже такое пробовал, работает!
TmYAG
Встал на лапы
Сообщения: 89
Зарегистрирован: Пн окт 14, 2013 21:39:47

Re: STM32 прерывания NVIC и внешние прерывания.

Сообщение TmYAG »

dosikus писал(а):
TmYAG писал(а):Но у нуба одна дорога) Освоить сначала худо-бедно периферию, а затем выбирать IDE

В Keil намного проще периферию изучать.
При дебаге , даже с твоим пустым main, можно тыкая в биты регистров запустить любую периферию...
Так что по частотам? По ссылке написано что HSE 25MHz надо изменить на 16 MHZ но на дискаверине же стоит кварц в 8MHz Значит и править мне надо на 8 так?
Ответить

Вернуться в «ARM»