Зачем? Каждый файл с исходным кодом компилируется отдельно и собирается линкером. Файлы нужно добавлять в проект.СКАЗОЧНИК писал(а):Вот к любому Мэйн фалу надо подключить библиотеку с настройкой тактирования устройств и конфигурации портов ввода-вывода.
STM32 новичку в ARM что к чему
Re: STM32 новичку в ARM что к чему
- Реклама
- СКАЗОЧНИК
- Идёт направо - песнь заводит, Налево - сказку говорит.
- Сообщения: 5000
- Зарегистрирован: Чт апр 21, 2011 17:55:50
- Откуда: Иркутск
Re: STM32 новичку в ARM что к чему
Да, не правильно понял чуток.
Добавлять в проект это в дерево папок, которое справа у того же Кейла? А как же тогда ИНКЛУДы? Их же пишут в самом начале?
Добавлено after 4 minutes 23 seconds:
И правильно ли я еще понимаю, что в АВР был один байт. И адреса выглядят примерно так:
0xFF, 0xA2 и т.д. И даже удобнее было представлять в двоичном виде.
А в STM32 уже 32 разряда, т.е. 4 байта. И адреса выглядят уже так:
0xFFFFFFFF, 0x0000AA22 и т.д. Потому и много так цифр.
Вроде мелочи жуткие, но не привычно, и они почему-то до меня долго доходят...
Добавлять в проект это в дерево папок, которое справа у того же Кейла? А как же тогда ИНКЛУДы? Их же пишут в самом начале?
Добавлено after 4 minutes 23 seconds:
И правильно ли я еще понимаю, что в АВР был один байт. И адреса выглядят примерно так:
0xFF, 0xA2 и т.д. И даже удобнее было представлять в двоичном виде.
А в STM32 уже 32 разряда, т.е. 4 байта. И адреса выглядят уже так:
0xFFFFFFFF, 0x0000AA22 и т.д. Потому и много так цифр.
Вроде мелочи жуткие, но не привычно, и они почему-то до меня долго доходят...
Станислав
Re: STM32 новичку в ARM что к чему
Это не исполняемый код.СКАЗОЧНИК писал(а):А как же тогда ИНКЛУДы?
Прочитайте для начала. https://sunduk.radiokot.ru/loadfile/?load_id=1373389648СКАЗОЧНИК писал(а):А в STM32 уже 32 разряда, т.е. 4 байта.
- СКАЗОЧНИК
- Идёт направо - песнь заводит, Налево - сказку говорит.
- Сообщения: 5000
- Зарегистрирован: Чт апр 21, 2011 17:55:50
- Откуда: Иркутск
Re: STM32 новичку в ARM что к чему
Спасибо. Уже скачал ее, правда не с Кота, а где-то в другом месте мне попалась. )
Станислав
- Ярослав555
- Поставщик валерьянки для Кота
- Сообщения: 2081
- Зарегистрирован: Пт май 31, 2013 17:14:38
- Откуда: Украина, Винница
Re: STM32 новичку в ARM что к чему
[uquote="Reflector",url="/forum/viewtopic.php?p=3539839#p3539839"]Если написал статический стринг, то почему не написать статический vector?[/uquote]
когда-нибудь
когда-нибудь
- Реклама
- VladislavS
- Собутыльник Кота
- Сообщения: 2562
- Зарегистрирован: Вт май 01, 2018 19:44:47
Re: STM32 новичку в ARM что к чему
[uquote="СКАЗОЧНИК",url="/forum/viewtopic.php?p=3539808#p3539808"]1. Скажите, правильно ли я понимаю, что SPL - стандартная библиотека для периферии, и написана она с ошибками рукожопыми индусами?[/uquote]Чтобы кого-то называть рукожопым нужно самому быть хотя бы на о-малое отличным от нуля и самому найти хотя бы одну ошибку в библиотеке. Откуда вы такие берётесь? У нас систему образования вообще что-ли упразднили?
- СКАЗОЧНИК
- Идёт направо - песнь заводит, Налево - сказку говорит.
- Сообщения: 5000
- Зарегистрирован: Чт апр 21, 2011 17:55:50
- Откуда: Иркутск
Re: STM32 новичку в ARM что к чему
Хочу заметить, что не я так назвал изначально это. И тем более, я спросил "Правильно ли я понимаю"? т.е. у меня изначально сомнение, что библиотека плохая. Может она и хорошая вполне.
А вот вы пишите уже с явным негативом, практически переходя на личности.
А вот вы пишите уже с явным негативом, практически переходя на личности.
Станислав
- Ярослав555
- Поставщик валерьянки для Кота
- Сообщения: 2081
- Зарегистрирован: Пт май 31, 2013 17:14:38
- Откуда: Украина, Винница
Re: STM32 новичку в ARM что к чему
[uquote="СКАЗОЧНИК",url="/forum/viewtopic.php?p=3539999#p3539999"]Хочу заметить, что не я так назвал изначально это. И тем более, я спросил "Правильно ли я понимаю"? т.е. у меня изначально сомнение, что библиотека плохая. Может она и хорошая вполне.
А вот вы пишите уже с явным негативом, практически переходя на личности.[/uquote]
не воспринимай на свой счет, это здесь контингент такой кислотный. Периодически заглядывает модер, чистит ветку, кто-то режет карму...
А вот вы пишите уже с явным негативом, практически переходя на личности.[/uquote]
не воспринимай на свой счет, это здесь контингент такой кислотный. Периодически заглядывает модер, чистит ветку, кто-то режет карму...
Re: STM32 новичку в ARM что к чему
[uquote="Ярослав555",url="/forum/viewtopic.php?p=3539838#p3539838"]Есть еще библиотека LL, ее можно в кубе выбрать[/uquote]ее нужно в кубе выбрать)
[uquote="Ярослав555",url="/forum/viewtopic.php?p=3539838#p3539838"]Текущее состояние СПЛ мне неизвестно, но люди проекты на нем делают, вроде работает.[/uquote]ну а чего с ней сделается? Для новых контроллеров ее нет и скорее всего не будет, а у F и L1 никто SPL не отнимал.
[uquote="Ярослав555",url="/forum/viewtopic.php?p=3539838#p3539838"]Текущее состояние СПЛ мне неизвестно, но люди проекты на нем делают, вроде работает.[/uquote]ну а чего с ней сделается? Для новых контроллеров ее нет и скорее всего не будет, а у F и L1 никто SPL не отнимал.
Re: STM32 новичку в ARM что к чему
Я в основном электронщик, но немного кода писать приходится. Последнее время любимым контроллером стал STM32. Я знаю, что есть бесплатные версии Keil с ограничением на размер кода, но предпочитаю инструменты без ограничений. И пару лет компилирую на AC6 System Workbench. Не так давно Attolic стал тоже бесплатным без ограничений. Когда-то в нем сильно лучше была интеграция GDB и ST-link, но вроде сейчас на AC6 не жалуюсь.
Такой вопрос: есть ли заметные преимущества Attolic над AC6 System Workbench? А заодно есть ли смысл перешивать ST-link в J-link, что теперь вполне оффициально?
https://www.segger.com/products/debug-p ... -on-board/
По обоим вопросам особенно интересно мнение людей, которые пробовали то и другое для более сложных проектов, чем мигание светодиодом. Спасибо.
Такой вопрос: есть ли заметные преимущества Attolic над AC6 System Workbench? А заодно есть ли смысл перешивать ST-link в J-link, что теперь вполне оффициально?
https://www.segger.com/products/debug-p ... -on-board/
По обоим вопросам особенно интересно мнение людей, которые пробовали то и другое для более сложных проектов, чем мигание светодиодом. Спасибо.
- VladislavS
- Собутыльник Кота
- Сообщения: 2562
- Зарегистрирован: Вт май 01, 2018 19:44:47
Re: STM32 новичку в ARM что к чему
alexf58 , лучшая IDE та в которой ты умеешь работать и решать поставленные задачи. А для расширения кругозора можно и что-то другое попробовать. Только самому, так как мой и твой опыт это две большие разницы.
Насчёт ST-Link <-> J-link. В столе опытного эмбеддера не один десяток отладчиков-программаторов валяется. Они сейчас копейки стоят, купи разных и пользуйся по обстоятельствам. J-link конечно же лучше ST-Link, но хотя бы один захудаленький ST-Link на всякий случай в столе должен валяться.
Насчёт ST-Link <-> J-link. В столе опытного эмбеддера не один десяток отладчиков-программаторов валяется. Они сейчас копейки стоят, купи разных и пользуйся по обстоятельствам. J-link конечно же лучше ST-Link, но хотя бы один захудаленький ST-Link на всякий случай в столе должен валяться.
Re: STM32 новичку в ARM что к чему
[uquote="VladislavS",url="/forum/viewtopic.php?p=3547679#p3547679"]Насчёт ST-Link <-> J-link. В столе опытного эмбеддера не один десяток отладчиков-программаторов валяется.[/uquote]
Да у меня их как грязи валяетрся, речь не о том. Есть готовые платы для отладки Nucleo в встроеным ST-link. Его можно перешить в J-link. Вопрос какие от этого реально выгоды? Конечно могу попробовать на досуге, но хотелось бы услышать мнение тех, кто уже делал.
Что до IDE, они оба на Эклипсе и интерфейс почти тот же. Вопрос есть ли у одного дополнительные возможности.
Да у меня их как грязи валяетрся, речь не о том. Есть готовые платы для отладки Nucleo в встроеным ST-link. Его можно перешить в J-link. Вопрос какие от этого реально выгоды? Конечно могу попробовать на досуге, но хотелось бы услышать мнение тех, кто уже делал.
Что до IDE, они оба на Эклипсе и интерфейс почти тот же. Вопрос есть ли у одного дополнительные возможности.
- Ярослав555
- Поставщик валерьянки для Кота
- Сообщения: 2081
- Зарегистрирован: Пт май 31, 2013 17:14:38
- Откуда: Украина, Винница
Re: STM32 новичку в ARM что к чему
[uquote="alexf58",url="/forum/viewtopic.php?p=3549307#p3549307"][uquote="VladislavS",url="/forum/viewtopic.php?p=3547679#p3547679"]Вопрос какие от этого реально выгоды?[/uquote]
Слышал у дж-линка намного больше точек останова. Сам то по глупости обновил все свои ст-линки и теперь в дж-линки не шьется. Имею даже китайский клон дж-линка, только чет к МК не могу приконектить.
Слышал у дж-линка намного больше точек останова. Сам то по глупости обновил все свои ст-линки и теперь в дж-линки не шьется. Имею даже китайский клон дж-линка, только чет к МК не могу приконектить.
- СКАЗОЧНИК
- Идёт направо - песнь заводит, Налево - сказку говорит.
- Сообщения: 5000
- Зарегистрирован: Чт апр 21, 2011 17:55:50
- Откуда: Иркутск
Re: STM32 новичку в ARM что к чему
Залез в какие-то дебри... Докапался до файла stm32f10x_rcc.h
В нем есть в конце самом объявление функций различных. А где эти сами функции находятся?
Добавлено after 1 minute 28 seconds:
Искал такой же файл с расширением .с
Не могу найти в папках Кейла.
В нем есть в конце самом объявление функций различных. А где эти сами функции находятся?
Добавлено after 1 minute 28 seconds:
Искал такой же файл с расширением .с
Не могу найти в папках Кейла.
Станислав
- Ярослав555
- Поставщик валерьянки для Кота
- Сообщения: 2081
- Зарегистрирован: Пт май 31, 2013 17:14:38
- Откуда: Украина, Винница
Re: STM32 новичку в ARM что к чему
ну у меня куб подобные файлы сам в папку проекта копирует. Как я понимаю, если CMSIS использовать, то файлы надо самому в проект подсовывать. Хотя я кейл не пользую, может там по другому.
- СКАЗОЧНИК
- Идёт направо - песнь заводит, Налево - сказку говорит.
- Сообщения: 5000
- Зарегистрирован: Чт апр 21, 2011 17:55:50
- Откуда: Иркутск
Re: STM32 новичку в ARM что к чему
Давайте начнем сначала...
Вот у меня платка с контроллером STM32F103C8
Поставил я Кейл. Накачал библиотек разных. Начитался статей всяких и те книжки, что советовали. Архитектуру АРМ вроде понял. Пусть не все понял, но большинство вполне.
Микроконтроллер умеет оперировать только цифрами. Поэтому для него названия команд, даже на ассемблере и регистров аббревиатурами вообще непонятная билиберда.
Так вот. Среда разработки (IDE) тот же Кейл имеет встроенный компилятор языка, который все эти мнемоники и аббревиатуры переводит в тупые цифры для микроконтроллера, которые в свою очередь мы и прошиваем во Флеш его.
Команды с любого языка программирования он (компилятор) умеет переводить в цифры. А названия регистров меняет на их адреса (тоже цифры). Чтобы человеку не помереть в этих цифрах бесконечных, умные люди взяли и присвоили адресам читабельные мнемоники. И насоздавали немереную кучу файлов хидеров. Также эти же люди подумали и дальше. И создали еще и библиотеку СПЛ (и другие тоже), в которой(ых) описали все основные рутинные функции для микроконтроллера. Еще и разбили их на файлы отдельные, где каждый отвечает за что-то свое (настройка тактирования, портов ввода-вывода, АЦП, ЮАРТ и т.д.).
Все что остается обычному программисту, после того, как он разобрался с МК (точнее понял, что из него можно вытянуть, поиметь, получить и на каких ногах и с какой скоростью и с каким напряжением) - это взять и написать свой код, в котором будет очень "удобно" использовать все вышепредложенное для разработки.
Вопрос.
Откуда люди берут именно эти названия функций? и именно эти названия регистров и битов в них?
Я просто заколебался лазить в каждой библиотеке, чтобы посмотреть как эта функция выглядит и что там объявили для какого-либо регистра.
А если я не знаю, что мне нужна именно эта функция? Т.е. в примерах я ее нигде не нашел. Как я могу знать что мне вообще искать?
З.Ы. у меня по КЕйлу почему-то поиск не хочет в файлах искать по названию функции...
Вот у меня платка с контроллером STM32F103C8
Поставил я Кейл. Накачал библиотек разных. Начитался статей всяких и те книжки, что советовали. Архитектуру АРМ вроде понял. Пусть не все понял, но большинство вполне.
Микроконтроллер умеет оперировать только цифрами. Поэтому для него названия команд, даже на ассемблере и регистров аббревиатурами вообще непонятная билиберда.
Так вот. Среда разработки (IDE) тот же Кейл имеет встроенный компилятор языка, который все эти мнемоники и аббревиатуры переводит в тупые цифры для микроконтроллера, которые в свою очередь мы и прошиваем во Флеш его.
Команды с любого языка программирования он (компилятор) умеет переводить в цифры. А названия регистров меняет на их адреса (тоже цифры). Чтобы человеку не помереть в этих цифрах бесконечных, умные люди взяли и присвоили адресам читабельные мнемоники. И насоздавали немереную кучу файлов хидеров. Также эти же люди подумали и дальше. И создали еще и библиотеку СПЛ (и другие тоже), в которой(ых) описали все основные рутинные функции для микроконтроллера. Еще и разбили их на файлы отдельные, где каждый отвечает за что-то свое (настройка тактирования, портов ввода-вывода, АЦП, ЮАРТ и т.д.).
Все что остается обычному программисту, после того, как он разобрался с МК (точнее понял, что из него можно вытянуть, поиметь, получить и на каких ногах и с какой скоростью и с каким напряжением) - это взять и написать свой код, в котором будет очень "удобно" использовать все вышепредложенное для разработки.
Вопрос.
Откуда люди берут именно эти названия функций? и именно эти названия регистров и битов в них?
Я просто заколебался лазить в каждой библиотеке, чтобы посмотреть как эта функция выглядит и что там объявили для какого-либо регистра.
А если я не знаю, что мне нужна именно эта функция? Т.е. в примерах я ее нигде не нашел. Как я могу знать что мне вообще искать?
З.Ы. у меня по КЕйлу почему-то поиск не хочет в файлах искать по названию функции...
Последний раз редактировалось СКАЗОЧНИК Пн янв 21, 2019 11:13:52, всего редактировалось 1 раз.
Станислав
- prinv
- Вымогатель припоя
- Сообщения: 677
- Зарегистрирован: Чт янв 20, 2011 09:07:08
- Откуда: Пермь
- Контактная информация:
Re: STM32 новичку в ARM что к чему
Вы прослушали краткую историю создания языков программирования 
Никакая контра не уйдёт от нас
- СКАЗОЧНИК
- Идёт направо - песнь заводит, Налево - сказку говорит.
- Сообщения: 5000
- Зарегистрирован: Чт апр 21, 2011 17:55:50
- Откуда: Иркутск
Re: STM32 новичку в ARM что к чему
И вот еще.
У меня есть код для примера:
В первой же строке его мы заводим переменную port типа структуры заданной в каком-то хидере. А потом настраиваем там по обращениям к переменным:
port.GPIO_Mode = GPIO_Mode_Out_PP; и т.д.
Однако у меня такая структура, которую я нашел в хидере STM32F10x.h выглядит не так:
Или я че то гоню? 
У меня есть код для примера:
Спойлер
Код: Выделить всё
//Объявляем переменную port типа GPIO_InitTypeDef
GPIO_InitTypeDef port;
//Это функция из файла stm32f10x_rcc.c, включает тактирование на GPIOA
//GPIOA сидит на шине APB2
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
//Про эту функцию напишу чуть ниже
GPIO_StructInit(&port);
//Заполняем поля структуры нужными значениями
//Первый вывод – вход для обработки нажатия кнопки – PA1
port.GPIO_Mode = GPIO_Mode_IPD;
port.GPIO_Pin = GPIO_Pin_1;
port.GPIO_Speed = GPIO_Speed_2MHz;
//А про эту функцию мы уже говорили
//Отметим только что один из параметров – указатель(!) на
//нашу структуру
GPIO_Init(GPIOA, &port);
//Настраиваем вывод, на котором будет висеть диодик – PA0
port.GPIO_Mode = GPIO_Mode_Out_PP;
port.GPIO_Pin = GPIO_Pin_0;
port.GPIO_Speed = GPIO_Speed_2MHz;
GPIO_Init(GPIOA, &port);port.GPIO_Mode = GPIO_Mode_Out_PP; и т.д.
Однако у меня такая структура, которую я нашел в хидере STM32F10x.h выглядит не так:
Спойлер
Код: Выделить всё
typedef struct
{
__IO uint32_t CRL;
__IO uint32_t CRH;
__IO uint32_t IDR;
__IO uint32_t ODR;
__IO uint32_t BSRR;
__IO uint32_t BRR;
__IO uint32_t LCKR;
} GPIO_TypeDef;
Станислав
- prinv
- Вымогатель припоя
- Сообщения: 677
- Зарегистрирован: Чт янв 20, 2011 09:07:08
- Откуда: Пермь
- Контактная информация:
Re: STM32 новичку в ARM что к чему
[uquote="СКАЗОЧНИК",url="/forum/viewtopic.php?p=3553708#p3553708"]Давайте начнем сначала...
у меня по КЕйлу почему-то поиск не хочет в файлах искать по названию функции...[/uquote]
Странно, у меня Go To Reference и Go To Defenition прекрасно работает
у меня по КЕйлу почему-то поиск не хочет в файлах искать по названию функции...[/uquote]
Странно, у меня Go To Reference и Go To Defenition прекрасно работает
Никакая контра не уйдёт от нас
- СКАЗОЧНИК
- Идёт направо - песнь заводит, Налево - сказку говорит.
- Сообщения: 5000
- Зарегистрирован: Чт апр 21, 2011 17:55:50
- Откуда: Иркутск
Re: STM32 новичку в ARM что к чему
Все. Последний вопрос свой сам увидел. Там разные структуры. Я не ту нашел. На него можно не отвечать. )))))
Добавлено after 50 seconds:
Добавлено after 50 seconds:
Где это? Как это включить? Чего нажать?prinv писал(а):Go To Reference и Go To Defenition
Станислав


