Easyelectronics.ru

Электроника для всех
Текущее время: 22 сен 2019, 13:26

Часовой пояс: UTC + 5 часов



JLCPCB – Прототипы печатных плат за $2/10pcs (Любой цвет!)
Крупнейший производитель печатных плат и прототипов. Более 600000 клиентов и свыше 10000 заказов в день!
Получите скидку на почтовую отправку при первом заказе в JLCPCB!

Начать новую тему Ответить на тему  [ Сообщений: 13 ] 
Автор Сообщение
 Заголовок сообщения: Мелкие вопросы по Keil
СообщениеДобавлено: 25 апр 2016, 15:49 
Заглядывает иногда

Зарегистрирован: 28 ноя 2015, 11:36
Сообщения: 75
Как ни странно, не нашел подобной темы - неужели плохо искал ???

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

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

2. Есть ли какой-то define, который определяет, для какого именно контроллера собирается проект (использую STM32 Cube / HAL) ? Пытаюсь написать простенькую библиотеку, но в нее нужно подключать разные файлы HAL'а в зависимости от того, какой MCU используется. Вроде где-то в описаниях встречал такой define, но сейчас все перерыл - не могу найти :(


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Мелкие вопросы по Keil
СообщениеДобавлено: 25 апр 2016, 16:55 
Старожил

Зарегистрирован: 10 окт 2014, 00:48
Сообщения: 6157
1 - одно пути для GUI, второе для linker'а. Надо добавлять и туда и туда.
2 - "#if defined(STM32F030)"
Определение "STM32F030" появляется при выборе данного MCU. Типичный пример кода (моего):
Код:
#if defined(STM32F030) || defined(STM32F031) || defined(STM32F051)

Откуда брать определения? "Нормально" - не знаю. Я просто залезаю в Keil.STM32F0xx_DFP***.pdsc, нахожу нужный мне MCU и беру параметр:
Код:
compile define="STM32F030"


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Мелкие вопросы по Keil
СообщениеДобавлено: 25 апр 2016, 17:41 
Заглядывает иногда

Зарегистрирован: 28 ноя 2015, 11:36
Сообщения: 75
u37 писал(а):
1 - одно пути для GUI, второе для linker'а. Надо добавлять и туда и туда.


Для начала, спасибо ! :)

Для GUI - имеется ввиду, чтобы удобнее было на нужные файлы кликать, и не более того ? И вообще никакого влияния на процессы компиляции и линкования (или как там правильно ?) не оказывает ?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Мелкие вопросы по Keil
СообщениеДобавлено: 25 апр 2016, 18:03 
Старожил

Зарегистрирован: 16 ноя 2012, 07:47
Сообщения: 2859
Это лишь виртуальные папки, они никак не соотносятся с реальными путями. Меня крайне напрягало, что нельзя сделать группу внутри группы, иногда это надо, приходилось всё в кучу валить.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Мелкие вопросы по Keil
СообщениеДобавлено: 25 апр 2016, 18:09 
Заглядывает иногда

Зарегистрирован: 28 ноя 2015, 11:36
Сообщения: 75
Hold писал(а):
Это лишь виртуальные папки, они никак не соотносятся с реальными путями. Меня крайне напрягало, что нельзя сделать группу внутри группы, иногда это надо, приходилось всё в кучу валить.


Извините, но пока суть до конца не понял, поэтому повторюсь с вопросом - просто, чтобы удобнее было на нужные файлы кликать, и не более того ?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Мелкие вопросы по Keil
СообщениеДобавлено: 25 апр 2016, 18:13 
Заглядывает иногда

Зарегистрирован: 28 ноя 2015, 11:36
Сообщения: 75
u37 писал(а):
Откуда брать определения? "Нормально" - не знаю. Я просто залезаю в Keil.STM32F0xx_DFP***.pdsc, нахожу нужный мне MCU и беру параметр:
Код:
compile define="STM32F030"


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

Код:
<!-- *************************  Device 'STM32F401CB'  ***************************** -->
        <device Dname="STM32F401CB">


Keil 5.17, последние паки


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Мелкие вопросы по Keil
СообщениеДобавлено: 26 апр 2016, 02:34 
Старожил

Зарегистрирован: 10 окт 2014, 00:48
Сообщения: 6157
Смотрите чуть ниже, будет строка: (на примере stm32f103C8)
Код:
<compile header="Device/Include/stm32f10x.h"  define="STM32F10X_MD"/>

Т.е. define="STM32F10X_MD"
Если опять не смогли найти, цитируйте весь описатель *****device****


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Мелкие вопросы по Keil
СообщениеДобавлено: 26 апр 2016, 10:42 
Старожил
Аватара пользователя

Зарегистрирован: 03 дек 2012, 10:42
Сообщения: 438
Если пользуетесь Cube, смотрите в Drivers/CMSIS файл system_stm32f0xx.c
Обязательно добавляйте нужные файлы(которые добавляете в проект)
Show


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Мелкие вопросы по Keil
СообщениеДобавлено: 26 апр 2016, 16:04 
Заглядывает иногда

Зарегистрирован: 28 ноя 2015, 11:36
Сообщения: 75
Извините за мою тупость, но я так и не увидел однозначного ответа на вопрос - файлы/группы слева в окне Project исключительно для того, чтобы удобнее было на нужные файлы кликать, и не более того ? И вообще никакого влияния на процессы компиляции и сборки не оказывает ?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Мелкие вопросы по Keil
СообщениеДобавлено: 26 апр 2016, 16:16 
Старожил
Аватара пользователя

Зарегистрирован: 03 дек 2012, 10:42
Сообщения: 438
слева находятся файлы необходимые для компиляции и сборки, так-же ваши файлы с расширением *****.с
для удобства можно слева создать столько папок, сколько нужно в которых будут ваши рабочие файлы.
если проект с помощью Cube создаете, там все нужное будет.
Show


для изучения посмотрите на примеры, которые в папке с KEILом, берете Referense Manual и...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Мелкие вопросы по Keil
СообщениеДобавлено: 26 апр 2016, 16:35 
Заглядывает иногда

Зарегистрирован: 28 ноя 2015, 11:36
Сообщения: 75
DIZEL писал(а):
слева находятся файлы необходимые для компиляции и сборки, так-же ваши файлы с расширением *****.с

Насколько я вижу, у некоторых есть другое мнение (из сообщения немного выше) - "одно пути для GUI, второе для linker'а". Если же верить Вам, то непонятно, зачем тогда есть возможность добавлять пути через Options for target -> C/C++ -> Include paths. Именно с этим я сейчас пытаюсь разобраться

DIZEL писал(а):
для изучения ... берете Referense Manual и...

Честно говоря, не совсем понял, какое отношение имеет RM к IDE... С RM как раз вопросов особых нет - мне всегда легче всего с самым нижним уровнем. Я бы с большим удовольствием писал бы на ассемблере и не тратил бы время на разборки с инструментами/ЯВУ, но это по нынешним временам практически нереально.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Мелкие вопросы по Keil
СообщениеДобавлено: 26 апр 2016, 17:00 
Старожил
Аватара пользователя

Зарегистрирован: 03 дек 2012, 10:42
Сообщения: 438
Options for target -> C/C++ -> Include paths.
там указываем папки, гле лежат файлы с расширением ****.h (можно все указать, ошибки точно не будет :) )
RM это так, для сравнения что на самом деле HAL делает.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Мелкие вопросы по Keil
СообщениеДобавлено: 29 апр 2016, 17:56 
Заглядывает иногда

Зарегистрирован: 28 ноя 2015, 11:36
Сообщения: 75
Пытаюсь сгенерировать проект для STM32 из Keil, но используя CubeMX. Первым делом наткнулся на проблему, которая даже отдельно описана на сайте Keil - http://www.keil.com/support/docs/3823.htm

Сделал, как советуют, и понял, что что-то не понимаю. Я пытался сгенерить проект для Discovery f429, в котором используется имеющийся на плате дисплей. При этом полагал (возможно, наивно ?) что Keil и CubeMX вместе дружно создадут проект, в котором уже есть как требуемые файлы BSP, так и правильные настройки всей необходимой периферии. Однако на выходе оказался практический пустой файл main.c, в котором, кроме инициализации HAL и SystemClock, больше ничего нет. Я что-то не так делаю, или просто ожидаю от этой связки лишком много (в частности, уже готового процесса инициализации всей периферии, которая была выбрана в Keil pack'е) ???


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 13 ] 

Часовой пояс: UTC + 5 часов


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB