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

Мелкие вопросы по Keil

24.04.2016, 15:02. Просмотров 4498. Ответов 12
Метки нет (Все метки)

Как ни странно, не нашел подобной темы - неужели плохо искал ???

Тем не менее, рискну задать пару глупых вопросов:

1. Не могу уложить в голове, как соотносится добавление пути в Options for target -> C/C++ -> Include paths и просто добавление группы в окне Project ? Такое впечатление, что иногда добавление группы и включение в нее нужных файлов (.c и .h) достаточно для того, чтобы проект собирался, а иногда пути к таким файлам нужно конкретно прописывать через Include paths, закономерности пока не уловил...

2. Есть ли какой-то define, который определяет, для какого именно контроллера собирается проект (использую STM32 Cube / HAL) ? Пытаюсь написать простенькую библиотеку, но в нее нужно подключать разные файлы HALа в зависимости от того, какой MCU используется. Вроде где-то в описаниях встречал такой define, но сейчас все перерыл - не могу найти :(
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.04.2016, 15:02
Ответы с готовыми решениями:

Вопросы по Keil.
Всем привет. Вопрос по Кейлу. Надо узнать скока использовано FLASH (тут наверно 8632), скока...

KEIL: вопросы по MDK5
Пользуюсь Кейлом некоторое время, вещь удобная, но не могу простить ему двух особенностей: 1) В...

Вопросы по компилятору Keil
Вопрос по структуре. В простом примере простая структура. Но тем не менее компилятор ругается (на...

Assembler Keil stm32f103 общие вопросы
Приветствую форумчане. Есть несколько вопросов по асму Сообщения-вопросы я предлагаю выделять...

Программирование STM32 на ассемблере в Keil: общие вопросы.
У меня есть уже некоторый опыт работы с 8-ми битными МК AVR на ассемблере, но поработав с ними...

12
u37
0 / 0 / 0
Регистрация: 07.02.2106
Сообщений: 3,113
24.04.2016, 16:08 2
1 - одно пути для GUI, второе для linkerа. Надо добавлять и туда и туда.
2 - "#if defined(STM32F030)"
Определение "STM32F030" появляется при выборе данного MCU. Типичный пример кода (моего):
Код
#if defined(STM32F030) || defined(STM32F031) || defined(STM32F051)
Откуда брать определения? "Нормально" - не знаю. Я просто залезаю в Keil.STM32F0xx_DFP***.pdsc, нахожу нужный мне MCU и беру параметр:
Код
sompyte define="STM32F030"
0
JustymTymi
0 / 0 / 0
Регистрация: 23.11.2015
Сообщений: 52
24.04.2016, 16:54 3
Цитата Сообщение от u37
1 - одно пути для GUI, второе для linkerа. Надо добавлять и туда и туда.
Для начала, спасибо ! :)

Для GUI - имеется ввиду, чтобы удобнее было на нужные файлы кликать, и не более того ? И вообще никакого влияния на процессы компиляции и линкования (или как там правильно ?) не оказывает ?
0
HotD
1 / 1 / 0
Регистрация: 05.10.2017
Сообщений: 2,048
24.04.2016, 17:16 4
Это лишь виртуальные папки, они никак не соотносятся с реальными путями. Меня крайне напрягало, что нельзя сделать группу внутри группы, иногда это надо, приходилось всё в кучу валить.
0
24.04.2016, 17:16
JustymTymi
0 / 0 / 0
Регистрация: 23.11.2015
Сообщений: 52
24.04.2016, 17:22 5
Цитата Сообщение от Hotd
Это лишь виртуальные папки, они никак не соотносятся с реальными путями. Меня крайне напрягало, что нельзя сделать группу внутри группы, иногда это надо, приходилось всё в кучу валить.
Извините, но пока суть до конца не понял, поэтому повторюсь с вопросом - просто, чтобы удобнее было на нужные файлы кликать, и не более того ?
0
JustymTymi
0 / 0 / 0
Регистрация: 23.11.2015
Сообщений: 52
24.04.2016, 17:26 6
Цитата Сообщение от u37
Откуда брать определения? "Нормально" - не знаю. Я просто залезаю в Keil.STM32F0xx_DFP***.pdsc, нахожу нужный мне MCU и беру параметр:
Код:
sompyte define="STM32F030"

Все, что нашел похожего в .pdsc файле:

Код
<divice Dname="STM32F401CB">
Keil 5.17, последние паки
0
u37
0 / 0 / 0
Регистрация: 07.02.2106
Сообщений: 3,113
25.04.2016, 01:47 7
Смотрите чуть ниже, будет строка: (на примере stm32f103C8)
Код
<sompyte header="Device/Include/stm32f10x.h"  define="STM32F10X_MD"/>
Т.е. define="STM32F10X_MD"
Если опять не смогли найти, цитируйте весь описатель *****divice****
0
DYZIT
0 / 0 / 0
Регистрация: 29.11.2012
Сообщений: 396
25.04.2016, 09:55 8
Если пользуетесь Cube, смотрите в Dryvers/CMSIS файл system_stm32f0xx.c
Обязательно добавляйте нужные файлы(которые добавляете в проект)
0
JustymTymi
0 / 0 / 0
Регистрация: 23.11.2015
Сообщений: 52
25.04.2016, 15:17 9
Извините за мою тупость, но я так и не увидел однозначного ответа на вопрос - файлы/группы слева в окне Project исключительно для того, чтобы удобнее было на нужные файлы кликать, и не более того ? И вообще никакого влияния на процессы компиляции и сборки не оказывает ?
0
DYZIT
0 / 0 / 0
Регистрация: 29.11.2012
Сообщений: 396
25.04.2016, 15:29 10
слева находятся файлы необходимые для компиляции и сборки, так-же ваши файлы с расширением *****.с
для удобства можно слева создать столько папок, сколько нужно в которых будут ваши рабочие файлы.
если проект с помощью Cube создаете, там все нужное будет.


для изучения посмотрите на примеры, которые в папке с KEILом, берете Referense Manual и...
0
JustymTymi
0 / 0 / 0
Регистрация: 23.11.2015
Сообщений: 52
25.04.2016, 15:48 11
Цитата Сообщение от DYZIT
слева находятся файлы необходимые для компиляции и сборки, так-же ваши файлы с расширением *****.с
Насколько я вижу, у некоторых есть другое мнение (из сообщения немного выше) - "одно пути для GUI, второе для linkerа". Если же верить Вам, то непонятно, зачем тогда есть возможность добавлять пути через Options for target -> C/C++ -> Include paths. Именно с этим я сейчас пытаюсь разобраться

Цитата Сообщение от DYZIT
для изучения ... берете Referense Manual и...
Честно говоря, не совсем понял, какое отношение имеет RM к IDE... С RM как раз вопросов особых нет - мне всегда легче всего с самым нижним уровнем. Я бы с большим удовольствием писал бы на ассемблере и не тратил бы время на разборки с инструментами/ЯВУ, но это по нынешним временам практически нереально.
0
DYZIT
0 / 0 / 0
Регистрация: 29.11.2012
Сообщений: 396
25.04.2016, 16:13 12
Options for target -> C/C++ -> Include paths.
там указываем папки, гле лежат файлы с расширением ****.h (можно все указать, ошибки точно не будет :) )
RM это так, для сравнения что на самом деле HAL делает.
0
JustymTymi
0 / 0 / 0
Регистрация: 23.11.2015
Сообщений: 52
28.04.2016, 17:09 13
Пытаюсь сгенерировать проект для STM32 из Keil, но используя CubeMX. Первым делом наткнулся на проблему, которая даже отдельно описана на сайте Keil - http://www.keil.com/support/docs/3823.htm

Сделал, как советуют, и понял, что что-то не понимаю. Я пытался сгенерить проект для Dyscovery f429, в котором используется имеющийся на плате дисплей. При этом полагал (возможно, наивно ?) что Keil и CubeMX вместе дружно создадут проект, в котором уже есть как требуемые файлы BSP, так и правильные настройки всей необходимой периферии. Однако на выходе оказался практический пустой файл main.c, в котором, кроме инициализации HAL и SystemClock, больше ничего нет. Я что-то не так делаю, или просто ожидаю от этой связки лишком много (в частности, уже готового процесса инициализации всей периферии, которая была выбрана в Keil packе) ???
0
28.04.2016, 17:09
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.04.2016, 17:09

Мелкие вопросы
Добрый день, подскажите пожалуйста, STM32F103C8t6 USORT входы/выходы толерантны к 5в? можно ли...

Мелкие вопросы
Начнем с простого. Пишу страничку в DHTML (:)), имеется база данных и менюшка 'select'. Надо чтоб...

Мелкие вопросы.
народ подскажите плиз как прописать x+y=z


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

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

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