STM32 новичку в ARM что к чему

Кто любит RISC в жизни, заходим, не стесняемся.
Аватара пользователя
VladislavS
Собутыльник Кота
Сообщения: 2562
Зарегистрирован: Вт май 01, 2018 19:44:47

Re: STM32 новичку в ARM что к чему

Сообщение VladislavS »

[uquote="Мурик",url="/forum/viewtopic.php?p=3924896#p3924896"]Вы утверждаете что C++ генерирует лучший код чем Си[/uquote]Не надо перевирать! Мой пост был под заголовком "зачем нужны современные компиляторы, языки программирования и их стандарты". Можете сходить и проверить. Всё остальное ваши домыслы.

[uquote="Мурик",url="/forum/viewtopic.php?p=3924896#p3924896"]И при этом зачем-то использовали разные версии CGG (8.2 для Си и 9.2.1 для C++).[/uquote]Это не мой выбор, а Compiler Exploer. Брал максимально свежие версии из доступных для выбора.

[uquote="Мурик",url="/forum/viewtopic.php?p=3924896#p3924896"]На деле оказалось что между асм кодом Си и C++ разницы вообще нет.[/uquote]На очевидной константе. Достаточно слегка усложнить задачу и...
Реклама
Аватара пользователя
Мурик
Друг Кота
Сообщения: 3383
Зарегистрирован: Пн окт 11, 2010 19:00:08

Re: STM32 новичку в ARM что к чему

Сообщение Мурик »

VladislavS писал(а):Это не мой выбор, а Compiler Exploer.
Разве есть GCC только для Си или только для плюсов? Видимо баг в ИДЕ.
Что мешало использовать нормальную ИДЕ с текущей версией GCC?
VladislavS писал(а):Достаточно слегка усложнить задачу и...
Каждый конкретный случай нужно рассматривать в отдельности. По моему вы сильно недооцениваете компилятор Си.
Реклама
Аватара пользователя
VladislavS
Собутыльник Кота
Сообщения: 2562
Зарегистрирован: Вт май 01, 2018 19:44:47

Re: STM32 новичку в ARM что к чему

Сообщение VladislavS »

[uquote="Мурик",url="/forum/viewtopic.php?p=3924916#p3924916"]Что мешало использовать нормальную ИДЕ с текущей версией GCC?[/uquote]Неужели на скриншотах не видно, что это не IDE?

[uquote="Мурик",url="/forum/viewtopic.php?p=3924916#p3924916"]Каждый конкретный случай нужно рассматривать в отдельности.[/uquote]Ничего не получится. Как только мы пойдём в зону, где С++ имеет преимущества, то равноценного ответа просто не будет из-за отсутствия присутствия.
Reflector
Поставщик валерьянки для Кота
Сообщения: 2089
Зарегистрирован: Вс июн 19, 2016 09:32:03

Re: STM32 новичку в ARM что к чему

Сообщение Reflector »

[uquote="VladislavS",url="/forum/viewtopic.php?p=3924881#p3924881"]Смотри какая красота![/uquote]
Да, но для M0 мой код будет быстрее в 3 раза еще и меньше по размеру :)
Реклама
Эиком - электронные компоненты и радиодетали
a797945
Мучитель микросхем
Сообщения: 446
Зарегистрирован: Вс ноя 01, 2015 09:15:16
Откуда: 69.Ржев

Re: STM32 новичку в ARM что к чему

Сообщение a797945 »

Спасибо
ответ исчерпывающий :)
Реклама
Аватара пользователя
Eddy_Em
Собутыльник Кота
Сообщения: 2516
Зарегистрирован: Пт июл 12, 2019 22:52:01
Контактная информация:

Re: STM32 новичку в ARM что к чему

Сообщение Eddy_Em »

Хватит уже версии gcc сравнивать: толку-то, когда clang рвет gcc как тузик грелку?
Правда, я и сам gcc пока собираю (GCC 10.2.0)...
Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда.
Я на гитхабе, в ЖЖ
Реклама
Аватара пользователя
VladislavS
Собутыльник Кота
Сообщения: 2562
Зарегистрирован: Вт май 01, 2018 19:44:47

Re: STM32 новичку в ARM что к чему

Сообщение VladislavS »

[uquote="Reflector",url="/forum/viewtopic.php?p=3924927#p3924927"]Да, но для M0 мой код будет быстрее в 3 раза еще и меньше по размеру :)[/uquote]Это даже не обсуждается. Но "политика партии" гласит, что стандартную библиотеку пишут программисты выше среднего и алгоритмы в ней обычно лучше того, что напишет среднестатистический программист. Если вы написали лучше - это заслуживает уважения. Будем надеяться, стандартная библиотека подтянется. У них, конечно, работы по преводу её на 20-й не позавидуешь.
Dimon456
Мудрый кот
Сообщения: 1849
Зарегистрирован: Вс дек 25, 2016 08:34:54

Re: STM32 новичку в ARM что к чему

Сообщение Dimon456 »

ARV, прикрутил я карточку SD, любая работает, даже моя проблемная.
Перепробовал кучу библиотек, точнее 3, та которая в инете FatFS требует 512+ байт рам, но она на f100 работает.
Моя библиотека работает, но не хочет перемещаться по файлу, не стал разбираться.
Остановился на той, которая у вас в проекте, но она не работала, точнее работала но через раз,
я ее заставил работать, нашел отличие, вся проблема была вот в этом участке кода функции disk_initialize
Спойлер

Код: Выделить всё

	if(!SD_present()){
		return STA_NODISK;
	}
я его выкинул, не зачем долбить карту пока она не в режиме spi, то ответит, то нет
Инициализируется на скорости 48МГц/256 потом переключается на 48МГц/2.
a797945
Мучитель микросхем
Сообщения: 446
Зарегистрирован: Вс ноя 01, 2015 09:15:16
Откуда: 69.Ржев

Re: STM32 новичку в ARM что к чему

Сообщение a797945 »

[uquote="Reflector",url="/forum/viewtopic.php?p=3924850#p3924850"]... Кто догадается как использовалась такая строка? :)

Код: Выделить всё

00000000100000001100000011100000111100001111100011111100111111101111111
...
[/uquote]

побитное "лекало" для 8-ми разрядов ?
дотошно не проверял, но на глаз и функционально - вроде, оно.
м-да, без высшего образования, только со второй попытки допер. :(
снимаю шляпу, я б невжизнь такое не придумал.
Reflector
Поставщик валерьянки для Кота
Сообщения: 2089
Зарегистрирован: Вс июн 19, 2016 09:32:03

Re: STM32 новичку в ARM что к чему

Сообщение Reflector »

[uquote="a797945",url="/forum/viewtopic.php?p=3926753#p3926753"]побитное "лекало" для 8-ми разрядов ?[/uquote]
Если я правильно понял, то да :) Суть в том, что в той строке есть все комбинации от 00000000 до 11111111, при этом размер строки 283 символа вместо 8 * 256, т.е. она меньше в 7.24 раза. Есть еще небольшая вторая таблица для пересчета индекса, а нужно это было потому что данные выводились на дисплей и один бит из моей строки соответствовал двум байтам цвета, в итоге для 16-ти цветов без упаковки будет таблица на 512КБ и есть проект где она в таком виде и присутствует, а у меня таблица 73КБ и данные из нее выводятся на дисплей непосредственно из флеша. Таблица для диодов всего 2КБ, была бы она побольше можно было бы применить данный подход и к ней тоже.
a797945
Мучитель микросхем
Сообщения: 446
Зарегистрирован: Вс ноя 01, 2015 09:15:16
Откуда: 69.Ржев

Re: STM32 новичку в ARM что к чему

Сообщение a797945 »

да функционирование я при первой попытке "расшифровал", но завис - не сходились размерности,
только при втором "штурме" наконец дошло. :)
я не за диоды, сама задачка увлекла.
Reflector
Поставщик валерьянки для Кота
Сообщения: 2089
Зарегистрирован: Вс июн 19, 2016 09:32:03

Re: STM32 новичку в ARM что к чему

Сообщение Reflector »

[uquote="a797945",url="/forum/viewtopic.php?p=3926783#p3926783"]но завис - не сходились размерности[/uquote]
Идеальный размер - это 8 + 255 = 263, чтобы получить 283 мне пришлось написать программу и думаю всего 20 лишних символов - это очень хороший результат :)
iddqd
Нашел транзистор. Понюхал.
Сообщения: 156
Зарегистрирован: Вс сен 06, 2020 16:06:10

Re: STM32 новичку в ARM что к чему

Сообщение iddqd »

[uquote="Eddy_Em",url="/forum/viewtopic.php?p=3924946#p3924946"]Хватит уже версии gcc сравнивать: толку-то, когда clang рвет gcc как тузик грелку?[/uquote]
Хотелось бы каких-то более убедительных обоснований вот этого момента. На каких вариантах ARM? И с какими параметрами? А то раньше clang вообще скоростью компила хвастался, но это было в ущерб оптимизации. А как сделали оптимизацию сравнимо с gcc так и скоростью компила резко перестали хвастаться "почему-то". Как насчет опубликовать какие-то результаты, с конкретикой, чтоли? Ну там версии, ключи, тип процессора, и по какому именно параметру "рвет"?
Аватара пользователя
Asmodey
Друг Кота
Сообщения: 6321
Зарегистрирован: Сб янв 28, 2006 22:47:24

Re: STM32 новичку в ARM что к чему

Сообщение Asmodey »

Пришли с Али заказанные STM32F042K6. Вроде работают, прошиваются и стираются. Решил первый проект с этим МК в IAR запилить. Проект создал. Теперь, думаю, нужно к нему заголовочники из CMSIS подключить. С сайта ST скачиваю STM32Cube_FW_F0_V1.11.0, иду в привычную директорию C:\Users\***\Desktop\STM32Cube_FW_F0_V1.11.0\Drivers\CMSIS\Device\ST\STM32F0xx\Include. Поиском винды ищу файлы с упоминанием STM32F042K6. Винда многозначительно молчит. Почувствовав недоброе прошелся поиском по всем папкам либы. Нашлись упоминания STM32F042K6 в разном гуане вроде примеров для Кейл и разного мусора типа Нуклео.

Два вопроса. ST всегда так делает? И что теперь мне делать?
Астролябия-сама меряет, было бы что мерять!!!
Reflector
Поставщик валерьянки для Кота
Сообщения: 2089
Зарегистрирован: Вс июн 19, 2016 09:32:03

Re: STM32 новичку в ARM что к чему

Сообщение Reflector »

[uquote="Asmodey",url="/forum/viewtopic.php?p=3928163#p3928163"]Два вопроса. ST всегда так делает? И что теперь мне делать?[/uquote]
В прошлый раз, когда была непонятка с хедерами для F303, ты осознал почему STM32 такие дешевые, теперь опять ST виновата в том, что кто-то в папке Include не может разглядеть единственный файл в названии которого встречается 042 :)
Аватара пользователя
Asmodey
Друг Кота
Сообщения: 6321
Зарегистрирован: Сб янв 28, 2006 22:47:24

Re: STM32 новичку в ARM что к чему

Сообщение Asmodey »

[uquote="Reflector",url="/forum/viewtopic.php?p=3928179#p3928179"]встречается 042 :)[/uquote]
Очень хотелось бы встретить 042K6.

ST, оно как майонез "Загадочный", где дата выпуска указана на дне внутри банки.
Астролябия-сама меряет, было бы что мерять!!!
Reflector
Поставщик валерьянки для Кота
Сообщения: 2089
Зарегистрирован: Вс июн 19, 2016 09:32:03

Re: STM32 новичку в ARM что к чему

Сообщение Reflector »

Файл называется stm32f042x6.h, других файлов с "042" нет, не знаю какие могут быть проблемы, особенно после того как ты ранее подключал stm32f3xx.h и stm32f303xc.h для F303CB... Разница в том, что в комментах stm32f3xx.h упоминается F303CB, но там 6 разных мк, для F042 уже 10 потому просто написали, что stm32f042x6.h нужен для всех f042x4 и f042x6.
Аватара пользователя
Asmodey
Друг Кота
Сообщения: 6321
Зарегистрирован: Сб янв 28, 2006 22:47:24

Re: STM32 новичку в ARM что к чему

Сообщение Asmodey »

[uquote="Reflector",url="/forum/viewtopic.php?p=3928198#p3928198"]Разница в том, что в комментах stm32f3xx.h упоминается F303CB, но там 6 разных мк, для F042 уже 10 потому просто написали, что stm32f042x6.h нужен для всех f042x4 и f042x6.[/uquote]
Не, ну молодцы, чё тут сказать... Сэкономили аж 4 слова в каментах :D

По вменяемости документации и организации файлов библиотек упоротее ST разве что Espressif Systems, которые на вопрос о доках ваще делают круглые глаза - а нахрина вам вообще документация при столь низкой цене микроконтроллера? При Брежневе с AVR и PIC такого не было.

Reflector, спасибо. Теперь хотя бы понятно, что на однообразие оформления либ от ST надеяться наивно. Ну лана, буду играть в угадайки...
Астролябия-сама меряет, было бы что мерять!!!
Аватара пользователя
Мурик
Друг Кота
Сообщения: 3383
Зарегистрирован: Пн окт 11, 2010 19:00:08

Re: STM32 новичку в ARM что к чему

Сообщение Мурик »

Asmodey писал(а):По вменяемости документации и организации файлов библиотек упоротее ST разве что Espressif
У Espressif сколько моделей МК?
У ST только STM32 больше 1500 моделей (а они производят и другие МК). Вы хотите чтобы на каждую модель был отдельный файл? :shock: Естественно что файлы совмещенные. :)
Если хотите чтобы было легко и просто, берите IDE в которой библиотеки добавляются при создании проекта. Например CubeIDE или EmBitz.
Для примера проект для STM32F042K6 с SPL.
СпойлерИзображение
Тоже самое с HAL.
СпойлерИзображение
Аватара пользователя
Asmodey
Друг Кота
Сообщения: 6321
Зарегистрирован: Сб янв 28, 2006 22:47:24

Re: STM32 новичку в ARM что к чему

Сообщение Asmodey »

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

Вернуться в «ARM»