DrobyshevAlex

Компиляция для STM32

195 posts in this topic

Oxford    37

DrobyshevAlex вам не начинающие дают советы. Если вам говорят знающие надо RTOS изучать, значит надо и чем быстрее тем лучше для вас. Время не потеряете. Ваша демагогия не имеет веса. Вы учиться пришли сюда или сидеть на лавочке и мусолить демагогию.

Edited by Oxford

Share this post


Link to post
Share on other sites
7 минут назад, Oxford сказал:

Если вам говорят знающие надо RTOS изучать, значит надо и чем быстрее тем лучше для вас.

Я где то сказал не буду? Я сказал что буду. Просто не сразу.

При всем уважении, мне один человек сказал надо, другой сказал не надо. Мне тест провести среди вас кто более знающий? Или можно все таки пару недель потестить просто на си с минимум либ, а потом начать RTOS.

К тому же я не уверен что мне нужно будет более чем в 1-2 проектах) Это ж хобби. Меня атмел устраивает без всяких RTOS :)

 

Share this post


Link to post
Share on other sites

Приглашаем на вебинар «Создание беспроводных устройств на системах-на-кристалле семейства SimpleLink компании TI»

Компания Компэл, совместно с Texas Instruments приглашают 26 июня принять участие в вебинаре, где инженер по применению беспроводных технологий компании TI расскажет, как на новых беспроводных системах можно реализовать несколько полезнейших в повседневной жизни функций для ваших устройств. С развитием элементной базы TI становится возможной реализация более удобных, функциональных и безопасных систем, недоступных ранее. Вебинар проводит инженер по применению беспроводных технологий в TI Мари Хернес(будет дублированный перевод).

Подробнее...

BARS_    996
2 часа назад, AVI-crak Home сказал:

Эта ломалка не только всплывающее окошко закрывает, но ещё и запускает скрытые пакости от производителя. В результате проект будет собираться по разному - в платном и ломанном варианте. В ломанном варианте будет всегда присутствовать неуловимая плавающая дрянь, вызывающая весёлости разной степени тяжести. Самое безобидное - замена "о" на 0, в тексте на печать. Ну или стандартное - влетание в Default_Handler.

Ты это только что на ходу придумал?

 

2 часа назад, DrobyshevAlex сказал:

я перепрошил софтиной скаченной с сайта ST

Нет, J-link совершенно другая прошивка. С ней, как минимум, программатор работает на большей скорости при прошивке и отладке.

 

1 час назад, AVI-crak Home сказал:

ST-LINK перешивать не нужно

Если нужна нормальная и быстрая работа, то нужно. Если ты вообще не в курсе, про речь, нафига чушь писать?

 

2 часа назад, DrobyshevAlex сказал:

EmBitz

Вся прелесть Keil  в том, что он "мультижелезный", т.е. может работать с разными МК. Выбор тех же ARM далеко не ограничен STM. Лично я в Keil пишу под 8051 ядро и под STM32. Очень удобно иметь одну IDE под разные МК.

 

1 час назад, Oxford сказал:

Если вам говорят знающие надо RTOS изучать, значит надо и чем быстрее тем лучше для вас. Время не потеряете.

Да успокойтесь вы со своей RTOS! Она НАФИГ не нужна на ARM, ибо ничего, кроме ухудшения работы программы она в себе не несет. Программист сам должен управлять работой программы, а не отдавать это на откуп RTOS, которая далеко не идеальна.

 

11 час назад, optima сказал:

Что то про IAR забыли!

Его можно вспоминать лишь тогда, когда больше ничего нет. Ибо редактор кода там крайне неудобный. Вообще по удобству Eclipce (и CooCox, сделанный на его основе) на первом месте, потом идет Keil, а уже где-то в самом конце IAR.

Edited by BARS_

Share this post


Link to post
Share on other sites
24 минуты назад, BARS_ сказал:

Ты это только что на ходу придумал?

Столкнулся лично. Одно дело когда разработку оплачивает большая компания, обеспечивает рабочим местом, доступом к железу, транспортом и так далее. И совершенно другое - когда комп твой личный домашний, при этом щедрость компании на него не распространяется. А мысля, она ведь и дома может сработать. 

Проект одной ревизии собирается в два немного отличающихся бинарника, причём отличие всегда случайно!!!

Share this post


Link to post
Share on other sites

Видео вебинара «Уникальный подход MORNSUN к разработке DC/DC-преобразователей. Что на выходе?»

На сайте КОМПЭЛ доступны материалы вебинара, посвященные последнему поколению DC/DC преобразователей с фиксированным входом R3 от MORNSUN. Вы можете посмотреть видеозапись, ознакомиться с презентацией и ответами на вопросы.

Подробнее...

BARS_    996

Вот только вся проблема в том, что у меня, как и у других юзеров, все все собирается НОРМАЛЬНО и никаких глюков нет. А собрал я там далеко не один проект и не только под stm32. Ибо все, что делает кряк - генерирует код для лицензии. Он вообще не лезет в файлы Keil. Ну а Keil ничего не собирает, компиляторы на него ставятся сторонние и к сборке бинарника сам Keil отношения не имеет. Так что либо у тебя Keil скачан с первого попавшегося подзаборного сайта, либо руки не такие, как у всех. Третьего не дано.

Share this post


Link to post
Share on other sites
mail_robot    1503
7 hours ago, AVI-crak Home said:

проект будет собираться по разному - в платном и ломанном варианте. В ломанном варианте будет всегда присутствовать неуловимая плавающая дрянь, вызывающая весёлости разной степени тяжести. Самое безобидное - замена "о" на 0, в тексте на печать. Ну или стандартное - влетание в Default_Handler

да не замечал я чет такого. И проекты были объемом под самую крышку. Пугалку какую то изобретаете. ИМХО

6 hours ago, DrobyshevAlex said:

При всем уважении, мне один человек сказал надо, другой сказал не надо.

надо. Просто потому что лишний инструмент в рукаве ни разу не мешает. А вот какой проект писать с ОС а какой нет, это уже совсем другая история и то что не всегда она нужна, это факт

6 hours ago, DrobyshevAlex said:

Меня атмел устраивает без всяких RTOS

так то да, ртос на мелких камнях (даже СТМ) вещ не обязательная, а порой и не нужная. А вот когда пойдут камни с объемом памяти программ 64К, а соответственно подрастет и листинг и функционал кода. Вот тут кодинг без ОС превращается в мазохизм. На 8-битках вы этого не почувствуете просто. Поэтому кошек пока готовить и не умеете

5 hours ago, BARS_ said:

Программист сам должен управлять работой программы, а не отдавать это на откуп RTOS, которая далеко не идеальна.

с вами не согласятся оооочень многие программисты, в том числе и те, которые писали ОС, дабы избавить себя и своих товарищей от лишних ошибок. И меня лично RTOS еще ни разу не подводила. Опять же вопрос об умении "готовить кошек".

Из личной практики - проекты с ОС vs без ОС соотносятся в пропорциях примерно 40/60. То есть инструмент есть и им можно и нужно пользоваться. Тем более что речь идет очень часто о глобальной экономии времени на кодинге. Написать свой диспетчер ресурсов (да еще и без багов и скрытых лагов) далеко не всегда так уж просто. Особенно когда имеется рандомный интерактивчик в виде криворукого юзера за кнопками пользовательского интерфейса

Edited by mail_robot

Share this post


Link to post
Share on other sites
6 часов назад, mail_robot сказал:

А вот какой проект писать с ОС а какой нет, это уже совсем другая история и то что не всегда она нужна, это факт

6 часов назад, mail_robot сказал:

а порой и не нужная. А вот когда пойдут камни с объемом памяти программ 64К, а соответственно подрастет и листинг и функционал кода.

так а я не то же самое пытаюсь сказать? :)

 

Share this post


Link to post
Share on other sites
mail_robot    1503

это форум фанатиков лунатиков синяков и обдолбаных фриков. Неужели до сих пор не ясно?

Edited by mail_robot

Share this post


Link to post
Share on other sites
Sancta    19

Тоже в Keil + CubeMX пробовал. кейл ломанный был. И всё работало.

кубемх не только конфигурирует микроконтроллер, но и в проекте библиотеки нужные подключает. 

Удобно )

Share this post


Link to post
Share on other sites
BARS_    996
9 часов назад, mail_robot сказал:

с вами не согласятся оооочень многие программисты

Вот только не надо этих пугалок. Не меньшее количество программистов со мной согласится.

 

9 часов назад, mail_robot сказал:

и нужно пользоваться

Вот только неизвестно где и кому оно нужно.

 

9 часов назад, mail_robot сказал:

Тем более что речь идет очень часто о глобальной экономии времени на кодинге.

Вот ровно тоже самое говорят когда пытаются впарить использование HAL и SPL. А на практике этот мусор ни капли не экономит время. Зато создает мало читаемый код с горой библиотек, которые там нафиг не нужны. В то время, как без них все настраивается не менее быстро, и из библиотек появляется один файл типа init.c. И все! Который мало того, что держит всю настройку в одном месте, так настройки еще и легко проверяется по даташиту. От твоей RTOS ровно столько же толку.

 

9 часов назад, mail_robot сказал:

написать свой диспетчер ресурсов (да еще и без багов и скрытых лагов) далеко не всегда так уж просто. Особенно когда имеется рандомный интерактивчик в виде криворукого юзера за кнопками пользовательского интерфейса

Непросто только первых пару раз. В дальнейшем ты автоматически выстраиваешь программу таким образом, чтобы не было сложностей с диспетчером ресурсов. Главное, знать тонкости работы железа и багов не будет. 

 

10 минут назад, Sancta сказал:

Удобно )

Да, вот только он туда напихивает кучу говнокода в виде HAL и разбираться в его работе то еще порно. Хотя если разработчик мазохист, то да, очень удобно.

Share this post


Link to post
Share on other sites
mail_robot    1503

отстали вы от жизни. Куб нынче умеет все и без HAL делать на чистом LL

Мне нравится и HAL и RTOS и я откровенно не понимаю отчего у людей такая зомбически предвзятая позиция по этому вопросу. У нас с вами разные философии кодинга, вот и все.НО - у обоих все работает. Не это ли главное? Я не собираюсь писать за вас, вы за меня. А значит каждый будет писать сам за себя так как ему нравится теми инструментами которые считает нужным.

В итоге что? Все при своем. Я на ваши инструменты кирпичи не кладу, при этом прошел их все от самого асма и рассуждать имею право, а вы уж будьте любезны... не обсерайте плоды трудов программистов целой корпорации. Туда то точно идиотов понанимали. Ну что с них взять то? Не то что мы, великие диванные эксперты

Edited by mail_robot

Share this post


Link to post
Share on other sites

Вопрос не в том кто и насколько преуспел в программировании, а в том где сейчас находится DrobyshevAlex. А ему сейчас нужен тёплый старт.

Минимальный проект, который создаётся силами id, без внешних магических движений и воздействий. Проект, который всегда собирается без ошибок прямо из "коробки".

Дык вот. По этому критерию лидирует CooCox. Можно сказать что его создали для этой цели - мягкого тёплого старта с чипами компании st.

Далее идёт EmBitz, точнее его предыдущая версия Em::Blocks. Его создавали на базе Code::Blocks, путём длительной и очень тщательной кастрации всех некрасиво выступающих частей интерфейса. В результате id может работать с чипами st, и больше ничего. Но зато работает быстрее всех существующих платных и бесплатных пакетов id. И естественно имеет стартовые конфиги для наиболее популярных чипов.

Потом идёт Keil, за ним IAR, потом плотной группой по уровню сложности: TrueSTUDIO, SW4STM32, SEGGER и так далее, и замыкает процессию Eclipse.

Про Eclipse можно писать много, и очень желчно. Её судьба чем-то похожа на Code::Blocks. Она так-же стала прототипом для многих более крутых id. Но отличие в том что оптимизации не было. Весь этот монстр просто обрастал дополнительными слоями "удобных" плагинов, которые прятали всю избыточную сложность общения с id. Из плюсов - плагины есть для всего, всего что шевелится. Минусы - плагинов настолько много, что через некоторое время забывается сама цель поиска чего-то нужного. Установить самостоятельно Eclipse для неподготовленного пользователя - просто невозможно. Да, есть множество инструкций - но все они устаревшие.

Share this post


Link to post
Share on other sites
mail_robot    1503
10 minutes ago, AVI-crak Home said:

мягкого тёплого

то есть получается антирейтинг чтоли? Ну если начали с мягкого и теплого

Share this post


Link to post
Share on other sites
BARS_    996
1 час назад, mail_robot сказал:

Мне нравится и HAL и RTOS и я откровенно не понимаю отчего у людей такая зомбически предвзятая позиция по этому вопросу.

Просто далеко не всем нравится, когда в проекте хрен что поймешь и вместо 10 сток кода появляется 3 библиотеки, которые еще и избыточны по своей сути. Вам нравится видеть говнокод в своих проектах - ваше право. Я же люблю когда код легко читаем и проверяем по даташиту. А самое интересное то, что была SPL, и все точно так же писались от счастья. Потом раз, и появилась HAL. В итоге SPL проекты оказались устаревшими и фиг в них потом разберутся те, кто юзает HAL. Ровно тоже самое будет с HAL. А вот проекты написанные без этого шлака как были, так и остались, ибо заголовочники на МК не меняются. И опять же, ни один фанат говнолиб не может объяснить их преимуществ. Просто хорошо и все. С таким подходом прямая дорога в ардуинщики.

 

1 час назад, mail_robot сказал:

не обсерайте плоды трудов программистов целой корпорации. Туда то точно идиотов понанимали.

Тут немного другое. Либы пилятся универсальными, в итоге получаются кривыми и содержат в себе невероятное количество бесполезного кода (взять ту же проверку введенных параметров на каждом шагу).

 

11 минуту назад, AVI-crak Home сказал:

Далее идёт EmBitz,

По поводу данной проги. Поставил, потыкал. Вполне приятный и удобный интерфейс, на Visual Studio похож..

 

12 минуты назад, AVI-crak Home сказал:

В результате id может работать с чипами st, и больше ничего.

Ну почему же, выбор чипов довольно широк

 image.png.a24d5a5bbf7001c3252cb8704e007c4c.png

14 минуты назад, AVI-crak Home сказал:

Установить самостоятельно Eclipse для неподготовленного пользователя - просто невозможно.

Подтверждаю, особенно начиная с 8 винды

Share this post


Link to post
Share on other sites
elki    104

Каждому свое наверное, я когда решил заняться изучением языка С и микроконтроллеров от STM, в поисках пробовал и куб и spl, что то пишешь результат есть, а понимания как это работает нет. В итоге оказалось проще использовать CMSIS, возможно  в больших проектах и будет с ним гиморойно, но один раз на нем стоит написать для понимания как все это устроенно. 

Share this post


Link to post
Share on other sites
BARS_    996
1 минуту назад, elki сказал:

возможно  в больших проектах и будет с ним гиморойно

Отнюдь. Что большой, что маленький проект, настройки всего железа содержатся в одном файле. Плюс со временем появляется подборка самописных библиотек под работу с железом, работу которого удобно вынести в библиотеку (тот же spi). Кроме того, код без говнолиб получается намного компактнее.

Share this post


Link to post
Share on other sites
elki    104

Я так и делаю, изучая какой то модуль, стараюсь сохранить себе библиотеку настроек. По моему куда проще посмотреть документацию и выставить бит в регистре, чем тыкать кнопки в генераторе кода не понимая, что там происходит, а потом разбираться с регистрами да еще и портянками непонятного кода.

Share this post


Link to post
Share on other sites
8 минут назад, elki сказал:

По моему куда проще посмотреть документацию и выставить бит в регистре

Дык с avr я так и делаю) А тут меня больше всего смутила настройка тактирования) В авр все просто, внутренняя RC цепочка, внешняя, или кварц. А тут глянул в конфигуратор, и понял что ничего не понял. Мало того, что есть два варианта настройки одновременно, что то типа для высокой частоты одна настройка а для низкой другая, так еще есть какой то выбор Systick или TIMx... вот это пока для меня вообще загадкой осталось))

Share this post


Link to post
Share on other sites
38 минут назад, mail_robot сказал:

то есть получается антирейтинг чтоли? Ну если начали с мягкого и теплого

Кхм, пожалуй стоит заменить на простое и понятное. Для исключения подобных ассоциаций. 

Хотя имело в виду совершенно иное - терпимость к новым ошибкам кода пользователя. С ростом сложности промежуточного слоя абстракции - добраться до реальной ошибки становится всё сложнее и сложнее. Дополнительные слои абстракции - это всегда двери в одно направление, как правило их очень легко закрыть, и многократно сложнее открыть. Самый яркий пример это естественно хал. На нём очень легко писать код. Но если что-то сломалось - то проще написать заново, чем разобраться в причине поломки. Чуть более сложное в понимании -  внешние конструкторы настройки периферии и программного кода. Это то что не поддаётся логике и отладке в принципе (нет обратной связи). Это можно использовать или не использовать, и на этом опции заканчивается.

Ну так вот, код в CooCox создаётся здесь и сейчас - буквально полностью помещаясь на экран. Там нет длинных ссылок с определениями  и макросами на ещё десятке разных файлов. Оно конечно удобно, когда в конфиге меняется одно значение, и проект полностью перестраивается. Но всё хорошо в меру. В данном случае мера - это один конфиг, а не десяток файлов со сложной взаимосвязью.

Рейтинг построен именно по этой методике - количество телодвижений в поиске ошибки.

Share this post


Link to post
Share on other sites
elki    104
4 минуты назад, DrobyshevAlex сказал:

Дык с avr я так и делаю) А тут меня больше всего смутила настройка тактирования) В авр все просто, внутренняя RC цепочка, внешняя, или кварц. А тут глянул в конфигуратор, и понял что ничего не понял. Мало того, что есть два варианта настройки одновременно, что то типа для высокой частоты одна настройка а для низкой другая, так еще есть какой то выбор Systick или TIMx... вот это пока для меня вообще загадкой осталось))

В стм тоже тактирование или в внутреннего генератора HSI или с внешнего кварца\генератора HSE, сокращение от хай спид интернал\экстернал

Вот по системе тактирования https://hubstub.ru/stm32/140-stm32-taktirovanie.html  https://ergoz.ru/programmirovanie-stm32-chast-2-sistema-taktirovaniya-stm32/

 

Я разбираюсь пока что с STM32f030

Share this post


Link to post
Share on other sites
elki    104

Смотри, есть источник HSI и HSE. Дальше идет систем клок мух, вот им ты и выбираешь от чего тактируется контроллер. Варианты или внешний кварц или внутренний генератор или умножитель плл. В свою очередь источником тактирования PLL может быть или внешний кварц или внутренний.

То есть если ты не используешь внешний кварц, то по умолчанию контроллер тактируется от внутреннего генератора, если используется внешний кварц, тогда система стартует от внутреннего и потом по ходу инициализации ты его переключаешь на работу от внешнего.

LSI это для тактирования RTC, часовой кварц.

Edited by elki

Share this post


Link to post
Share on other sites
BARS_    996
2 часа назад, DrobyshevAlex сказал:

А тут меня больше всего смутила настройка тактирования)

На самом деле все очень просто, особенно для 10х серии. Достаточно поглядеть примеры в сети. Да и по умолчанию для этих серий конфигурация прописана таким образом, что с кварцем 8 МГц МК запускается на частоте 72 МГц. В большинстве случаев этого достаточно и ничего менять не требуется.

Если описывать кратко, то у STM32 есть внешний источник тактирования и внутренний (у AVR аналогично). С обоих источников тактовую можно подать как сразу на кишки МК, так и на PLL (ФАПЧ по нашенски). Основная функция PLL - умножение тактовой. Т.е. ставим кварц на 8 МГц, включаем умножитель на 8 и вуаля, получаем тактовую 72 МГц. Т.к. не вся периферия умеет работать на частоте ядра, то формируется несколько независимых сигналов тактирования. Основные из них APB1 и APB2 (так же идет отдельная тактовая на USB, ADC, I2S, FSMC, SDIO, Ethernet  т.п.). Причем APB1 имеет более высокую частоту, чем APB2. Обычно разница в 2 раза. Такая хитрая система тактирования сделана во-первых для обеспечения энергосбережения МК, а во-вторых для того, чтобы медленная периферия не тормозила работу ядра. Т.е. ядро выполняет операции на частоте, скажем 72 МГц, а ADC спокойно пыхтит на частоте в 4 раза меньше. Плюс к этому в STM32 встроены RTC, для них можно подключить отдельный кварц 32,768 КГц на вход LSI.

Share this post


Link to post
Share on other sites
59 минут назад, elki сказал:

есть источник HSI и HSE

Могу предположить что I/E = Внутренний/Внешний генератор.

1 час назад, elki сказал:

или умножитель плл.

Ну вот тут не совсем понятно, понятно что множитель это вроде как просто, 8x2 это 16, но это все таки частота, и я считаю что она должна быть через равные промежутки времени) То есть откуда этот PLL знает частоту внешнего кварца? Ну да ладно, в целом я могу принять как должное) Умножил и все тут, не разбираясь в тонкостях 6 то ли он вычисляет промежутки, то ли просто не равные промежутки времени выходят, не суть, есть частота есть множитель, я знаю результат.

1 час назад, elki сказал:

LSI это для тактирования RTC, часовой кварц.

А вот это уже интересней) То есть первый вариант это именно тактирование процессора, а LSI это только часов? Я припоминаю что я читал что мк содержит RTC с питанием от батареи. То есть эта настройка отвечает только за часы. Просто изначально я думал что для low частоты мк нужна эта настройка. Тогда вторая не трогается. Это и смущало)

Вроде бы сейчас более менее понятно. Но остался вопрос о 

2 часа назад, DrobyshevAlex сказал:

еще есть какой то выбор Systick или TIMx... вот это пока для меня вообще загадкой осталось

Был бы признателен за краткое пояснение :)

@BARS_ пока писал, вы как раз отвечали. Ну в целом вроде бы с тактированием HSE/HSI я понял :)

Share this post


Link to post
Share on other sites

Your content will need to be approved by a moderator

Guest
You are commenting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoticons maximum are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Сообщения

    • Питание микросхемы так работать не будет.
    • то не хлам, а неликвид в худшем из терминов.
    • Список поддерживаемых контроллеров такой же как и для версии 2,11 или всё же есть различия?
    • Есть гораздо более прозаическое объяснение. Не секрет, что посещаемость российских форумов падает, и падает значительно. Большинство крупных российских форумов есть бизнес, который получает доход от рекламы, а суммы, отстегиваемые рекламодателями, как правило напрямую зависят от посещаемости форума.  
    • Саш, дело не в винтажности, а скорее в технологиях и примененных материалах в части серий DS  Diatone. Полистай ветку, там Спиридонов давал TS параметры НЧ дина Диатонов DS-77z серии с трехслойной структурой дифуззора и мощной магнитной системой . Да и СЧ\ВЧ динамики сделаны из серьезных материалов. К сожалению, на ряду с возросшим спросом на линейку моделей Диатонов, продавцы отреагировали моментально, выставив ценник довольно высоко. Не надо забывать, что покупка "вслепую" таких аппаратов - большой риск + надо еще сразу прикидывать замену подвесов в НЧ и  наверное еще переделка кроссов
    • @ZLOdeyB@sil@ я собирал в один тройник печку кухонную, чайник, утюг , нагрузка нормальная получалась, даже с запасом