LINUX.ORG.RU

пытаюсь программировать под st32f4

 , ,


1

2

TL;DR: Планирую девайс на st32, что-нить в духе 64-128кб ROM, 32kb sram (аля STM32F401 или другое недорогое решение от этого производителя).

1) стоит ли заморачиваться этими всеми *RTOS для небольшого проекта для микроконтроллеров st32? Есть шанс что придётся попотеть с портированием.

2) Какую именно RTOS взять?

Делаю блок питания с микроконтроллером (для управлением дисплеем, кнопками и энкодерами). Неспешно пилил всё под atmega328 на голом си и даже что-то получалось. Но однажды утром проснулся и понял что жить не могу без arm. Тут-то проект полетел к чертям :)

После ночей раздумий остановился на серии mcu st32f4. Приобрёл для начала stm32F429I-DISCO . Однако застрял на написании простей программы по миганию светодиодом: в инете куча устаревшей инфы и либ под разные виндовые IDE типа truestudio итп. А вот чтобы просто под gcc и Makefile и чтобы готовое, рабочее и совместимое с последним sdk... Родной sdk от производителя это какое-то малоструктурированное адовое мессиво автосгенерированного кода. Я заставил компилироваться некоторые примеры из инета, но они не заработали (подозреваю грабли в коде инициализации). Поэтому я пошёл другим путём.

Я решил скачать какой-нить готовый пример с freertos. И, о чудо, вот это заработало: https://github.com/winfred-lu/stm32f429-freertos800 . Оно даже работает с последним FreeRTOS. Стоит ли продолжать изыскания с FreeRTOS?

cast tailgunner, mv, madcore, sdio, hizel, mashina

★★★★★

Ответ на: комментарий от Eddy_Em

дело в том что есть такой параметер как цена вопроса, по вашим предыдушем соошениям у меня сложилось впечетление что вы этот параметер не учитываете

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

что хорошего в тот инструмент что я предлагаю?

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

у человека нет винды, в чём я его пониаюб и уважаю

novoxudonoser
()
Ответ на: комментарий от novoxudonoser

В случае хобби цена вопроса — только затраты на железо.

В случае программирования на "отвали" (заменить слово на правильное), нужна скорость, а качество не нужно.

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

Получаем, что только второй вариант (слабать говно и забыть) допускает использование всякой ардуйни и HAL/SPL и прочего быдлокода.

Это примерно как вантузятнику поставить бубунту и заставить его думать, что он таким образом стал линуксоидом!

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

На радиолюбительских ресурсах полным-полно подобных "спринтеров" вылезает с совершенно идиотскими вопросами! А если бы он не пер с места в галоп, а сначала изучил бы матчасть, такого тупняка не было бы! И не было бы бездумного копирования нерабочего быдлокода (далеко за примерами ходить не надо: я уже больше пары десятков раз встречал один и тот же кривой быдлокод для работы с 1-wire, в котором протокол реализован не аппаратно, а программно! И все от незнания матчасти).

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Eddy_Em

В случае хобби цена вопроса — только затраты на железо.

работы-учёбы-тян-скайрима на легендарном-* не существует?

В случае программирования на «отвали» (заменить слово на правильное), нужна скорость, а качество не нужно.

см п. 1

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

полностью согласен, но ведь в данном случае это хобби

Получаем, что только второй вариант (слабать говно и забыть) допускает использование всякой ардуйни и HAL/SPL и прочего быдлокода.

Это примерно как вантузятнику поставить бубунту и заставить его думать, что он таким образом стал линуксоидом!

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

На радиолюбительских ресурсах полным-полно подобных «спринтеров» вылезает с совершенно идиотскими вопросами! А если бы он не пер с места в галоп, а сначала изучил бы матчасть, такого тупняка не было бы! И не было бы бездумного копирования нерабочего быдлокода (далеко за примерами ходить не надо: я уже больше пары десятков раз встречал один и тот же кривой быдлокод для работы с 1-wire, в котором протокол реализован не аппаратно, а программно! И все от незнания матчасти).

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

если это быдлокод ради хобби который работает + тормошение тупыми вопросам на радиофорумах (кстати если можно узнать кто вы на радиокоте?) и на это было потрачено умеренное количество, я считаю что это более чем сностно

в котором протокол реализован не аппаратно

в виду имеется камни с апаратным 1-wire ? , или в виду имется софтверная реализация которая на время обшения с 1-wire блокирует и ос и прерывания?

не аппаратно, а программно

а что плохого в том что быдлокодер в хоби проекте использовал плохую но готовую реализацию?

novoxudonoser
()
Ответ на: комментарий от novoxudonoser

работы-учёбы-тян-скайрима на легендарном-* не существует?

Хобби выполняется в свободное время. И пофиг.

ведь в данном случае это хобби

Т.е. нужно делать тяп-ляп? Вот так тяп-ляп положишь плитку в сортире, и будет она тебе на башку отваливаться; или проводку в квартире тяп-ляп проложишь, и пожар устроишь; или тяп-ляп спаяешь водопровод, и соседей затопишь!

На кой черт так делать?

какой уровень освоения нужен для хобби проектов?

Как минимум процентов 50 от профессионального. Естественно, нет нужды знать все досконально. Но разбираться хорошенько необходимо. Чтобы не было желания, натырив с интернета всякого быдлокода для ардуйни, забульбенить на крыше своего домика турельку с пулеметом, которая будет отстреливать незваных гостей — слишком уж велик будет шанс самому пулю словить!

кстати если можно узнать кто вы на радиокоте?

Не, почитав отзывы о радиокоте на казусе и изиэлектрониксе, я там не регистрировался. А на тех у меня примерно такой же логин: на изиэлектрониксе я тоже eddy_em, а на казусе — просто eddy (когда на казусе регистрировался, еще был этот логин свободный; а потом уже пришлось брать себе суффикс, чтобы на разных форумах иметь более-менее одинаковые погоняла).

я считаю что это более чем сностно

ну, если это хобби из разряда "сварганить какую-нибудь дрянь, и на второй же день выкинуть", то да.

в виду имеется камни с апаратным 1-wire

нет. Я имею в виду аппаратную реализацию этого протокола. Через таймеры и DMA. Как будет время (возможно, завтра), добью реализацию для STM32. А потом еще есть желание ее на STM8S перенести. Но там, к сожалению, нет DMA, поэтому придется делать полусофтовую — через прерывания.

а что плохого в том что быдлокодер в хоби проекте использовал плохую но готовую реализацию?

Плохо в этом то, что он может захотеть добавить что-то еще в свой проект. А потом — еще что-то. И в итоге появятся вопросы из разряда "а почему если я опрашиваю 100 таймеров 1-wire с максимальной частотой, у меня не работает экранчик и подвисает USB?"

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Eddy_Em

P.S. Вот я ругаю рукожопых, а сам не лучше ведь! С моей стороны тоже на радиоэлектронных форумах хватает совершенно диких и идиотских вопросов. Но я стараюсь исправиться!

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Eddy_Em

Т.е. нужно делать тяп-ляп? Вот так тяп-ляп положишь плитку в сортире, и будет она тебе на башку отваливаться; или проводку в квартире тяп-ляп проложишь, и пожар устроишь; или тяп-ляп спаяешь водопровод, и соседей затопишь!

вы впадаете в крайности

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

в других вариантых «тяп ляп» имеет право на жизнь

я ксчтати и не призывал делать что либо «тяп ляп», а всего лишь использовать инструменты согласно своим потребностям и возможностям

Как минимум процентов 50 от профессионального

почему не 60 или 40? какой критерей оценки? какой пособ оценивания? что является профессиональным уровнем? у меня есть свой ответ - ровно такой чтобы устройство коректно выполнело минимум функций

Хобби выполняется в свободное время. И пофиг.

которого всегда нехватает, а еслихочется реально чтото сделать то не жертвуя чем либо (например качеством) можно и 20 лет делать

ну, если это хобби из разряда «сварганить какую-нибудь дрянь, и на второй же день выкинуть», то да.

с каких пор использование готового иде в начале изучения мк плохо?

отзывы о радиокоте

они что такие страшные?

Плохо в этом то, что он может захотеть добавить что-то еще в свой проект. А потом — еще что-то. И в итоге появятся вопросы из разряда «а почему если я опрашиваю 100 таймеров 1-wire с максимальной частотой, у меня не работает экранчик и подвисает USB?»

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

novoxudonoser
()
Ответ на: комментарий от novoxudonoser

ровно такой чтобы устройство корректно выполняло минимум функций

Чтобы оно этот минимум корректно выполняло, нужно отдавать себе отчет, как оно это выполняет. Иначе будет эдакий черный ящик, который непонятно что и непонятно почему делает.

с каких пор использование готового иде в начале изучения мк плохо?

С изначальных.

И при чем здесь IDE? IDE — всего лишь редактор + компилятор + отладчик. Т.е. это — geany + gcc + gdb

Библиотечки не входят в IDE никак.

А уж использование всяких "cube" — вообще зло, т.к. совершенно скрывает всю подноготную.

они что такие страшные?

Примерно как здесь отзывы о быдлохабре.

вы так говорите как бюудто это что-то плохое

Конечно, плохое! Надо со своим невежеством бороться, а не плевать на себя!

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Eddy_Em

Чтобы оно этот минимум корректно выполняло, нужно отдавать себе отчет, как оно это выполняет. Иначе будет эдакий черный ящик, который непонятно что и непонятно почему делает.

не спорю

с каких пор использование готового иде в начале изучения мк плохо?

С изначальных.
И при чем здесь IDE

WTF?

Надо со своим невежеством бороться, а не плевать на себя!

а как им ешё бороться кроме как глупые вопросы задавать?

novoxudonoser
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.