В чем проблема-то объясните! И подскажите как исправить?dosikus писал(а):TmYAG, мда , тебе надо с азов начинать .
Сперва научись сам проект создавать ...
STM32 прерывания NVIC и внешние прерывания.
Re: STM32 прерывания NVIC и внешние прерывания.
- Реклама
Re: STM32 прерывания NVIC и внешние прерывания.
Для начала озвучь версию IAR. Ну и ссылку давай на "учебник" .
Далее :
Не подключены ни startup ни system_init
Скрипт линкера переписан на свой - снова кухаркины статьи.
Пока опыта никакого настраивай тактовую облегчалкой от STM http://kazus.ru/forums/showpost.php?p=6 ... stcount=37
Далее :
Не подключены ни startup ни system_init
Скрипт линкера переписан на свой - снова кухаркины статьи.
Пока опыта никакого настраивай тактовую облегчалкой от STM http://kazus.ru/forums/showpost.php?p=6 ... stcount=37
Re: STM32 прерывания NVIC и внешние прерывания.
Долго танцевал с бубном и наконец-таки победил)))
После прикрепления стартапа и систем ИАР выдавал ошибку assembler list file generation not allowed in this version of the compiler
Затем я порылся в Optiont -> C/C++ Compiler и во вкладке List вопреки наставлениям снял все галочки. В итоге заработало.
Посмотрите пожалуйста как с настройкой? Хватит ли такого шаблона на будущее?
После прикрепления стартапа и систем ИАР выдавал ошибку assembler list file generation not allowed in this version of the compiler
Затем я порылся в Optiont -> C/C++ Compiler и во вкладке List вопреки наставлениям снял все галочки. В итоге заработало.
Посмотрите пожалуйста как с настройкой? Хватит ли такого шаблона на будущее?
- Вложения
-
- test.zip
- (752.48 КБ) 198 скачиваний
Re: STM32 прерывания NVIC и внешние прерывания.
Нет Workspace,только проект .
Есть только виртуальные папки .
Создай физически папки в корне проекта, скопируй в них исходники и хэдеры.
Сохрани Workspace.
Вот тогда все это можно будет другим посмотреть .
Есть только виртуальные папки .
Создай физически папки в корне проекта, скопируй в них исходники и хэдеры.
Сохрани Workspace.
Вот тогда все это можно будет другим посмотреть .
Re: STM32 прерывания NVIC и внешние прерывания.
Доброго утра! Вот я поправил. Добавил в проект папки Include, в которой лежит system_stm32f4xx.c и папку Startup, в которой находится startup_stm32f4xx.s
Единственное, что хочу спросить. При построении проекта вылезает много предупреждений:
а что это собственно дает?
Я погуглил и выяснил, что в стартап файле надо заменить строки с .text:CODE:REORDER на .text:CODE:REORDER:NOROOTWarning[25]: Label 'xxxxx' is defined pubweak in a section implicitly declared root
а что это собственно дает?
- Реклама
Re: STM32 прерывания NVIC и внешние прерывания.
TmYAG писал(а): Единственное, что хочу спросить. При построении проекта вылезает много предупреждений:Я погуглил и выяснил, что в стартап файле надо заменить строки с .text:CODE:REORDER на .text:CODE:REORDER:NOROOTWarning[25]: Label 'xxxxx' is defined pubweak in a section implicitly declared root
а что это собственно дает?
Качай новые стартапы 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 раза.
Re: STM32 прерывания NVIC и внешние прерывания.
Как раз читал.
CMSIS/ST/STM32F4/Include содержит system_stm32f4xx.h и stm32f4xx.h. В настройках C/C++ Compiler Preprocessor я как раз указал пути.
В примере же не прописано, например, что надо было кинуть в папку inc.
system init походу вообще прописана в system_stm32f4xx.h так как у меня на компе такого файла точно нет.
Этот пункт я выполнил точноДобавляем файлы в проект.
Правой кнопкой по проекту в окне Workspace -> Add Group .
Так мы создаем виртуальную папку для наших исходников, обзовем ее STM.
Теперь так же правой кнопкой по созданной нами папкое STM -> ADD->ADD Files.
Выбираем файл system_stm32f10x.c.
Так же создаем виртуальную папку Startup и добавим в нее файл startup_stm32f10x_md_vl.s
Так мы подключаем исходники.
У меня несколько иная структура папок. CMSIS/Include содержит файлы core_xxx.hС/С++ Compiler -> Preprocessor
в поле Additional include directiries вводим пути для наших хэдеров
Для нашего проекта это :
$PROJ_DIR$\CMSIS
$PROJ_DIR$\STM
$PROJ_DIR$\inc
в поле Defined symbols вводим линейку нашего контроллера STM32F10X_MD_VL
Это для того чтобы не править хэдер stm32f10x.h
CMSIS/ST/STM32F4/Include содержит system_stm32f4xx.h и stm32f4xx.h. В настройках C/C++ Compiler Preprocessor я как раз указал пути.
В примере же не прописано, например, что надо было кинуть в папку inc.
system init походу вообще прописана в system_stm32f4xx.h так как у меня на компе такого файла точно нет.
Re: STM32 прерывания NVIC и внешние прерывания.
Для CMSIS не надо ничего ни прописывать ни копировать, достаточно выставить галку.TmYAG писал(а): У меня несколько иная структура папок. CMSIS/Include содержит файлы core_xxx.h
CMSIS/ST/STM32F4/Include содержит system_stm32f4xx.h и stm32f4xx.h. В настройках C/C++ Compiler Preprocessor я как раз указал пути.
Писалось когда в IAR были старые глючные файлы CMSIS .

По смыслу . include - хэдеры.TmYAG писал(а): В примере же не прописано, например, что надо было кинуть в папку inc.
system init походу вообще прописана в system_stm32f4xx.h так как у меня на компе такого файла точно нет.
Все файлы можно выдрать из дистрибутива SPL из папки CMSIS - device .
Или из примеров IAR на камни , в будке есть...
- Вложения
-
- ST.rar
- (76.55 КБ) 190 скачиваний
Последний раз редактировалось dosikus Ср окт 15, 2014 13:02:26, всего редактировалось 1 раз.
Re: STM32 прерывания NVIC и внешние прерывания.
Блин, опять я старье читал))))
А вариант с прописыванием путей CMSIS в препроцессоре чем плох?
Вот я поправил. Жалко в сети нет толкового руководства по созданию проекта в IAR с нуля(
А вариант с прописыванием путей CMSIS в препроцессоре чем плох?
Вот я поправил. Жалко в сети нет толкового руководства по созданию проекта в IAR с нуля(
Re: STM32 прерывания NVIC и внешние прерывания.
Ну по этим папкам я и лазил. стартапы для IAR брал, просто видимо, неправильность в том, что я копировал CMSIS в проект, когда можно (нужно) использовать CMSIS IARовскийdosikus писал(а):Для CMSIS не надо ничего ни прописывать ни копировать, достаточно выставить галку.TmYAG писал(а): У меня несколько иная структура папок. CMSIS/Include содержит файлы core_xxx.h
CMSIS/ST/STM32F4/Include содержит system_stm32f4xx.h и stm32f4xx.h. В настройках C/C++ Compiler Preprocessor я как раз указал пути.
Писалось когда в IAR были старые глючные файлы CMSIS .
По смыслу . include - хэдеры.TmYAG писал(а): В примере же не прописано, например, что надо было кинуть в папку inc.
system init походу вообще прописана в system_stm32f4xx.h так как у меня на компе такого файла точно нет.
Все файлы можно выдрать из дистрибутива SPL из папки CMSIS - device .
Или из примеров IAR на камни , в будке есть...
Re: STM32 прерывания NVIC и внешние прерывания.
И каждый раз проводить манипуляции с файлами? По кой - если все уже есть в IDE?TmYAG писал(а):Блин, опять я старье читал))))
А вариант с прописыванием путей CMSIS в препроцессоре чем плох?
Это тот же проект - ничего не исправлено.Вот я поправил.
Возьми исправь и выложи.Жалко в сети нет толкового руководства по созданию проекта в IAR с нуля(
Создание проекта в IAR мало чем отличается от создания в других IDE .
Стоит один раз осознать - и все получится ...
system_stm32f4xx.c и stm32f4xx.h придется править см . http://kazus.ru/forums/showpost.php?p=6 ... stcount=37
Re: STM32 прерывания NVIC и внешние прерывания.
TmYAG,
http://easyelectronics.ru/arm-uchebnyj- ... oekta.html
http://easyelectronics.ru/arm-uchebnyj- ... brary.html
http://easyelectronics.ru/arm-uchebnyj- ... oekta.html
http://easyelectronics.ru/arm-uchebnyj- ... brary.html
Иван Сусанин - первый полупроводник 
Re: STM32 прерывания NVIC и внешние прерывания.
Блин, не тот архив выложил =(dosikus писал(а): Это тот же проект - ничего не исправлено.
Спойлер
А вообще спасибо, Вам, что тратите на меня свое время)))- Вложения
-
- test_1.zip
- (664.63 КБ) 168 скачиваний
Re: STM32 прерывания NVIC и внешние прерывания.
Myp3ik прежде чем советовать , надо самому попробовать что советуешь.
ТС уже пытался по этим кухаркиным статьям создавать.
И лучше не советовать коль сам плаваешь в вопросах и пользуешь SPL...
Уже лучше .
В main.c пропиши #include "stm32f4xx.h"
Не прописал пути в препроцессоре
Замени стартап на тот что я дал.
Сгенери system_stm32f4xx.c и исправь HSE в stm32f4xx.h , ссылку я выше давал.
ТС уже пытался по этим кухаркиным статьям создавать.
И лучше не советовать коль сам плаваешь в вопросах и пользуешь SPL...
TmYAG писал(а): Блин, не тот архив выложил =(
Уже лучше .
В main.c пропиши #include "stm32f4xx.h"
Не прописал пути в препроцессоре
Замени стартап на тот что я дал.
Сгенери system_stm32f4xx.c и исправь HSE в stm32f4xx.h , ссылку я выше давал.
Re: STM32 прерывания NVIC и внешние прерывания.
dosikus, нормально по этим статьям все работало и даже с твоей любимой SPL
TmYAG, нет желания перейти на Keil ?
TmYAG, нет желания перейти на Keil ?
Иван Сусанин - первый полупроводник 
Re: STM32 прерывания NVIC и внешние прерывания.
Посмотри на дату создания .Myp3ik писал(а):dosikus, нормально по этим статьям все работало и даже с твоей любимой SPL![]()
За это время изменилось много чего, в частности сей кухаркин мануал - стал подобным танцам с бубном ...
Re: STM32 прерывания NVIC и внешние прерывания.
У моей платки вообще стоит 8MHz кварц.dosikus писал(а): Так как проект по умолчанию настроен на HSE 25МГц а на твоей плате 16МГц.
Стало быть мне надо 8
Я думал об этом. Но у нуба одна дорога) Освоить сначала худо-бедно периферию, а затем выбирать IDEMyp3ik писал(а): TmYAG, нет желания перейти на Keil ?
Re: STM32 прерывания NVIC и внешние прерывания.
TmYAG писал(а):Но у нуба одна дорога) Освоить сначала худо-бедно периферию, а затем выбирать IDE
В Keil намного проще периферию изучать.
При дебаге , даже с твоим пустым main, можно тыкая в биты регистров запустить любую периферию...
Re: STM32 прерывания NVIC и внешние прерывания.
В IAR тоже такое пробовал, работает!dosikus писал(а): При дебаге , даже с твоим пустым main, можно тыкая в биты регистров запустить любую периферию...
Re: STM32 прерывания NVIC и внешние прерывания.
Так что по частотам? По ссылке написано что HSE 25MHz надо изменить на 16 MHZ но на дискаверине же стоит кварц в 8MHz Значит и править мне надо на 8 так?dosikus писал(а):TmYAG писал(а):Но у нуба одна дорога) Освоить сначала худо-бедно периферию, а затем выбирать IDE
В Keil намного проще периферию изучать.
При дебаге , даже с твоим пустым main, можно тыкая в биты регистров запустить любую периферию...


