STM32 новичку в ARM что к чему
- VladislavS
- Собутыльник Кота
- Сообщения: 2562
- Зарегистрирован: Вт май 01, 2018 19:44:47
Re: STM32 новичку в ARM что к чему
[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]На очевидной константе. Достаточно слегка усложнить задачу и...
[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]На очевидной константе. Достаточно слегка усложнить задачу и...
- Реклама
Re: STM32 новичку в ARM что к чему
Разве есть GCC только для Си или только для плюсов? Видимо баг в ИДЕ.VladislavS писал(а):Это не мой выбор, а Compiler Exploer.
Что мешало использовать нормальную ИДЕ с текущей версией GCC?
Каждый конкретный случай нужно рассматривать в отдельности. По моему вы сильно недооцениваете компилятор Си.VladislavS писал(а):Достаточно слегка усложнить задачу и...
- VladislavS
- Собутыльник Кота
- Сообщения: 2562
- Зарегистрирован: Вт май 01, 2018 19:44:47
Re: STM32 новичку в ARM что к чему
[uquote="Мурик",url="/forum/viewtopic.php?p=3924916#p3924916"]Что мешало использовать нормальную ИДЕ с текущей версией GCC?[/uquote]Неужели на скриншотах не видно, что это не IDE?
[uquote="Мурик",url="/forum/viewtopic.php?p=3924916#p3924916"]Каждый конкретный случай нужно рассматривать в отдельности.[/uquote]Ничего не получится. Как только мы пойдём в зону, где С++ имеет преимущества, то равноценного ответа просто не будет из-за отсутствия присутствия.
[uquote="Мурик",url="/forum/viewtopic.php?p=3924916#p3924916"]Каждый конкретный случай нужно рассматривать в отдельности.[/uquote]Ничего не получится. Как только мы пойдём в зону, где С++ имеет преимущества, то равноценного ответа просто не будет из-за отсутствия присутствия.
Re: STM32 новичку в ARM что к чему
[uquote="VladislavS",url="/forum/viewtopic.php?p=3924881#p3924881"]Смотри какая красота![/uquote]
Да, но для M0 мой код будет быстрее в 3 раза еще и меньше по размеру
Да, но для M0 мой код будет быстрее в 3 раза еще и меньше по размеру
Re: STM32 новичку в ARM что к чему
Спасибо
ответ исчерпывающий
ответ исчерпывающий
- Реклама
- Eddy_Em
- Собутыльник Кота
- Сообщения: 2516
- Зарегистрирован: Пт июл 12, 2019 22:52:01
- Контактная информация:
Re: STM32 новичку в ARM что к чему
Хватит уже версии gcc сравнивать: толку-то, когда clang рвет gcc как тузик грелку?
Правда, я и сам gcc пока собираю (GCC 10.2.0)...
Правда, я и сам gcc пока собираю (GCC 10.2.0)...
- VladislavS
- Собутыльник Кота
- Сообщения: 2562
- Зарегистрирован: Вт май 01, 2018 19:44:47
Re: STM32 новичку в ARM что к чему
[uquote="Reflector",url="/forum/viewtopic.php?p=3924927#p3924927"]Да, но для M0 мой код будет быстрее в 3 раза еще и меньше по размеру
[/uquote]Это даже не обсуждается. Но "политика партии" гласит, что стандартную библиотеку пишут программисты выше среднего и алгоритмы в ней обычно лучше того, что напишет среднестатистический программист. Если вы написали лучше - это заслуживает уважения. Будем надеяться, стандартная библиотека подтянется. У них, конечно, работы по преводу её на 20-й не позавидуешь.
Re: STM32 новичку в ARM что к чему
ARV, прикрутил я карточку SD, любая работает, даже моя проблемная.
Перепробовал кучу библиотек, точнее 3, та которая в инете FatFS требует 512+ байт рам, но она на f100 работает.
Моя библиотека работает, но не хочет перемещаться по файлу, не стал разбираться.
Остановился на той, которая у вас в проекте, но она не работала, точнее работала но через раз,
я ее заставил работать, нашел отличие, вся проблема была вот в этом участке кода функции disk_initializeя его выкинул, не зачем долбить карту пока она не в режиме spi, то ответит, то нетИнициализируется на скорости 48МГц/256 потом переключается на 48МГц/2.
Перепробовал кучу библиотек, точнее 3, та которая в инете FatFS требует 512+ байт рам, но она на f100 работает.
Моя библиотека работает, но не хочет перемещаться по файлу, не стал разбираться.
Остановился на той, которая у вас в проекте, но она не работала, точнее работала но через раз,
я ее заставил работать, нашел отличие, вся проблема была вот в этом участке кода функции disk_initialize
Спойлер
Код: Выделить всё
if(!SD_present()){
return STA_NODISK;
}Re: STM32 новичку в ARM что к чему
[uquote="Reflector",url="/forum/viewtopic.php?p=3924850#p3924850"]... Кто догадается как использовалась такая строка?
[/uquote]
побитное "лекало" для 8-ми разрядов ?
дотошно не проверял, но на глаз и функционально - вроде, оно.
м-да, без высшего образования, только со второй попытки допер.
снимаю шляпу, я б невжизнь такое не придумал.
Код: Выделить всё
00000000100000001100000011100000111100001111100011111100111111101111111
...побитное "лекало" для 8-ми разрядов ?
дотошно не проверял, но на глаз и функционально - вроде, оно.
м-да, без высшего образования, только со второй попытки допер.
снимаю шляпу, я б невжизнь такое не придумал.
Re: STM32 новичку в ARM что к чему
[uquote="a797945",url="/forum/viewtopic.php?p=3926753#p3926753"]побитное "лекало" для 8-ми разрядов ?[/uquote]
Если я правильно понял, то да
Суть в том, что в той строке есть все комбинации от 00000000 до 11111111, при этом размер строки 283 символа вместо 8 * 256, т.е. она меньше в 7.24 раза. Есть еще небольшая вторая таблица для пересчета индекса, а нужно это было потому что данные выводились на дисплей и один бит из моей строки соответствовал двум байтам цвета, в итоге для 16-ти цветов без упаковки будет таблица на 512КБ и есть проект где она в таком виде и присутствует, а у меня таблица 73КБ и данные из нее выводятся на дисплей непосредственно из флеша. Таблица для диодов всего 2КБ, была бы она побольше можно было бы применить данный подход и к ней тоже.
Если я правильно понял, то да
Re: STM32 новичку в ARM что к чему
да функционирование я при первой попытке "расшифровал", но завис - не сходились размерности,
только при втором "штурме" наконец дошло.
я не за диоды, сама задачка увлекла.
только при втором "штурме" наконец дошло.
я не за диоды, сама задачка увлекла.
Re: STM32 новичку в ARM что к чему
[uquote="a797945",url="/forum/viewtopic.php?p=3926783#p3926783"]но завис - не сходились размерности[/uquote]
Идеальный размер - это 8 + 255 = 263, чтобы получить 283 мне пришлось написать программу и думаю всего 20 лишних символов - это очень хороший результат
Идеальный размер - это 8 + 255 = 263, чтобы получить 283 мне пришлось написать программу и думаю всего 20 лишних символов - это очень хороший результат
Re: STM32 новичку в ARM что к чему
[uquote="Eddy_Em",url="/forum/viewtopic.php?p=3924946#p3924946"]Хватит уже версии gcc сравнивать: толку-то, когда clang рвет gcc как тузик грелку?[/uquote]
Хотелось бы каких-то более убедительных обоснований вот этого момента. На каких вариантах ARM? И с какими параметрами? А то раньше clang вообще скоростью компила хвастался, но это было в ущерб оптимизации. А как сделали оптимизацию сравнимо с gcc так и скоростью компила резко перестали хвастаться "почему-то". Как насчет опубликовать какие-то результаты, с конкретикой, чтоли? Ну там версии, ключи, тип процессора, и по какому именно параметру "рвет"?
Хотелось бы каких-то более убедительных обоснований вот этого момента. На каких вариантах ARM? И с какими параметрами? А то раньше clang вообще скоростью компила хвастался, но это было в ущерб оптимизации. А как сделали оптимизацию сравнимо с gcc так и скоростью компила резко перестали хвастаться "почему-то". Как насчет опубликовать какие-то результаты, с конкретикой, чтоли? Ну там версии, ключи, тип процессора, и по какому именно параметру "рвет"?
Re: STM32 новичку в ARM что к чему
Пришли с Али заказанные 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 всегда так делает? И что теперь мне делать?
Два вопроса. ST всегда так делает? И что теперь мне делать?
Астролябия-сама меряет, было бы что мерять!!!
Re: STM32 новичку в ARM что к чему
[uquote="Asmodey",url="/forum/viewtopic.php?p=3928163#p3928163"]Два вопроса. ST всегда так делает? И что теперь мне делать?[/uquote]
В прошлый раз, когда была непонятка с хедерами для F303, ты осознал почему STM32 такие дешевые, теперь опять ST виновата в том, что кто-то в папке Include не может разглядеть единственный файл в названии которого встречается 042
В прошлый раз, когда была непонятка с хедерами для F303, ты осознал почему STM32 такие дешевые, теперь опять ST виновата в том, что кто-то в папке Include не может разглядеть единственный файл в названии которого встречается 042
Re: STM32 новичку в ARM что к чему
[uquote="Reflector",url="/forum/viewtopic.php?p=3928179#p3928179"]встречается 042
[/uquote]
Очень хотелось бы встретить 042K6.
ST, оно как майонез "Загадочный", где дата выпуска указана на дне внутри банки.
Очень хотелось бы встретить 042K6.
ST, оно как майонез "Загадочный", где дата выпуска указана на дне внутри банки.
Астролябия-сама меряет, было бы что мерять!!!
Re: STM32 новичку в ARM что к чему
Файл называется stm32f042x6.h, других файлов с "042" нет, не знаю какие могут быть проблемы, особенно после того как ты ранее подключал stm32f3xx.h и stm32f303xc.h для F303CB... Разница в том, что в комментах stm32f3xx.h упоминается F303CB, но там 6 разных мк, для F042 уже 10 потому просто написали, что stm32f042x6.h нужен для всех f042x4 и f042x6.
Re: STM32 новичку в ARM что к чему
[uquote="Reflector",url="/forum/viewtopic.php?p=3928198#p3928198"]Разница в том, что в комментах stm32f3xx.h упоминается F303CB, но там 6 разных мк, для F042 уже 10 потому просто написали, что stm32f042x6.h нужен для всех f042x4 и f042x6.[/uquote]
Не, ну молодцы, чё тут сказать... Сэкономили аж 4 слова в каментах
По вменяемости документации и организации файлов библиотек упоротее ST разве что Espressif Systems, которые на вопрос о доках ваще делают круглые глаза - а нахрина вам вообще документация при столь низкой цене микроконтроллера? При Брежневе с AVR и PIC такого не было.
Reflector, спасибо. Теперь хотя бы понятно, что на однообразие оформления либ от ST надеяться наивно. Ну лана, буду играть в угадайки...
Не, ну молодцы, чё тут сказать... Сэкономили аж 4 слова в каментах
По вменяемости документации и организации файлов библиотек упоротее ST разве что Espressif Systems, которые на вопрос о доках ваще делают круглые глаза - а нахрина вам вообще документация при столь низкой цене микроконтроллера? При Брежневе с AVR и PIC такого не было.
Reflector, спасибо. Теперь хотя бы понятно, что на однообразие оформления либ от ST надеяться наивно. Ну лана, буду играть в угадайки...
Астролябия-сама меряет, было бы что мерять!!!
Re: STM32 новичку в ARM что к чему
У Espressif сколько моделей МК?Asmodey писал(а):По вменяемости документации и организации файлов библиотек упоротее ST разве что Espressif
У ST только STM32 больше 1500 моделей (а они производят и другие МК). Вы хотите чтобы на каждую модель был отдельный файл?
Если хотите чтобы было легко и просто, берите IDE в которой библиотеки добавляются при создании проекта. Например CubeIDE или EmBitz.
Для примера проект для STM32F042K6 с SPL.
Спойлер

Спойлер

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


