А есть у кого-нибудь базовый набор (Makefile + ld-скрипт + сишный стартап + набор CMSIS с заголовочными файлами) с парой сниппетов под F401? А то так лень самому корпеть над этим, а плата лежит в соседнем ящике...
_________________ Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда. Я на гитхабе, в ЖЖ
Итак, под Семеркой, под ардуино 1.8.13 портабле с stm32coe 1.9.0 из того репозитория black pill скомпилилаась и слиноковалась! В этом нет ничего выдающегося, но хорошо. В пилюлю не залил т.к. не знаю пока как STLink без Кубпрограммера прикрутить.
А на XP эта версия не запустилась - сначала авира ругалась, а потом джава. Джава так просто не обновилась - там брандмауер что ли не дает. И боюсь - а то вдруг обновится и работать не будет... Авиру можно заткнуть.
Хорошо что совместима с F401 backward - через "опу, как бы я перевел Потому что под F401CC все копилится а под F401V компилится намного быстее (пакет SAM а не stm32core). Но вот вопрос - как STLink прикрутить вместо CubeProgrammer!
Вытащил bin и hex. Попробую залить STLink-ом в пилюлю.
Не верю своим глазам! Блинк под Ардуино ИДЕ 1.8.6 portable для F411CE собрался! Пока на Семерке. Сейчас на пилюлю залью hex.
И этот блинк прошился STLink-ом на пилюлю и нормально работает!
Осталось два момента - один важный и второй неспешный. Перенести все это на ХР и убедиться что и там все работает и нет никакого заподла. И прикрутить STLink напрямую.
Добавлено after 3 hours 50 minutes 12 seconds:
На ХР все работает! Обнаружил некоторые глюки при компиляции кода для blue(!) pill в этой новой среде. Не все библиотеки компилируются.
Качественное и безопасное устройство, работающее от аккумулятора, должно учитывать его физические и химические свойства, профили заряда и разряда, их изменение во времени и под влиянием различных условий, таких как температура и ток нагрузки. Мы расскажем о литий-ионных аккумуляторных батареях EVE и нескольких решениях от различных китайских компаний, рекомендуемых для разработок приложений с использованием этих АКБ. Представленные в статье китайские аналоги помогут заменить продукцию западных брендов с оптимизацией цены без потери качества.
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
У меня было три соображения в пользу arduino IDE , осталось только два. 1. Она просто устроена и мало места занимает - увы, не так. 1.6 Гб да и конфигурационные файлы, кажется, не особо доступны.
2. Для этой среды больше всего готоаых библиотек под разные устройства. Ну где я найду например, библиотеку под BME260 или под дисплей ILI4391 сразу с примерами рабочими. А в arduino IDE такое возможно, и не только для ардуины, но и для stm32 думаю - любого более-менее. Для blue pill есть рабочие библиотеки под датчики, дисплеи, SD карточки - все, что угодно. Я сомневаюсь, что их столько же в тех средах, где работать принята под HAL или CMSIS и начинать программу с тактирования...
3. Мое личное. Просто не терплю эстетически длинные и повторяющиеся имена в коде. GPIOZhopa->GPIOPervoePoluzhopie() Я бы написал Z->PZ1(). Я на перле писал...
А вообще - дело личное, зависит от вкуса и опыта того, кто работает. Если пойму что все ардуиновские библиотеки стандартно портируются под emblocks - туда и перейду наверное.
Адуринку надо уметь готовить. Это не прямая работа с МК, как в "стандартных" ассемблере и/или Си (ином ЯВУ). Приходится соглашаться на определенные ограничения в связи с "универсализмом" применяемой элементной базы. Кстати... oleg110592 как-то предложил альтернативу для ARM под ХР - EmBitz 1.11. Вполне себе неплохая IDE, только у меня пока к ARM "душа не лежит". А вот за идейку с portable я его мал покусаю - проблеме ардуинки для ХР уже более года, а этот вариант он только тут предложил!
Кстати идейка та отлично работает - осталось еще несколько тестов проверить и буду отчет готовить. Размер же самой IDE в "полном фарше" отнюдь не маленький - как и предполагается не менее 5-6 гигабайт (с учетом АРМ, "сторонних АВР" и ЕСПшек).
1. Она просто устроена и мало места занимает - увы, не так. 1.6 Гб
Компилятор GCC ARM занимает примерно 500 МБ на диске. АрдуинаИДЕ слишком просто устроена и в ней нет элементарных вещей, типа отладки и подобных. Это усложняет разработку.
Loyso Pondohva писал(а):
Ну где я найду например, библиотеку под BME260 или под дисплей ILI4391 сразу с примерами рабочими.
Это все хорошо, но не всегда библиотеки оптимально используют ресурсы МК. Это нужно учитывать.
Loyso Pondohva писал(а):
Для blue pill есть рабочие библиотеки под датчики, дисплеи, SD карточки - все, что угодно.
Библиотеки универсальны и у этого есть цена. Размер кода больше, как правило используется ногодрыг или прерывания вместо периферии и DMA, т. е. ресурсы МК используются не оптимально. Пока код простой это не столь важно, но в реальных проектах когда нужно выполнять несколько задач одновременно, это усложнит разработку.
Loyso Pondohva писал(а):
Я сомневаюсь, что их столько же в тех средах, где работать принята под HAL или CMSIS и начинать программу с тактирования...
Код должен быть оптимальным или лишь бы как-то работало?
Loyso Pondohva писал(а):
Если пойму что все ардуиновские библиотеки стандартно портируются под emblocks - туда и перейду наверное.
Сейчас IDE называется EmBitz.
BOB51 писал(а):
только у меня пока к ARM "душа не лежит"
Наверное потому что у вас задач под них нет или не поняли какие у них преимущества по сравнению с AVR. А используя ArduinoIDE и не поймете, т. к. многие преимущества (например совместное использование периферии, отладка и др.) не используются.
Отладка это не преимущество ARM, стандартная функция наверное для всех контроллеров. Отладка реально нужна только на очень сложных проектах. В большинстве случаев у начинающих отладка ведет к "подгонке" параметров, без реального понимания сути происходящего. Не так уж сложны эти STM32, что бы по рефману нельзя было разобраться. Особенно если тактирование настроено по умолчанию ардуиной и спокойно можно мигать диодами и отправлять в сериал всю необходимую информацию. Реально докопавшись до сути проблемы и устранив ее один раз, больше уже никогда не совершишь.
Arduino IDE совершенно не мешает использовать функционал контроллеров напрямую, если это нужно. Зато позволяет использовать стандартные ардуиновские приемы там, где это не критично (почти везде).
_________________ При решение наиболее сложных задач, большинство, как правило, ошибается...
Не мешает в разумных пределах - когда нет "перекрытия" по системным функциям. В принципе то же самый подход будет, если писать программу для ПК на уровне BIOS. Работать будет.. но в пределах данной материнки. Опять же это кому как удобно.
Касательно отладки - у каждого свои приемы. Можно вполне тем, что имеется обойтись - но сегодня предпочитает народ "попроще". Расплата - обязательное наличие "фирмовых" покупных средств отладки (программаторы, платные IDE).
Отладка это не преимущество ARM, стандартная функция наверное для всех контроллеров.
Из AVR8 поддерживают отладку (JTAG) не больше 10 моделей. С другими 8-ми битными аналогично.
Alex-lab писал(а):
Отладка реально нужна только на очень сложных проектах.
Распространенное заблуждение. Вероятно вам не приходилось пользоваться отладкой в МК и не можете оценить ее преимущества и насколько она позволяет сэкономить время поиска причины "почему МК работает не так как должен". http://purebasic.mybb.ru/viewtopic.php?id=564#p7599
Alex-lab писал(а):
В большинстве случаев у начинающих отладка ведет к "подгонке" параметров, без реального понимания сути происходящего.
То есть тыканье пальцем в небо? И это вместо того чтобы запустить отладку и пошагам посмотреть как выполняется программа? Это во первых позволит увитеть ее выполнение что исключит заблуждения у начинающих. Во вторых при этом можно видеть что в памяти, в регистрах процессора и периферии и может способствовать изучению МК.
BOB51 писал(а):
Расплата - обязательное наличие "фирмовых" покупных средств отладки (программаторы, платные IDE).
О чем вы пишите? Отладчик ST-Link можно самому собрать или (что проще и дешевле) купить за 100 рублей. Для STM32 есть около десятка бесплатных IDE с поддержкой аппаратной отладки.
Современные серии от микрощип-атмеля и протокол иной имеют и возможности...
МНДЯАА... Читать некогда те буки...
Просто кому чего ближе - тем и занимаются. Слишком объёмной стала документация по отношению к результату. Расширение используемой номенклатуры - только при жесткой необходимости или "от излишка времени/средств" возможно. Это ж не "с нуля в технаре/институте" учить.
Лучше уж топикстартеру помогите - с той же IDE к примеру (помимо ардуиноIDE в приложении к АРМам).
Пока что такие результаты. 1. Удалось поставить пакет sm32core под ардуину 1.8.6 уже portable, перенести ее на XP и там успешно откомпилить и собрать blink для F411CEU, извлечь hex и прошит его STLink- ом на пилюлю. И он там запустился! Это really cool!
2. Но под этим пакетом классическая голубая пилюля, точнее код для нее, хоть и собирается для blink но дико тормозит и не собирается для кучи библиотек и проектов вроде BME280, RTClock, ILI9341, и много хорошего, подо что я уже писал и есть работающие устройства. Поэтому я принял решение поставить вдобавок все, что было раньшне - покет SAM cortexM3 и еще какие-то библиотеки, уж не помню откуда, разваныыек hardware/STM32F1... Чтобы с прежними проектами было возмопортилсяжно работать.
3. Однако поглюкивает, хотя и не так фатально. Библиотека на LCD 1602 встала, а вот все, которые работают по SPI - ругаются. SPI испортился. Пишут "SPIClass has not been declared". и далее все последующее из этого.
Разбираюсь. Видимо SPI.h есть несколько (например, для атмеги и стм разных) и в механизме инклюда правильной библиотеки что-то слетело...
4. Когда это сделаю и откомпилирую все, что раньше работало - посмотрю, какие библиотеки переносятся на 411 пилюлю.
5. Когда будет что не стыдно - выложу одним архивом - портируемую среду со всеми работающими библиотеками на благо последующих поколений...
Как создать проект написано на хабре https://habr.com/ru/post/517886/ Компиляция и отладка (выполнение кода в ОЗУ) прекрасно работают в Windows XP. Спойлер
Про предложение Мурика. Спасибо большое, у меня есть странность, и я ее хочу соблюсти. Я не хочу пользоваться библиотеками с длинными именами GPIOxxx. Ну вот эстетически. Если задумаю, например, писать что-то "близко к железу" где критична работа с портами, например какой-нибудь осциллограф, где нужно правильное тактирование, правильная настройка ADC и DMA то наверное напишу в arduino IDE в хидере кучу алиасов для всех регистров по абсолютным адресам своими именами и буду обращаться по своим именам. Если уж очень приспичит - то напишу скрипт и вытру все повторяющиеся названия типа GPIO и оставлю те же библиотеки но в приятном для меня виде. Где имя не несет в себе много букв, название всех вышестоящих классов, а также бренд фирмы, разработавшей этот софт. Я на перле писал и на ассемблере 8086 и PDP11. Но это так - эстетическое самоопределение...
Нужно навести порядок в SPI библиотеках. И может быть этого достаточно. Ну и прикрутить STLink туда где его забыли. У меня залежался недоделанный генератор сигналов на AD9850 и детектор к нему на AD8307 - не на чем пока дописать.
Я не хочу пользоваться библиотеками с длинными именами GPIOxxx.
кр се та?
То есть предпочитаете чтобы функция называлась не SystemCoreClockUpdate а SCCU и не важно что ничего не понятно? Длинные имена не просто так, а чтобы было понятно что и для чего, т. е. самодокументируемый код.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения