Ибо не нашел. Здесь мы будем обсуждать микроконтроллеры с этой потрясающей новой современной архитектурой. Только C/C++, IAR/GCC, никаких майкрософтских потуг.Сам я столкнулся с ней на работе, уже полгода пишу под SAM3 и ATSAM91. Все нравки, внезапно стало доставлять. Планирую накатить линукс и сам собрать ядро.
>>187056 (OP)>накатить линуксthis is the road to Hell
>>187056 (OP)как работа аэрэмщика? много платят? пили стори как устроиться, что требуют? хочу уйти на эту профессию.
>>187056 (OP)Для вкатывания в эту тему есть ли народные девборды по цене не дороже китайской ардуины?
с++ чем собирается для арма?
>>187085под cortex-m (микроконтроллеры, linux не запустить) есть, под cortex-a (процессор вроде того, что в телефоны с ведроидом ставят) - будет дороже, от 25$
>>187078Завод , Россия мухосрань, зарплата 30-40к, ибо я инженер-программист и оче мал стаж, года нет даже. Конкретно я делаю коммутацию, что-то типа свитча.>>187087Gcc вроде, но я собираю в iar. Он очень уебищен, но вроде по отзывам оптимизация лучше, чем в гсс.Алсо, в некотрых at91, что на пикче, нет пзу и крайне мало озу, все рассчитано на внешнюю память.
>2015>использовать на микроконтроллере крестопарашу вместо божественной джавы Ох уж эти говнокодеры-студентик
>>187098>>2015>>использовать на микроконтроллере крестопарашу вместо божественной джавы >Ох уж эти говнокодеры-студентик О! Любители кофематов подтянулись. Почему джава тормозит? Просто оперативки добавить, ага?Если ты пишешь на джаве, это ещё не значит что она самая заебательская для встроенных систем. Для каждой задачи есть свой инструмент. Я тебя с джавой к промышленным контроллерам не подпущу не под каким соусом. Максимум для джавы -- платёжный терминал, дак и то, драйвера для железа писать на сях. Так что, угомонись.
>>187098>>187103Вы все мудаки.
>>187108Мог бы и не писать, порванка.
ладно, харе сраться.Помогите лучше задачу решить: TIM_TimeBaseStructure.TIM_Period = 1000; TIM_TimeBaseStructure.TIM_Prescaler = (uint32_t) SystemCoreClock - 1; TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; TIM_TimeBaseInit(TIM2, &TIM_TimeBaseStructure); МК stm32f103не получается сделать таймер на 1 секунду. что я делаю не так? тактовая частота 72MHzкварц 8Mhz
>>187123да, запускается, но выдаёт только 0.5 сек
Анон, поясни выгоду при использовании DMA память-память и при прямом копировании около 32Б данных
>>187130Запустил и ушёл по другим делам. Правда, в кортексах DMA такты ворует. У dsPIC33 - нет.
>>187103>джава>2015>тормозитОх уж эти студентики с их говнокодом>максимум для джавыНапоминаем о том что божественная джава - стандарт в энтерпрайзе, части мобильных устройств, части смарт карт. Не бойся, спермопердоля, скоро твой потешный пердоси и из МК выпрут.
>>187154> Не бойся, спермопердоля, скоро твой потешный пердоси и из МК выпрут.Дурачок. Выпрут С, как же, потом ещё ассемблер выпрут и останется на контроллерах только джава и машинный код, а разработчики джавы будут машкод ебашить напрямую.>>187130>поясни выгоду при использовании DMA память-память и при прямом копировании около 32Б данных Выгоды не вижу. Инициализация DMA больше времени займёт.
>>187153>тыртырпрайзный джава девАло, уёба, >>187154 -- это ты?
>>187158Да>>187157>выпрут CПердоля, твой недоассемблер за пределами системной разработки ненужен. Конечно, выпрут
>>187170>Пердоля, твой недоассемблер за пределами системной разработки ненужен. Конечно, выпрутУ тебя, уёба, действительно только стоковое железо, и ты, уёба, не разрабатываешь железо своё, потому ты так и думаешь, а зря. Железа бывает всякого и много, и его постоянно разрабатывают, и в каждой конкретной реализации пишут драйвера, что не редкость. И пока твои синьоры не напишут их, ты будешь дрочить, ибо сам ничего не можешь. Так что, настанет время, когда джава макакеров станет столько, что твоя ценность упадёт чуть ниже чем уровень плинтуса, но зато, вас будет много, есть с кем пообщаться. А боги асма и С будут надсмехаться над вами и вашей джавой. Кстати, С-шники и сегодня получают на вашем уровне, что же будет дальше?
>>187124>выдаёт только 0.5 секТак умножь на два хули ты.
Пердолюсь с STM32F429I-DISCO платой. Недавно решил прицепить камеру к DCMI и через DMA гнать кадры в память, затем по SPI выводить на дисплей (жаль что у DCMI и LTDC конфликт выводов). Все это делалось в Keil и STM32Cube последней версии. Собственно все работает, только как-то долго обновляется изображение на дисплее (в примере, которым вдохновился все работает норм, но там используется StdPeriph, вместо божественной HAL либы). Сейчас думаю наладить отправку изображения на дисплей тоже через DMA, только хз как оно в SPI будет слать массив картинки rgb565 320x240px. Есть тут кто делал что-нибуть подобное?Вызов типа этого выполняется, возвращая, что все ок, но дисплей никак не реагирует:HAL_SPI_Transmit_DMA(&hspi5, (uint8_t)frame_buffer, (uint16_t)(IMG_ROWSIMG_COLUMNS));
>>187173>джавамакакеров>С-боговПердоля, а с чего ты взял что я не знаю си?))) >НИНУЖЕН СТОНИШЬНапоминаем пердоле о том что з/п джава девов - одна из найбольших в индустрии. Продолжаем зоонаблюдения за манямирком спермопердоли-сидауна
>>187272Проблемы сидауна с недоассемблером. Писал бы код на Java ME embedded было бы все нормально
>>187281Я понимаю, что ты не съебёшь просто так. Но взываю к разуму, коле ты такая умная джава-макака, твоя джава не везде актуальна, свет на ней клином не сошёлся, и не сойдётся. Алсо, если бы твоя собственная ЗП была бы хоть сколько-нибудь значимой в индустрии, ты бы не тут сидел... Вангую, что ты джуниор, и пришёл сюда повыёбываться, но ты ошибся, ни какой джавятиной тут не пахнет.
>>187281студент максималист итт, джаву не любят хотя бы за то что нет управляемости кодом, в любой момент может проснуться уборщик мусора и начать убирать все что видит. А если в этот момент какая нибудь хуйня с двигателем произойдет? нужно очень быстро отреагировать, но вот хуй там сборщик мусора ничего не дает сделать. И таких задач очень много в реальном мире, это тебе не формочки пилить для офисных клерков. Ты просто тупой студент и не понимаешь, что есть разные задачи. Я и сам не буду писать на С/С++ десктопную часть решения для построения графиков или вывода еще какой нибудь хуйни, а возьму няшный C#. Но писать код под МК на чем то кроме С/С++ это бред.
>>187357>Но писать код под МК на чем то кроме С/С++ это бред.Поссал на рот.мимо пользователь ASM
>>187357>>187286>студент>ДжуниорНайс проекции спермопердоликов. Студентики похоже порвались
>>187085Три-четыре бакса тебя не разорит? http://www.aliexpress.com/wholesale?catId=0&initiative_id=AS_20150926234707&SearchText=stm32f103c8t6
>>187272Что-то у меня не получается с этой hal библиотекой дисплей запустить. Светится белым и все, сука такая. Можешь какую ссылочку подкинуть, где написано про инициализацию и работу с этим дисплеем или показать свой код?
Сап, нанонимусы. Помогите с DMA. Есть некий модуль на плате, который подключен к МК по EBI (ШД, ША, управляющие), и регистры этого устройства для мк видны как оперативка. Вот.Задумал я тут записывать всякую хрень в модуль по ДМА, тип память-память. Разовый трансфер выполняется норм, все работает, нарушений нет, но блядь, не мк не знает, что трансфер окончен, ибо модуль не пересылает специализированный сигнал. Или я не знаю, как это делается. В даташите мк в регистры ДМА из чего-то эдакого можно вписать только адрес источника/приёмника, а настроить управление окончания трансфера нельзя. Стандартные компоненты мк типа уартов-спиаев и прочего говна сообщают, видимо, об окончании. Хотя об этом в дш явно об этом не указано, при трансфере периферия-память ты указываешь айди периферии. Так вот, что делать? Отлавливать прерывания от того внешнего модуля и говорить ДМА, что трансфер окончен? А это ли не нарушит всю выгоду ДМА?
>>187123для измерения времени нужно юзать systick. только нужно корректно частоту задать кварца
>>187272проблема халовской библиотеки в том, что я например настраиваю SPI через ХАЛ. вроде бы в кубе все пины должны настроиться и в свойствах куба эти пины настраиваются . а на деле в проекте пины не настраиваются. хотя в кубе настроены. это пиздец, я ебал. в кубе эти пины настроенный уже а в готовый проект не добавляются.>>187403после создания проекта в коде могут быть вполне детские ошибки. выше описал.
>>187438DMA сам прекрасно знает, когда происходит окончание передачи. Как правило, у МК есть обработчик прерываний для DMA. И да, у DMA должен быть флаг Transfer Complete (TC), по которому можно отлавливать окончание передачи.
Анон, прости за тупой вопрос, но выполняемая программа же всегда располагается в оперативной памяти? Т.е. например при включении устройства выполняются инструкции из бут секции с минимальным конфигом и перекачкой из пзу в озу? Или есть варианты погрузки кода из медленной памяти, подключенной, например, по spi?
>>187629У контроллеров типа STM32 программа как правило выполняется из FLASH памяти, хотя есть возможность и из оперативки.Если используется операционная система, то как правило они все копируют в оперативку.В общем, зависит от конкретного проекта
>>187123Как частоты настраивал? APB1 prescaler какой? Ну и помни, что у таймеров на шине APB1 у STM32F1 (может и на APB2 тоже, не помню точно) частота в два раза выше, чем у периферии. Поэтому делители надо рассчитывать с учётом удвоенной частоты. Ну а ещё поля Period и Prescaler структуры TIM_BaseTypeDef типа uint16_t, если не ошибаюсь, хотя сейчас уточню в своих проектах.
>>187485>а на деле в проекте пины не настраиваются. хотя в кубе настроены. это пиздец, я ебал. в кубе эти пины настроенный уже а в готовый проект не добавляются.Вот поэтому и надо пользоваться SPL вместо куба. У меня на работе два прогера пишут под SPL, один - под куб. При этом SPLщики не чураются для быстрого прототипирования и проверки функционала накидать за пять минут болванку на кубе, потом уйти делать по-уму под SPL. В то время как прогер, пишущий под HAL вечно охуевает то от багов в библиотеке, то от отсутствия или устаревшей документации, то от несовместимости разных версий HALа между собой. Ну и плюс много неочевидных мест.
У кого-нибудь был опыт с подключением внешней SDRAM к STM32F429 по FMC? Настроил тайминги, проинициализировал так, как написано в рефренс мануале на STM32F4 и даташите на саму память, контроллер нормально её адресует, может даже записать туда одну двухбайтную переменную и она не испортится, если её тут же считать. Но вот если попробовать записать и считать массив - то в памяти будет записан только последний байт массива, причём записан обширно, в диапазоне адресов байт так на 200. Burst отключен, документации по FMC толком нет, гугл выдаёт только обсасывание примеров для дискавери и один форум, где всё на китайском.
>>187806>Но вот если попробовать записать и считать массив - то в памяти будет записан только последний байт массива, причём записан обширно, в диапазоне адресов байт так на 200.Код сюда давай, ты, наверно, объебался с указателями.
>>187808Это работает хорошо: uint16_t read16, write16; write16 = 0xB16C; //Write to SDRAM ((uint16_t )0xC0000002) = write16; read16 = ((uint16_t )0xC0000002);Адреса заданного банка начинаются с 0xC0000000А вот это - уже нет: for (i = 0x00; i < 0x7F; i++) { ((__IO uint16_t )0xC0000000 + i2) = (uint16_t)i; } read16 = 0; for (i = 0x00; i < 0x7F; i++) { read16 = (__IO uint16_t )(0xC0000000 + i2); if (read16 != (uint16_t)i) { //Обработчик ошибки } }Если делать так: uint16_t testarr[16] = {0,1,2,3,4,5,6,7,8,9,0xA,0xB,0xC,0xD,0xE,0xF}; uint16_t readarr[16]; uint16_t testvar_ptr = (uint16_t )0xC0000000 + 0x100; memcpy(testvar_ptr,testarr,sizeof(testarr)); memcpy(readarr,testvar_ptr,sizeof(readarr));То тоже случается обсерушен. Прерывания в это время я выключаю (в errata сказано, что разрешённые прерывания могут портить чтение/запись в память на некоторых ревизиях процессора).
>>187831Чёрт, обосрался с табуляцией.s/\t/ /g
>>187831Вставлять сюда было не лучшей идеей. Закинул на пейстбин: http://pastebin.com/sJ4t2E3Z
>>187806С таймингами объебался, ящитаю. Плюс, когда я настаивал на атмеловском, я указывал, что нехуй ждать сигнала nwait. Т.е. вероятно есть регистр с настройками работы
>>187483частоту кварца корректно задал, даже замерял на ноге A1 частоту процессора,как заюзать systick? не подскажешь?>>187801в RCC_CFGR_PPRE1 стоит 0x04 значит, по datasheet "100: HCLK divided by 2"таймер висит на RCC_APB1за такое пиздят палкой по рукам?: TIM_TimeBaseStructure.TIM_Period = 2000; TIM_TimeBaseStructure.TIM_Prescaler = (uint32_t) SystemCoreClock - 5500; TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; TIM_TimeBaseInit(TIM2, &TIM_TimeBaseStructure);
>>187847>С таймингами объебался, ящитаю.Причина оказалась примитивнее - забыл затактировать один из портов GPIO, отсюда и кривая адресация.
>>187848А почему просто не задаёшь <...>.Tim_ClockDivision = TIM_CKD_DIV2, например? Да и делитель частоты лучше сделай в виде макроса, или посчитай чуть выше.
>>187056 (OP)Продолжение ардуино даунов, я у мамы паграмист я умею паграмировать плис.Азаза у меня отладочная за 500 бачей.Гляди те, я делаю пищалку на макросхеме с 500000 мультиплексоров.Ахахахъхяъ
>>188089ты хоть сам понял что сказал? причем тут ПЛИС?
>>188089Чому ты такой злой? Это потому что у тебя велосипеда нет?
>>188492потомучто у меня плис нет
>>188492>Чому ты такой злой? >>188089>ардуино даунов>я у мамы паграмист сам-то не злой?
>>188555Эм. Ты ебу дал?
>>187056 (OP)С чего начать осиляторство? Проще ли писать под ОС на МК чем на "голом" железе как диды?
>>188635Разные области задач, вопрос некорректен.
>>188635c осцилляторства. кварц купи сначала.
>>188594походу) ответы перепутал
>>188635>С чего начать осиляторство? Проще ли писать под ОС на МК чем на "голом" железе как диды? Дальше то чё делать собрался?Я вот пишу под линукс на атмеловском ARMе. И под FreeRTOS на STM32, который тоже ARM. Под линухой не могу решить задачу подачи на выход кратковременного импульса строго заданной величины, не залезая на железный уровень, а под STM32 могу, ибо уже на железе работаю. Вопрос в том, какая стоит задача на будущее.Ну как нубу, я бы посоветовал для начала в железе поковыряться, чтобы понимать что и к чему, а потом бы на высокий уровень полез, учитывая специфику борды. Если бы спросил в /pr/, то я бы начал спрашивать, нахуя тебе железо, если под всё есть драйвера (но это правда только для /pr/, а тут аноны некоторые свои устройства собирают, к которым драйверов нет).
>>188659>Под линухой не могу решить задачу подачи на выход кратковременного импульса строго заданной величины, не залезая на железный уровень, а под STM32 могу, ибо уже на железе работаю.Кстати, почитай про PRUSS в AM335x биглбоновских, если еще не встречался, - такая-то годнота, не нужен дополнительный МК/ПЛИС для realtime задач на линупсе.
>>188635>С чего начать осиляторство? Проще ли писать под ОС на МК чем на "голом" железе как диды? На железе начинать писать строго обязательно для понимания сути происходящего. Освой хотя бы основы CMSIS (хотя регистроёбство многие недолюбливают, предпочитая какой-нибудь HAL), разберись что и как работает, напиши что-нибудь на циклах и прерываниях. А потом уже можешь к ОС переходить.
Сап, анон. Столкнулся с необходимостью консольной компиляции в gcc флешлоадера. Примеры есть, вся хуйня есть. Но что-то бинарник большой, 37КБ при sram в 32. Вопрос: с оптимизацией -Os компилятся только те функции библиотек, которые я использую? Есть флаги, которые нахуй трут весь текст (в библиотеках много вывода лога по уарт)? Знаний о флагах компиляции мало.
Сап, АРМщики.Поделитесь опытом, кто запиливал общение между двумя контроллерами STM32 по SPI в режимах Master <-> Slave. Как я понял, в SPI, в отличие от того же уарта, нельзя отослать сразу несколько посылок, не дожидаясь ответа. Так как же наиболее правильно организовывать пересылку пакетов (штук десяти 16-битных посылок, например)? Как правильно прикрутить DMA чтобы не заниматься рутиной, пердолингом и синхронизацией на мастере?
>>189237Есть небольшой пример, но очень сложно мне сейчас проверить работоспособность, нет логического пробника и второго контроллера. В программе Master, для тестов сейчас, я замкнул MOSI и MISO вроде данные передались в Reciever_SPIBuffer. Попробуй протестировать вместе со slavehttp://pastebin.com/2AeACbgB - Masterhttp://pastebin.com/dU3NaKTw - Slaveв Datasheet написано какие каналы DMA отвечают за какую периферию
Сап, ARMач. Есть ли в природе модели c внешней шиной как у 8051. ARM 9000 видов, пока все пересмотришь. Может кто сталкивался?
>>189297Спасибо.У меня поначалу не завелось по два DMA, вместо данных приходил мусор. Потом разобрался, оказалось, что обязательно надо было делать подтяжку при настройке пинов MOSI, MISO и SCK.
Есть какая-нибудь миграция с асмы гцц на асму иара? Надо запустить пример на последнем, а читать документацию обоих очень лень
>>189304ОЗУ повесить? SMT32F4xx. Делал, взлетело.
>>190031Это вопрос не для двача.
>>190031во, блин, лентяй, асм асвоил для ARM, а документацию читать - лень
>>190046>асм асвоил для ARMДа нихуя он не освоил. Он просто скопипастил то, что было.
>>190052Задача-то какая? От неё и танцуй.
>>190050Разбираюсь же, будьте вы людьми. На самом деле, нужно всего лишь правильно оформить секцию специфического старта, но копаться в талмудах линуксобояр крайне не хочется.
>>190059С MCS51 возможно ЕОТ в 50% случаев. ARM же ставит условием ТНН. Решать тебе.
>>190069а в чем нужно уметь разбираться чтоб тянки давали?
>>189304>>190036Хватит любого STM32 в ста (и более) выводном корпусе — там FSMC штатно предусмотрен.P.S. На 100-ногих, впрочем, придётся возиться с защёлками и мультиплексированием,
>>190099Согласен. Именно с 144 ног начиная.
>>190096В тянках.
>>190069нихуя не понял прорведеных аналогий
Поцаны-ребята, если я умею в программирование мкк, что нужно читать, чтоб хотя бы понять принцип того как работает линукс на плисе, как засунуть туда линукс, куда сувать код и и прочие финтиклюшки.
>>190128т.е. ты хочешь на ПЛИС реализовать МК, а потом засунуть туда какой-нибудь uClinux?Не слишком ли это сложно?
>>190132Я хочу понять как работает линукс на плис.
>>190133лучше разберись с ПЛИС, сначала, и пойми что это, как там реализовывают другие процессоры. ПЛИС это не МК, это, простыми словами, набор логических микросхем.
Реально ли запилить на арме портативный плеер с замашками на хайфай?
>>190258это и на авр/ардуино можно запилить, если подключить внешний цап, но получится в любом случае хуита уровня 3-долларовых плееров с китая, так что смысл такое делать отсутствует
>>190258Можно попробовать использовать MP3 микросхему, например VS1053 там есть подключение по spi.она будет у тебя для декодирования музыки. а для работы с flash и экраном у тебя будет МК.
>>189236> с оптимизацией -Os компилятся только те функции библиотек, которые я использую?если при компиляции ты не сделал статическую линковку (напр. флаг -static), то да.>Есть флаги, которые нахуй трут весь текст (в библиотеках много вывода лога по уарт)?флагов точно нет. Возможно, существуют другие способы, но всё полностью зависит от библиотеки.да и что-то я не понял>Но что-то бинарник большой, 37КБ при sram в 32. Ты собрался грузить весь бинарник в озу? Нахуя?
>>190382Бинарник флешлоадера жи
Никто не делал на stm32f100 управление по CEC-HDMI? не поделитесь схемами подключения?
>>190418>CEC-HDMIПотянет ли? ПЛИСы-то ели вытягивают
>>190264Почему отсутствует? Мне вон нравится мультибитные ЦАПы, но их в готовых решениях раз два и обчелся, и те сделаны из говна и палок, с ценником как у ушатаной иномарки.>>190351>VS1053Почитал описание, годная штука, даже вроде как умеет во флак с плагинами, плюс имеет выход на внешний ЦАП. Как я понял с этой микрухой мне и арм особенно не нужен, подойдет какая нибудь средненькая ардуина, по крайней мере для них продаются платы расширения с этой микросхемой.
>>190426Потянет, потянет. СЕС это протокол управления устройстами по HDMI. Он поддерживается в stm32f100
>>190128так же как и на обычном контроллере. Сначала поебись с обычным МК и Линуксом. К слову сказать на Марсаходе есть цикл статей о том как впердолить линукс в ПЛИС.
>>190491А там срач был о том, что ПЛИС не для того придуманы? Красноглазые скоро на квантовые будут свою швабоду накатывать
А поясните за серии STM32F2 и STM32F3. Чем они лучше/хуже F1 и F4 соответственно? Какие подводные камни? Наслышан о том, что в F3 куча каких-то проблем и багов, и поэтому эти серии редко используют. Так ли это?
Аноны, выручайте. Есть старый ненужный планшетик Amazon kindle fire. Хочу использовать его в качестве полигона для изучения всякого низкоуровневого погроммирования. Подскажите с чего начать. Скомпилить туда себе u-boot? Сразу ядро линукса слишком хай-левел, как по мне? Если что, там стоит TI Omap 4430, флеш-память какая-то на 8 гигов и 512 оперативки DDR2. Сорри, если сумбурно изложил, полный нуб в кодинге под железо есть опыт андроид и веб разработки 3 года.
>>190517ну хуй его знает, система на кристалле жи наверное есть задачи где в ПЛИС надо запихать красногалзое поделие. Это иногда даже удобнее, если руки из правильного места растут все в одну ПЛИСку запихать. Хотя бы в учебных целях поебаться с этим надо. По мне некоторые вещи удобнее учить все таки на ПЛИСках, в контроллерах все спрятано в регистры, а когда реализуешь на ПЛИСке хотя бы какой нибудь интерфейс то уже действительно понимаешь что и как работает. Хотя сейчас есть же SOC микрухи с уже готовым процессорным ядром, и танцы с бубном не нужны.
Кто нибудь знаком с такой хуйнёй как ENC28J60? зависает после некоторого времени работы в рандомное время может через два дня может через час, а может и сразу, что ей надо, вообще?Говорят в интернете проверять флаги, ну проверяюсделал задачу проверки флагов, один хер, могут флаги не поменяться, а адаптер виснет, индикаторы не горят, задачи vTask_uIP_periodic(void pvParameters) и vTask_uIP(void pvParameters) как крутятся, так и крутилисьhttp://pastebin.com/T8K2yTqr - проверка флагов.МК - STM32f103RCT6уже давно проблема, искал в интернете, у народа тоже виснет, решений толковых не пишут
>>190704Самое мудрое - вести некий лог или выводить куда-либо состояние. Также, очевидно, срабатывает некое прерывание (программное или железное), при его срабатывании стоит зажечь индикатор например, чтобы хотя бы понять, куда идти
>>190704Алсо, причина может быть в банальном пине, который не переведён в z состояние.
в стандартной STM32F100 при запуске таймера срабатывает прерывание, хотя срабатывать должно только через некоторое время при переполнении.Может кто-то сталкивался? А то похоже предстоит долгое штудирование мануала по таймерам[code]RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM15, ENABLE);TIM15->PSC = 24000 - 1; // Настраиваем делитель что таймер тикал 1000 раз в секундуTIM15->ARR = 1000 ; // Чтоб прерывание случалось 2 раза в секундуTIM15->DIER |= TIM_DIER_UIE; //разрешаем прерывание от таймераNVIC_EnableIRQ(TIM1_BRK_TIM15_IRQn); //Разрешение TIM6_DAC_IRQn прерыванияNVIC_SetPriority (TIM1_BRK_TIM15_IRQn, 4);TIM16->CR1 |= TIM_CR1_CEN; // Начать отсчёт!тут сразу срабатывает прерывание, хотя срабатывать должно только через секунду[/code]
>>191815возможно при смене ARR оно вызывает прерывание
вобщем помогла смена таймера и магические строки в main!!!! при объявлении таймераTIM4->EGR |= TIM_EGR_UG; // костыль чтобы не вызывалось прерывание при стартеTIM4->SR &= ~TIM_SR_UIF;
>>191815>>TIM16->CR1 |= TIM_CR1_CEN; // Начать отсчёт!Точно TIM16?
Анонимусы, для работы с dma обязательно нужен некий ответный пин?
>>194168>для работы с dma обязательно нужен некий ответный пин? Что такое ответный пин?
>>187056 (OP)Поясните за использование стандарной библиотеки периферии для стм32 это зашквар или нет, как паступают профи?
>>194311> паступаютпоступают
>>194311паступают следующим образом, берут и используютно библиотека в целом хуёвая, постоена по принцепу лижбы ета хуета хоть как нибудь работала, динамическая семантика, использование языка Си как Си с класами, активно используюется препроцесор
>>194174Не знаю. Некоторая вещь, которая обозначает конец трансфера или что-то типа этого
Как выяснить частоту дескритизации ADC?Таймер дёргает анус ADC, который начинает преобразование.Частота ADC: 8 МГцЧастота МК и таймера: 32 МГц#define ADCSAMPLESPERSEC 100000Таймер считает до: 32000000 / 100000 = 320
Вопрос не по теме. Где применяют и чем обусловлено использование таких АЦП?http://www.mouser.com/ds/2/405/ads1263-710436.pdf
>>194972>Где применяют>High-Resolution PLCs>Temperature, Pressure Measurement>Weigh Scales and Strain-Gauge Digitizers>Panel Meters, Chart Recorders >Analytical Instrumentation
>>187871>>187848>>187483>>187124>>187198Сап, раданы.В общем, забил я тогда на проблему, она не была настолько глобальной, затикал временно от RTC и дело с концом. А вот дальше проблема лавинно начала нарастать. Сейчас разобрался, т.к. вообще прифигел, настраивая ШИМ на таймерах.Проблема была вот в чем:Кварц микроконтроллера (HSE) у меня был 12 Мгц. По стандартной настройке в system_stm32f10x.c прописан параметрPLLCLK = HSE * 9 = 72 MHz (там расчитано на то, что вы поставите кварц 8Мгц). И, это означает, реальная выдаваемая частота МК выходит 108Мгц, Т.к. внешний кварц (мой 12Мгц) умножается на множитель 9. Мне необходимо было просто поменять множитель PLL. c 9 на 6, что я и сделал.Вот скрины, приятно смотреть.
Какой ARM выбрать для швоего шпутника?
>>197510какого?
>>187056 (OP)Платы есть. Деньги есть.Задач нет.
>>197510Любой cortex m3,тот у которого RAM больше. Флеша в 64...128 кб хватит на многое.Более того, даже модем удастся закодить.
>>197517Шапускаю швой швабодный шпутник. Швабодный обмен информацией и вообще, швабодка. Основные будут на орбите геостационарной, а на средней и низкой будут ретрансляторы, которые смогут переключатся в основной режим. Почти, что, проект по обеспечению всей Земли интернетом.
Анон, есть ли в природе русскоязычная документация по stm-овскому HAL? У меня мозг отказывается воспринимать это. Может начать изучение с авр-ок?
>>206368> есть ли в природе русскоязычная документация по stm-овскому HALНет. Учи английский.
>>197540Тебе нужна радиационно-стойкая военка ,анон. Теги: НИИЭТ, Миландр, у этих товарищей есть кортексы
Хоть тыкните нуба в нормальное чтиво по этим вашим АРМ-кам. Тоска берет от чтения st.com в каком бреду они сайт делали?
>>206389В анус себе тыкни, мразь!
Заказал STM32F106C8T6 и ILI9340C, все правильно сделал?
>>208449> STM32F106C8T6А чо за 106? На сайте ст только 105 и 107
>>208449Да, накати ведро или линукс
кто заказывал эту штуку? Поделитесь документаций пожалуйста
>>208455Ты хочешь сказать, что производитель нихрена в нет не выложил документацию? Что за плата, кстати?
>>208449103*
>>208497Дык на нем только ст-линк собран. А к чему ты будешь дисплей подключать?
>>208505Так там же есть SPI, в чем проблема то? Околоньюфаг
>>208505Да и хлебница с проводами у меня есть.
>>208506103 шибко слаб, чтоб такой дисплай тянуть.
>>208508Думаю если ведруино справляется, значит и 103 справится
>>208513Статику с обновлением раз в секунду он потянет, но нахуя? Есть же f4-я серия.
>>208449STM32429I-EVAL1 надо было заказывать, что ты как ребенок.
>>208485http://www.aliexpress.com/snapshot/6124307167.html?orderId=62576689192091заказал, в комплекте не оказалось диска, забил. Сейчас захотелось поковыряться - а документации нигде нема. Китайцы пока молчат.Единственное что нашел - http://www.haoyuelectronics.com//Download/ HY-MiniSTM32Но там плата другая, без кнопок
>>208518два чаю господину с cortex m4fно уже пора переходить на STM32F7
>>208522Вы больные люди. За 42 бакса купить такую хуергу без доков и поддержки.За 25 можно купить нормальную 429zit или за 60 32F469IDISCOVERYhttp://www.st.com/web/catalog/tools/FM116/CL1620/SC959/SS1532/LN1848/PF262395
>>208522судя по этой темеhttp://forum.easyelectronics.ru/viewtopic.php?f=35&t=8595ты купил какоето говнище, китайское, хуже ардуины
>>208528>>208526Утешает что я покупал её до падения рубля, за 1,5к. Эта норм? http://www.st.com/web/en/catalog/tools/FM116/SC959/SS1532/LN1848/PF259090?s_searchtype=keywordДумаю пока обойтись без тачскрина
>>208536> Думаю пока обойтись без тачскрина Она с тачскрином. У меня такая. Пока слеганца пытаюсь освоить.
>>208518Бюджет не позволяет, как придет, попердолюсь и посмотрю что да как. Может доллар снова будет 40
>>208515>>208508Не пизди, делал для f103 c DMA, норм было. Можно было еще поизъебываться и скорость сделать еще выше, но не кайф было.
>>208716>Может доллар снова будет 40Проснись ты обосрался на лекции.
>>206389Ищи на свой процессор Programming manual(технические характеристики, инструкции), Reference Manual (описание регистров), User Manual (библиотека SPL), Datasheet (распиновки, электрические характеристики).Лучшего не найдешь. Вся эта поебота в инете - полный шлак:1. GPIO бывают нескольких типов, а какие - погуглите.2.вот здесь я приведу работу периферии X, бит а отвечает за то и это, b за это и то, с - да хуй знает, я не разобрался, но если не поставить не работает. Если хотите поуглите.3.Дальше я поставлю комментарии в работе программы, как и что настраивается но что я не знаю, комментарии ставить не буду и умолчу. Надеюсь погуглите сами.
>>208485> Ты хочешь сказать, что производитель нихрена в нет не выложил документацию?Добро пожаловать в Китай: http://fixled.ru/datasheet/HY-STM32_100P.pdf>>208522Сюда смотрел: https://kbiva.wordpress.com/2013/07/24/stm32f103vet6-microcontroller-development-board-hy-stm32-with-lcd-module/ ? Гражданин с такой же платой пердолится.
Друзi! Шо вы думаете о моем желании приобрести новый продукт фирмы ST - STM32F469? У него MIPI интерфейс, что позволит подключать дисплейчики от китайфонов и прочих мобил. Осталось только дождаться пока доллар опустится хотя бы до 40, а то договасто, 20.56$ в дигикее.
>>209044>дорар по 40не будет, максимум спустится до 50
Очевидный оффтоп, но все же. Каким микроконтроллером можно делать примитивную обработку видео? Распознать QR, например.
>>210036> обработку видео> Распознать QRЯ чот не понял, таки видео или распознавать изображение?
>>210036ПЛИС же
Здесь спрошу, пожалуй.JTAG везде один и тот же? Подойдет ли дешевый USB-JTAG, про который написано, что он для Altera (с Ебэя, ессно) для работы с остальными МК?
>>210251Да
Анон, где ты берешь либы под C/C++? Балуюсь с ардуиной (которая арм), но кастрированные функции начали поднапрягать почти сразу.
>>210251не покупай такой - этих поддельных Альтер 10 штук разных видов в одинаковом корпусе. проблемы с поддержкой обеспечены, не говоря уже о работе в линуксерекомендую этот: http://ru.aliexpress.com/item/ST-Link-st-link-V2-for-STM8S-STM8L-STM32-Cortex-M0-Cortex-M3-SWIM-JTAG-SWD/32322884886.html работает везде, умеет и JTAG и SWD, стоит столько же
>>210318Merci beaucoup, Antoin!
>>210099Разбивать видео на кадры и распознавать изображение на лету.
>>210446Вот, нашел такое: http://www.atmel.com/products/microcontrollers/arm/sam9m.aspx15$ штука на али.
>>210446сделай сначала на пека + вебка, чтобы оценить глубину всех глубин
Есть плата STM32F429I-DISCO 180MHz и камера OV7720, которая подключена к ней по DCMI и которая, к сожалению, не умеет в jpeg сжатие, поэтому я делаю его на STM. Достал энкодер отсюда: https://github.com/mitchd/vt-fox-1 . Но он какой-то медленный, Y'CbCr фрейм 320x240 сжимает за 85мс, RGB565 с предварительным преобразованием в Y'CbCr за 105мс. Это нормально или можно все-таки значительно быстрее жать?
>>187056 (OP)Насколько трудно запилить себе сотовый на ведре?
>>210739а ведро это что?
>>210734Кажется неплохой результат. Прикинь сколько потребуется умножений для выполнения ДКП.
>>210626Хм, ну я под смартфон уже делал, хуле делов OpenCV-то оупен сорсная.
>>210734Впервые вижу, чтобы на пины крепились термоусадкой.
>>210774Там внутри термоусадки железка от разъема.>>210745Я надеялся, что будет 40-50мс, видел какой-то проект, где тоже на stm32f4 320x240 сжимают в jpeg и передают на пеку с 20фпс.
Посоветуйте дешевую плату с ПЛИС и ARM одновременно.
>>210797>Я надеялся, что будет 40-50мс, видел какой-то проект, где тоже на stm32f4 320x240 сжимают в jpeg и передают на пеку с 20фпс.Ну значит у тебя алгоритм неочень. Попробуй векторные операции заюзать.
>>210807Не знал, что у Cortex-M4 есть SIMD инструкции. Я писал в основном для 1986ВЕ1Т и совсем немного для STM32F1.>>210797Но все равно это SIMD совсем не то что в x86. Максимум что можно использовать - что-то вроде SMMLA (умножение со сложением).Перемножений потребуется (320 240 16) * 3 = 3.6 млн. Не так уж много, но потом еще кодирование методом Хаффмана потребует довольно много операций (затрудняюсь оценить порядок).
Есть тут обладатели raspberri pi? Накатите пожалуйста https://www.offensive-security.com/kali-linux-arm-images/ и подключитеь по ssh с логином и паролем root\toor и скажите зайдет ли. Потому что везде написано что логин\пароль root\toor, но когда я ввожу это, у меня access denied, я уже заебался, не представляю что тут я делаю не так и я ли делаю.
>>210773OpenCV есть на микроконтроллерах, м?
>>210832Сложно что-то говорить не видя кода (да и видя тоже), проверь, грамотно ли ты используешь память: все буфера и массивы нужно по максимуму реюзать, избегая malloc-ов, не делаешь ли ты одну и ту же работу по 2 раза: по возможности кэшируй промежуточные вычисления.
>>211000Главное, что она есть на плюсах.
>>211000откуда вы лезите уёбки, уёбывайте в cortex-a тред и ибите свои распери пи
>>211009Но ведь это ARM-тред.Или cortex-a уже не ARM?
>>211008Это как раз главный её недостаток.Под прыщеARM opencv работает на ура, проверено™, а вот под Cortex-M4 я уже давно хочу её собрать да попробовать что там можно сделать на 256кб RAM, да никак руки не доходят.
>>210832>Не знал, что у Cortex-M4 есть SIMD инструкцииБолее того, там есть даже DSP либа. Вот, нашел для себя, и для тебя заодно, там даже примеры есть:http://www.arm.com/products/processors/cortex-m/cortex-microcontroller-software-interface-standard.php
>>211017Да нет смысла ее собирать, она даже под мощные мобильные процы не оптимизирована для ARM. Опун сурс нужен, чтобы посмотреть детали реализации, скрытые константы там, удачные решения, и все то, чего нет в статьях. Библиотека эта громоздкая, и всегда она будет избыточной.
>>211020Ну DSP там вообще говоря так себе. Но за неимением лучшего - сойдет. Всяко лучше чем дрочевать на ванильному thumb2.http://www.arm.com/files/pdf/DSPConceptsM4Presentation.pdf
>>211021>Опун сурс нужен>OpenCV - BSD license
>>211021>мощные мобильные процы хихикс
>>211026какой-нибудь зверюга типа qualcom 810 вполне справляется с задачами обработки графики до 4К@60
>>211576> qualcom 810Купил бы кит, если бы ссаный доллар не стоил так дорого.https://www.intrinsyc.com/snapdragon-embedded-development-kits/snapdragon-810-development-kit/
>>211715Зачем он тебе?
>>212329Ну как бы уже считаю что дорос, а вообще мне интересны системы обработки графики и звука. Вот такие процы тож гуд:http://www.ti.com/ww/ru/prod_dsp.html
>>212385тебе не дадут на него сдк так как ты хер простой, для люмпенов только кортексы и кривой алвинер
>>212393Спизжу на работе.Не для того ни для другого нет SDK в свободном доступе, ни на торрентах?
>>212393Нахуй тогда нужен проц который не поюзать без кривого уёбищного сдк?Лучше пойду под balckfin'ы gcc конпелять.
>>212395> Не для того ни для другого нет SDK в свободном доступе, ни на торрентах?Нет, разумеется. Дают только после подписки кучи всяких Non Heterosexuality Agreement, а поскольку в розницу (или даже мелким оптом) такие камни не продают, то и пиратить SDK никому не нужно.>>212405> Нахуй тогда нужен процДля белых людей из промышленности, а не для всяких гаражных ниггеров.
>>212395NDA - выебут всю контору, если спалят утечку.
>>212514>Non Heterosexuality AgreementТонко ты, лол. Не сразу вчитался.Ладно. Но там же есть ссылка на чекаут через payal? Разве я не смогу купить одну штучку? Или смогу? Вот ссылки на всякий их софт:https://developer.qualcomm.com/download/softwareТы уверен, что ты не заблуждаешься? Даже Datasheet на их проц в свободном доступе есть.
>>212551даташыт неполный, софт в свободном доступе неполныйвсе огорожено анальными заборамикупить можешь, можешь скачать и наслаждаться анальными утехами если гаражный негр, полный сдк только для белых людей
>>187272О, брофист.У меня такая проблема, при включении тактирования порта А (любой пин) при прошивке Keil выдает ошибку и плата зависает, оживает только если стереть флеш в ST Visual Programmer. Это я обнаружил когда пытался в ЦАП. При этом все остальные порты работают нормально, заменю в коде например GPIOG на GPIOA - и все, пиздарики.Не было у тебя такой проблемы? Я чего-то не понимаю? Плата бракованная?только учусь в микроонтроллеры
Где найти примеры на кортех3 на стм32? везде срачи spl vs hal. СПЛ говорят ст забросило, пилит ХАЛ. Но ХАЛ пиздец как перегружен. Есть нормальная книжка по программированию на CMSIS?
Не могу решить проблему с SPI. Есть ESP8266 с распаянным HSPI и код ArduCAM, котрый по SPI передает JPEG с камеры на ESP и стримит в веб. Я пытаюсь в цикле передавать с ESP на STM32 1 байт с задержкой в 1 сек, но он приходит с каким-то кривым сдвигом. Передаю 0xAA (10101010), а получаю:1) 001010102) 000101013) 000010104) 100001015) 010000106) 101000017) 010100008) 101010009) 01010100 - этот байт приходит сразу же после 8-го, без задержкиПотом снова 1 и так по кругу.
>>212556судя по пику у тебя stm32f429i-disco, держи схему к нему, посмотри может какая периферия висит на тех ногах или еще что http://www.st.com/st-web-ui/static/active/en/resource/technical/layouts_and_diagrams/schematic_pack/stm32f429i-disco_sch.zip
>>212697Дело не в периферии я думаю, ибо ноги с периферийными диодами работают, а тут целый порт А крашит работу МК.Вот рабочий код http://pastebin.com/ZcV4TYhtВот код который выдает ошибку http://pastebin.com/NZJPycKkКак видишь разница минимальна.Ошибка "Cortex-M error. Cannot access target. Shutting down debug session."
>>212665Что за примеры тебе нужны?
>>212704на PA9, 10, 13, 14 висит ST-LINK собственно.
>>212746Не совсем понял о чем ты, но проблема разрешилась - собрал с нуля проект с подключением вручную StdPeriph по одному мануалу с ютуба, теперь ошибки не выдает.Жаль что в пятом кейле нету СтдПерифа в списке либ к плате по умолчанию Отсюда начался срач SPL vs HAL?
>>212665Отвращение к CMSIS было настолько сильно, что я в итоге написал свою либу с нуля по даташитам. Только то что мне нужно. Причем в процессе написания растет понимание, так что может когда и не в падлу будет этот смсись снова поковырять если очень припрет.
>>212726Стандартные: ГПИО, УАРТ, АЦП, возможно парочку примеров с ДМА, чтобы понять плюсы его использования. Может быть есть какой-то аппнот, где расписано использование всей этой переферии с примерами кода (так у АВР сделано, очень понравилось - сразу все вкурил)
>>212854Очень хороший примеры, правда на немецком языке, переведи на русский. А если не хочешь переводить с немецкого, возьми оттуда примеры и почитай USER MANUAL на микроконтроллер, там написано про SPL. Можно еще попробовать логическим анализатором посмотреть через симулятор, что там происходит.http://www.diller-technologies.de/stm32.htmlЯ немецкого не знаю. Но с SPI+DMA мне это это помогло.
>>212695Что ты блядь куда передаешь? Твой пост нечитаем. Могу сказать, что интерфейс SPI простой как плуг, если ты нуб, то гугли статьи общего характера на хабре/гиктаймс, если какая-то конкретная проблема, то внятно всё опиши.
>>212854У ST есть же тонна аппнотов по STM32Fx буквально на все.
>>212876А что ты хочешь понять по DMA? В cлучае SPI ты с DMA напрямую не взаимодействуешь. То есть DMA регистры не нужно трогать. Просто устанавливаешь бит "включить DMA на tx rx". В отличие например от I2C или DAC. Хотя наверное cмсись от тебя эти подробности все равно прячет в своих хитровыебанных структурах. Аппнотов море на английском.
>>212963Вообще нет, фигню, сказал точно также для SPI нужно конфигурить, по крайней мере для f4Two DMA requests are configured:• DMA2_Stream2 for SPI1_RX: this stream is configured to be the highest priority in order to serve in time the SPI1 received data, and transfer it from the SPI1_DR register to the SRAM buffer.• DMA2_Stream3 for SPI1_TX: this stream transfers data from the SRAM buffer to the SPI1_DR register.Вот документ нормальный: http://www.st.com/web/en/resource/technical/document/application_note/DM00046011.pdf
>>212963>А что ты хочешь понять по DMA?Да не, спасибо, я уже допетрил как оно работает. Я тогда еще подключал ILI9341. А это я просто кинул мануальчик где я научился работать с DMA.
>>213007>>213007О кстати как раз хотел сказать, что на таких LCD типа 320x240 SPI заметно тормозит, и наверное DMA должно помочь.
>>213043aга, 12 фпс по spi без dma, 28 с dma
>>213078Ну из ILI9341 я много выжать не смог то ли контроллер нужен другой то ли дисплей, хз что. 0.7 без DMA 11-12 c DMA. stm32f103.Кот вылизывал, по-всякому. Выше, ну никак.что ты юзал?
>>213345А чем вы fps меряете, аноны? Я когда с параллельным интерфейсом возился, то мерял только скорость полного заполнения экрана, что мне кажется самый медленный тест. У адофрукта демка рисует всякие линии да кружочки. Параллельный конечно просто летает, даже 8 бит. 2"4 240x320 fillscreen меняет цвет экрана мгновенно, даже для глаза незаметно. Так потом тоскливо с SPI only работать.
>>213389Включил заполнение экрана 1 кадр и запустил часовой таймер. При полном заполнении программа остановилась и показала время.
>>187056 (OP)АРМ - говно. 88 и 99 тебе.
Наконец-то сделал флешлоадер для iar, через c-spy. Могу пояснить особенности компиляции и отладки в иаре
какую иде использовать для новенькой stm32f4discovery?Я заебекался пытаться добавить либу в CoIDE
>>214363gnu makeмхаха
Сами ST советуют:Development toolchain supporting the STM32F429Discovery kit• Altium: TASKING™ VX-Toolset• Atollic: TrueSTUDIO• IAR: EWARM• Keil™: MDK-ARMЧто из них нормальное и не монстроподобное
>>214370Keil ноорм синтаксис имеет, сам лично в иаре работаю. На самом деле, берёшь любую иде, и настраиваешь компилятор/линковщик/ассемблер gcc, хули как маленький. У иара и кейла свои компиляторы, говорят, лучше, чем гцц собирают.
>>214370это всё сорта ардуины
>>214363Keil
>>214377Иди погуляй придурок.
>>214379cmsis дрочер хуже ардуинщега
>>214378а что для этого нужно установить? Keil MDK ARM? Какую версию?
>>214381Хуйню сказал и рад.
>>214386Да, скачай на сайте последнюю версию и всё.Как и что делается, где настраивается говорят тут:http://www.youtube.com/watch?v=Qqk81seMlHA
>>214381Хули доебался, долбоеб? В >2016 под арм писать на асме является верхом долбоебизма и никому не нужно. Во-вторых, подобия cmsis выпускают всякие атмелы, заточенные под себя; при разборе, эти библиотеки, на деле, являются тупо значениями регистров и всякой настройкой ДМА. Нахер городить свой огород, когда нормальные программисты сделали эффективную открытую реализацию? Короче, пошел нахуй, тебе не рады, въеби говна, школьник с авр
>>214394Поддерживаю.Открой CMSIS - это набор структур и дефайнов.
>>214394> эффективную> писать на асме является верхом долбоебизма> когда нормальные программисты сделали эффективную открытую реализациюмхаха, максимум ордуинщег>въеби говна, школьник с аврнет ты
>>214403>>214403> писать на асме является верхом долбоебизмасказано было для ARMты не добьешься быстрой работоспособности и отказоустойчивости программы если на пишешь на асме для ARM. Компилятор си сделает всё равно лучше и надежнее.
>>214408>ты>Компилятор си сделаетс хуя ли такие заявления? некоторые вещи вполне можно прописывать на асме и это вполне профессиональный приём, именно потомучто компилятор не всё может оптимизировать, и я могу написать оптимальней а ты нет, потомучто ты ардуинщег мхаханет ну НА САМОМ ДЕЛЕ я конечно потролил, cmsis получше всяких ордуин и я тоже пользуюсь этой поделкой криворуких индусов, но не потомучто она пиздец какая эффективная, а потомучто у меня нет времени переписывать нормально это говнище
>>214414Похоже, кто-то не знает директив компилятора для си, которые показывают, как оптимизировать код. Более того, любой армо-господин знает ассемблер. В-третьих, частенько многие задачи арм инициализации-обработки являются впихиванием значения х в адрес y, что, очевидно, на асме никак не улучшишь. Иди жпио настрой на уарт, долбоеб, сделай очередную миллиардную хуевую реализацию без стека.
Интересно, а почему STM32F100 стоит 1 бакс, а F427 уже 15 баксов. В 15 раз больше
>>214415>директив компилятора для сидерективы тебе непомогут долбоёбина, да можно писать на C хорошо и оптимально но если писать на asm хорошо то это будет всеравно быстреевот напрмер давай разъберём эту ситуациюhttp://stackoverflow.com/questions/11508172/c-vs-assembler-vs-neon-performanceпочему ассемблер всеравно быстрее чем C?и почему пришлось танцевать с бубном что бы добится того чтобы код на C был близок к асемблерному?
>>214422А на ДСП вообще будет два такта. Короче, все ясно, ты на втором курсе и только начал асму изучать, уебывай.И тот автор такой же профан, он не указал флаги компиляции хотя очевидная эплоблядь не знает таких слов и собирал, скорее всего, из-под дебуга.
>>214425не ДСП а NEONа ты уже на третьем курсе? уже все флаги выучил?ясно всё с тобой профессионал теперь уёбывай и немешай школьникам писать на асме в ардуиностудии
Как в редакторе кейла пройти к определению переменной/функции?Обычно зажимаешь контрл и щелкаешь мышкой по переменной/функции. Здесь не работает. Как?
И еще. Что оно хочет и как это установить?
>>214414>с хуя ли такие заявления?С того что все давно написано и отлажено и не 1 раз.> у меня нет времени переписывать нормально это говнищеИ знаний. Охуеть, пришел какой-то и начал рассказывать что сейчас напишет CMSIS лучше, а ЕГО код на асме у него будет работать быстрее, ну может и будет, если светодиодом поморгать. А реализуй-ка ты там протокол - да обосрешься, переполнишь стек и схватишь HardFault. >потролилСам использует, сам тролит. Да ты, походу, ошибся тематикой.
>>214429Я нажимаю ПКМ -> goto defenition, предварительно скомпилируй.
>>214434Значит еще нужна библа с указанным именем из графы Graphics Display (третья снизу в списке)
Привет, что мне нужно чтобы замутить самодельный аккумулятор из 18650 батареек, выдающий 5v2a? Проще говоря, батарею для питания orange pi.
Вот эту залупу запитывать.
>>21449818650 батареек и залупа, которую запитывать.
>>214363CoIDE ацкое говно. То есть нормально сперва как легковесный эклипс. Но глюкавый сука. Так что юзаю эклипсе и хайль. Это две противоположности. Кайл использую для маленьких проектов, быстро поднял, запустил, потом закрыл нахуй. Эклипсь удобен, но монстр. А еще в кайле редактор полное безнадежно унылое говно. Зато отладчик супер. Кому что
>>214501А контроллер?
>>214414Двачую про cmsis. Жуткая хуйня но лучше ничего нет. К ней пилят всякие надстройки, что наверное заебись с тз самого писателя, так как это он же писал и знает что да так. А остальным придется еще и с его кастомной хуйней разбираться, и все равно вель придется рано или поздно в cmsis смотреть, потому что нихя это не black box. Я свое написал, но не надстройку, а по спекам. Но так делать тоже хуево, ибо "неправильно", только как хобби, а остальным блять марш cmsis или HAL учить.
>>214498>>214498А батарейки то хорошие или китай. У них небось емкость маленькая да и при таком токе они наверняка будут разряжаться в момент. Может лучше LiPo??? Проблема правда, что нужно до 5v тогда регулировать>>214506Не понял, какой тебе еще контроллер? В смысле как 5v получить из твоих батареек? Они у тебя 3.7? Можно наверное еще один v регулятор, но хз может headroom не хватить если особенно подсядут. Надо пробовать. Главное не пытайся резисторами делить.
Хуй знает, что мне нужно, так что заказал http://ru.aliexpress.com/item/1pcs-Arm-cortex-m3-stm32f103c8t6-stm32-core-board-development-board-Hot-Worldwide/32314951617.htmlОно прошивается напрямую, какие-то дополнительные программаторы не нужны?Как запитать от 220В?
>>214562судя по вопросам зря ты это купил. надо было http://ru.aliexpress.com/item/Free-Shipping-STM32VLDISCOVERY-STM32F100RB-STM32F100-STM32-Evaluation-Development-Board-Discovery-Kit-Embedded-ST-Link-wholesale/32316581424.html?spm=2114.30010708.3.2.QKia1f&ws_ab_test=searchweb201556_7,searchweb201644_3_505_506_503_504_502_10001_10002_10017_10010_10005_10011_10006_10003_10012_10004_10009_10007_10008,searchweb201560_8,searchweb1451318400_-1,searchweb1451318411_6449&btsid=3f26a3f7-e787-4373-a556-2f9838ea214eилиhttp://ru.aliexpress.com/item/New-arrive-STm32-L1-Discovery-kit-STM32L152C-DISCO-base-on-STM32L152RBT6-100-original-STM32-development-board/32564897639.html?spm=2114.30010708.3.44.QKia1f&ws_ab_test=searchweb201556_7,searchweb201644_3_505_506_503_504_502_10001_10002_10017_10010_10005_10011_10006_10003_10012_10004_10009_10007_10008,searchweb201560_8,searchweb1451318400_-1,searchweb1451318411_6449&btsid=3f26a3f7-e787-4373-a556-2f9838ea214eЦены пиздец конечно стали
>>214573мда цынники даже на говноборды стали недемократичными, а если приобретать отдельно камни и обвязку а потом ЛУТить то наверно то на то и выйдет в итоге
>>214422>12X faster than assemblerАссмеблешваль себя же затраллила. Там про профит от NEON операций.
>>214573>>214584Ваня, не выёбывайся и слушай свою любимую песню «Валенки»: http://www.aliexpress.com/item/1pcs-STM32F103C8T6-ARM-STM32-Minimum-System-Development-Board-Module-For-arduino/32478120209.html
>>214573Что это за дичь с ценниками, купил у местных барыг клон стлинк v2 и f103 суммарно за 500р, тренируйся до усрачки. А еще продает cortex-M0 в корпусе TSSOP-14 за 50/штука, такая то вкуснятина.
>>214606> купил у местных барыг клон стлинк v2 и f103 суммарно за 500рМне кажется, что тут пиздежом завоняло на пол треда. Или покупал в бородатом 2013-14. Я вот дискавери ф429зит за 1100р купил, хуле.
>>2145731 471,48 руб ???Вы че охуели за такие деньги покупать. Можно же микро ардуинку за копейки, стереть нахуй bootloader и просто использовать как арм. Своих можно кнопочек и лампочек навешать. Бакса 3 наверное на ебае.
>>214642> ардуинку> стереть нахуй bootloader> и использовать как армТуда ли ты зашел, чепушок?
>>214636Ну ебта 429 хоть и дорого но вещь! И там небось дохуя наворотов, LCD, всякие датчики хуяччики годнота! А это сраная f103 там же нет нихуя и 1.5 тыщи???
>>214645Так долляр-то, по 75 нонче. 429 сегодня стоит 3183.95р https://www.terraelectronica.ru/catalog_info.php?CODE=1200422А вот 103 у китайцев, я бы не брал, нуклео с программатером столько же стоит.
>>214644А что не так, я же не про атмегу говорю, а про stm32f103c8 http://www.ebay.com/itm/STM32F103C8T6-ARM-STM32-Minimum-System-Development-Board-Module-For-Arduino-DHUS-/321569700934?hash=item4adf0c3c46:g:~4QAAOSwosFUVEEU Или там слово ардино тебя пугает, поэтому зашквар?
>>214646Да нормально. Я у китайцев брал просто ГОЛЫЕ чипы f103. Это пиздец я такого никогда не видел, они пришли голые корпуса, просо завернутые в ЦЕЛЛОФАН. Но ничего запаял, работает! А уж если платку взять за 3 бакса и к ней stlink программатор тоже стоит копейки. jlink чуть дороже. Пацаны вы че, охуели столько денег тратить.
>>214646Нихуя. Ну это пиздец это не жизнь.
Я еще вот на основе таких свою борду делал в махараечном стилеhttp://www.ebay.com/itm/1pcs-STM32F407VET6-STM32F407-STM32-LQFP100-32-bit-ARM-MCU-ST-IC-/321433106563?hash=item4ad6e7f883:g:QpcAAOSwcnpTnAp0Это конечно не 429 но тоже годнота. И недорого. Я никаким травлением не занимаюсь, а просто покупаю адаптеры QFN -> DIP + обычные дешевые платки и все на проводочках. Получается некрасивая но работоспособная махараечка за смешные деньги.
>>214647> А что не так, я же не про атмегу говорю, а про stm32f103c8 Всё так, просто Шеппель и слыхом не слыхал про нашу сингуль-хроматронную оптику эта платка никакого отношения к «ардуинам» не имеет, что бы там не писали китайские продавцы-сеошники на ебэе и алиэкспрессе.
>>214654Посмотрел в Терре (920), посмотрел на сайте st (5.645х76=430) и понял, что терра охуела вкрай.
>>214660Хуй знает, я ни разу рил ардуино не щупал, а что делает платку "ардуиной"? Я ее использовал исключительно как голый арм. Но там же usb разъем, наверное есть ардуинский bootloader и перемычки откуда загружаться и тп. Чего там принципиально нет, чтобы не считаться минимальной ардуинкой?
>>214661суки в баксах накручивают и сваливают на курс.
>>214668А нет, поторопился, на st 5.645 похоже вымышленная цена. Кликнул на digi и mouser - 10 баксов, плюс доставка.
>>214670Точнее не вымышленная, а оптовая (мин 10 тыс).
>>214666> Но там же usb разъем,> наверное есть ардуинский bootloader> перемычки откуда загружатьсяПотому что у микроконтроллера есть USB2.0 на кристалле, а фабричный загрузчик есть у любого STM32: http://www.st.com/web/en/resource/technical/document/application_note/CD00167594.pdf> Чего там принципиально нет, чтобы не считаться минимальной ардуинкой?Того, что она не совместима (ни программно, ни аппаратно) с отладочными платами (включая клоны) от «Ардуино». Разве что вкрячить туда STM32Duino, но так любую плату на STM32 можно ардуиной назвать.
>>214675>Потому что у микроконтроллера есть USB2.0 на кристалле, а фабричный загрузчик есть у любого STM32Ну разумеется, и почему на основе такого чипа можно нельзя сделать ардуино совместимую плату, прошив туда правильный загрузчик, например?>не совместима (ни программно, ни аппаратно) с отладочными платами Вот тут я ничего не могу сказать, так как никогда ардуино не пользовался. Что мешает энтузиастам запилить такую совместимость? Есть же какие-то Maple IDE. И что значит несовместима на аппаратном уровне, в смысле всякие GPIO pins не совпадают? То есть под совместимостью ты имеешь ввиду, чтобы можно было компилить и запускать сто тыщ мильонов существующих "скетчей" без каких либо изменений?
>>214709Я вот сюда посмотрел и примерно начал понимать про "совместимость", тут несколько категорий: https://en.wikipedia.org/wiki/List_of_Arduino_boards_and_compatible_systemsОдин из критериев видимо, чтобы shields работали. Тогда конечно, какая там совместимость.
Короче я заморочился, сходил на github посмотрел на этот maple. Во-первых, оказывается эти китайские трехдолларовые платки с ебая и есть клоны maple, который видимо обанкротился. И понятно почему. Слишком там дохуя мороки, многое недоделано, надо напильником доводить и ПОНИМАТЬ что ты делаешь, так что ардуинщикам это нахуй не уперлось. А те кто знает что делает, нахуй ему вообще это говно, проще напрямую. Может быть есть какая крощечная ниша для в меру продвинутых ардуинщиков, которых пугает cmsis и им хочется продолжать использовать свой любимый язык ардуино и им не впадлу кое-где пины подправить и кроме нескольких либок типа wire и servo им ничего не надо. Эдакий sandbox недоарм без кайлов и cmsis. Хуяссе, почему-то я был уверен что есть какое-то официальное хуилоново, или как его, для арм.
>>214675>Того, что она не совместима (ни программно, ни аппаратно) с отладочными платами (включая клоны) от «Ардуино»Вапщето ардуино это просто надстройка над cmsis. Чего бы ему не быть совместимым?
>>214499Интересно, если сделать аналогичный DIY компьютер на ладони, во сколько обойдется?
>>214724Если есть опыт разводки скоростного говна - дохуя, если опыта нет - дохуя * 3+ сфейленных дизайна.
>>214636Пока воняет дерьмом из твоего ротешника. Но да, ценник немного поднялся. Теперь не 500, а 700р. Но и дорар на улице по 80, а не по 65.
>>214763Mur4ik, не нервничай, твои пацаны видимо остатки позапрошлогодние распродают.
>>214763http://chipster.ru/catalog/tools/programmers/?sort=pa
а как программируется stm8?http://www.aliexpress.com/item/J34-Free-Shipping-ARM-STM8-Development-Board-Minimum-System-Board-STM8S103F3P6-Module-for-Arduino/32351992629.html?чот не вижу двух контактов для swd
>>214812Через USB порт?
>>214817насколько я знаю, это невозможно. Либо SWD, либо JTAG. Но тут нет ни того ни другого
>>214812> а как программируется stm8?Через SWIM
Кто-нибудь имел дело с mbed? Что это вообще? Просто онлайн компилятор или сорт ардуины?
>>214870онлайн компилятор, офлайн компилятор можно прикрутить, онлайн сообществокуча разных годных и неочень библиотек, попытка запилить HAL, в целом сорт ардуины, но поддерживается продвинутое байтоёбство, работа на прерываниях, использование DMA, даже есть RTOSв целом годная штука, правдо разбор исходников в некоторых местах выявил сильно ардуино-индуский стиль програмированияпользоваться можно, зависимости нет
>>215139Как по мне, лучше, чем официальные примеры от производителя, ничего не придумано.
>>215139не смог на нем писать для stm32f103, это вообще реально?
>>215141согласен, но примеры от производителя не охватывают все типы извращений которые можно проделывать с их восхитительными девайсами, и производители не быстро правят косяки котрые изредка имеею место быть, а в mbed можно нарыть различные извращения и воркароунды
>>215142на mbed?
>>215142сейчас проект разделился на new mbed OS и mbed Classicв new mbed отношение ко всему что ниже cortex-M4 стало презрительныма вот в mbed Classic есть поддержкаhttps://developer.mbed.org/platforms/ST-Nucleo-F103RB/
>>215143Это да. Один SPL от ST чего стоит уже (SPL обновляется быстрее чем документация) и файлов-то некоторых нет, о которых они пишут в своей документации, а примеры вообще, хер пойми как сделаны, файлы от примеров не подходят к SPL. Приходится править.
Как дела у M3 и ниже с floating-point операциями?
>>215185грустно, много лишних тактов, которые можно потратить на более нужное дело
>>215186>более нужное делоНапример, мигнуть светодиодом.
>>215190Ну моргнуть светодиодом не такая уж и плохая затея, скажу я вам.
>>215186Сколько тактов? Неужели 32 бита ему мало.
>>215209зависит от операции, для операций с флоатами требуется изрядное байтоёбство и gcc умеет это делать очень эффективно, но увы издержки неизбежныhttp://www.keil.com/forum/18033/floating-point-performance-on-cortex-m3/
>>215139>индуский стиль програмированияcmsis передает привет участникам треда
>>215242Как пойти к вам работать?
>>215242Съеби
Хочу к smc подключить дисплеи с параллельной шиной щитай, как оперативка. Какой нужен обвес на линии, чтобы все было заебись, не было наводок и скорость была норм? Текущая реализация блядь это пиздец с шиной 30 сантиметров вкупе с 220В фазой, мягко говоря, плохая, и при работе на дисплее вполне реальные галка. Я не по схемоте, я программист, но блядь тот, кто будет это говно разрабатывать, в схемоте еще хуже меня.
>>215256>Я не по схемоте, я программист, но блядь тот, кто будет это говно разрабатывать, в схемоте еще хуже меня.А конечное устройство получится еще хуже чем ты описал.
>>215261Первая вариация пиздец какая кривая, ты бы видел. Я не участвовал в разработке, я программировать сел
>>215306Ну ты бы рассказал поподробнее что надо-то именно. Тогда понятно будет, чем тебе помочь.
>>215256Вешай свой контроллер к дисплею, от него RS485 интерфейса микросхему, можно и без гальванической развязки (MAX485, ADM485), а потом через 485й управляй. Медленнее, но 220В рядом не так сильно сказываются. Либо сам кабель экранируй.
>>215383>RS485 А что если в шине сделать в 2 раза больше проводов, передавать дифференциальный сигнал, как на RS-485, а на обоих концах - дешифраторы на логике?
>>215403Тогда проще Ethernet прокинуть. У тебя какая скорость обновления экрана? Видео или просто информационный текст?
>>215419Не, я другой анон, предложил как версию.
>>197531>>197531Часы собери)) или термометр
>>215419Информация, экран не нуждается в постоянном оьновлении. Я просто хотел видосики запилить, сливать буфер кадра по дма. Можно даже двойную буферизация, ороро.Короче, будем перекатываться на миландровский ве91т, пущай развивается электроника в России. Я доволен, проц вполне норм
Народ, я тут помиргал светодиодом на АВР-ке, сделал энкодер с движка от дисковода и датчиков Холла из кулеров. В общем ненапряжно вник в контроллер и стало мне МАЛОВАТО функционала и я приобрел платку stm8l-discovery, дабы насладиться мощью АРМ. И ожидаемо соснул. Есть, что нибудь русское, почитать, поучить, а?
>>215586Блоги дихальта же, даташит и примеры стм, тысячи их, исходники, там много инфы
>>215586>stm8l-discovery>дабы насладиться мощью АРМсука ардуинщики и сюда протекли
>>215586Ты чтобы помигать светодиодом и поиграться с датчиками Холла ты покупаешь stm8l-discovery. Ну не пустая ли трата денег и сил? Лучше бери ATmega8 или ATtiny2313 для таких дел.
>>214642А стоит там атмега.
>>215794Тебя читать в школе так и не научили?> я тут помиргал светодиодом на АВР-ке, сделал энкодер с движка от дисковода
>>215794Это не "пустая трата", а подготовка к железному занавесу. Ща еще всяко разных контроллеров накуплю.
>>208449Бля, к нему ещё ST-Link нужно было брать?
>>215569> миландровскийЛюбопытно, не знал. Можешь пояснить за их микроконтроллеры. MDR32F9Q2I - это аналог STM32 M3? Совместим ли он в плане программирования, или нужны особые библиотеки программатор окрашенный в хохлому?
>>215852Касательно сравнения с конкурентами - хз, у меня опыта мало. В целом неплох: атмеловский sam3s и медленнее, и периферии поменьше. Ядро после пллов на 80мгц ебашит, всякие модные ДМА и прочее. Кристалл большой, да, раза в два больше площадь, чем у конкурентов, техпроцесс не как у тайванцев, зато есть ебучая военная и космическая приемка, метал-керкмические корпуса и позолота, выглядит внушительно.Хал потихоньку пилят, уже мало чем отличается от конкурентов, есть примеры, собранные под кейл, иар, гцц, вся настройка и конфиги линковщика и флешлоадера, для безпроблемного переката с буржуйщины.Еррата правда большая пиздец, но это просто слишком мало проц обкатан. Помимо кортекса м3, есть м4ф и а1 - послабее, но и меньше/дешевле.
>>215955>Хал потихоньку пилят, уже мало чем отличается от конкурентов, есть примеры, собранные под кейл, иар, гцц, вся настройка и конфиги линковщика и флешлоадера, для безпроблемного переката с буржуйщины.Оно в открытом доступе?
>>216052Да, у них на сайте полно
>>215955ну и где эту ебалу купить подешовке без смс?
>>216145Очевидно, что у них нет витрины с этим говном, все ориентировано на фирмы. Но есть путь: тупо написать в миландр, сказать, что ты сиартапер-эмбеддер, частный разработчик, и запросить образец. Возможно, даже бесплатный. Общайся, срсли
>>216145>>216158Написал им, чтобы были поосторожней. Халявщики с Двачей решили запустить свои липкие лапки в электронные закрома Родины. Не бывать этому!
>>216169Это нормальная практика, знакомый кун получил в свое время образцы альтеровских ПЛИС, тупо написав им. А хули, надо же как-то свое говно двигать
>>216314Я пытался ST писать, хуй на рыло, TI сказали - лососнешь, пока почту корпоративную не покажешь. В общем - пидарасы.
Анон, я впервые столкнулся с задачей, когда нужно сделать табличную функцию на 12кб. ARM Cortex-M3, 96кб оперативы. В принципе можно и там держать массив, ничего страшного же? Какие подводные камни?
>>216364Что такое "табличная функция"? Алсо, можешь держать и в оперативку, чому бы и нет?
>>216364никаких абсолютно, твой выбор. хоть во флеше, если read only, хоть в раме. и главное в отличие от всяких атмелов не нужно никаких безумных макросов. ибо hybrid harvard, linear address space, оперативка с 0x20..... флеш 0x80.... так же мапится в нуль
>>216392значения x-> f(x) записываются в таблицу, чтобы в рантайме не генерить, например синус, для скорости.
>>216400Ты вполне можешь в ПЗУ впихнуть, чому бы и нет? Правда, там возможен полуассемблер. И банально сделать константный массив, что лучше
>>216399>хоть во флеше, если read onlyА на производительности это не скажется?
>>216421Алсо, я так понял, достаточно указать const, и капилятор сам все расположит гуда надо.
>>187272беру дамп пикселей с камеры в реальном времени и отправляю на комп через юарт. 405 камень, камера ov7670.
>>212803>Не совсем понял о чем тыдумаю, что ты переводишь весь порт во вход или выход а так как на нём висит СТЛИНК то он сразу же отваливается и программатор теряет связь с камнем.
>>212556У меня была потрясающая проблема, что волею случая пин дисплея был заведен на цлк-аут, а в конфигах тактировки забыл указать байпас мод, так как стоял генератор. В итоге при подключенном дисплее контролер подыхал, так как ожидал резонатор, а получил хуй. >>187272Поковыряй хал, посмотри конфигурацию скорости в соответствие с даташитом, сделай тупейшую портами ио инициализацию, и посмотри, как сбрасывается дисплей
>>216483Какой размер изображения и формат, rgb565? Кодируешь в JPEG? Какой фпс?
Спешу поделиться покупкой с уважаемыми разработчиками.
>>216673>Keil>ulinkнахуя это всё нужно?
>>216682Действительно, зачем? Где ты раньше-то был, я бы 100 тысяч конторе сэкономил.
>>187438>а настроить управление окончания трансфера нельзяну да блять, конечно. Ищи внимательнее что-то типа Transfer size, то есть сколько элементов нужно переслать
Сап анчоусы. Пытаюсь настроить свою stm32f429 на PLL от HSE, прошу советов мудрых inb4 сосни-ка хуйцаОт HSE работает.От PLL с таким кодом http://pastebin.com/7m1XzuyF не работает.Внешний кварц 8 Мгц, PLL=(HSEPLLN)/(PLLMPLLP)По идее итоговая должна стать 116МгцЧому не работает?
>>217071>PLL=(HSE x PLLN)/(PLLM x PLLP)fix
>>217071Куб выдал такой код - http://pastebin.com/31UDg5gN. С твоим не сравнивал, по картинке вроде 116
>>217087У меня плата почему-то зависает. Мб дело в том что флеш не успевает за такой частотой, но на сайтах где идет базовое описание PLL ни слова об этом.
>>217090> флеш не успевает за такой частотойУ меня на 180 нормально работает.
>>216421нет>>216432да
>>216516размер изображения 120х176 (20760 пикселей)формат YUVне кодируюфпс 6,5 к/ссобираюсь распознавать изображения
Счастливые владельцы stm32f429i-discovery, у вас при рисовании через emWin работает многослойное отображение?У меня почему-то не работает 0 слой, только 1.GUI_SelectLayer(0);GUI_SetBkColor(GUI_LIGHTGREEN);GUI_Clear(); GUI_SelectLayer(1);GUI_SetBkColor(GUI_TRANSPARENT);GUI_Clear();Должно выдавать зеленый экран, выдает заставку экрана.Судя по документации https://www.segger.com/emwin-multi-layer-multi-display-support.htmlоно таки должно работать
>>217247> выдает заставку экранаЧто сие значит?
>>217269ну видимо все слои прозрачные, то контроллер дисплея рисует дефолтную картинку
>>217281> GUI_Clear();> рисует дефолтную картинку Чота я совсем не понял. Закинул я свою 429 в дальний угол. Когда получу чорный пояс по сям, достану.
>>217311GUI_Clear();Судя по документации, оно закрашивает весь экран цветом фона
Аналогичная проблема с буферами. Не работает. Нормальных примеров нет
>>217335непонял, а какие проблемы с буферами?
>>217341с буферами для рисования. Тоже не работают и хз как их использовать
>>217341Мне бы такие.
>>217247Ну тебя в пизду! Я только спать начал нормально, а тут опять полез в мануалы по этому стм-овскому пиздецу.
И какого черта тестовые примеры сделаны размером в 26000 строк и содержат кучу вызовов специфических функций, что я не могу это скомпилировать
>>217483Патамушта!мимо >>217311 - анон
>>217247Не видел код, но вангую, что отрисовка подобна фотошопу: есть слои, есть текущий слой, в котором ты выполняешь граф. операции. Ищи команду смены слоя
Я >>217488 в глаза ебусь, не заметил
Господа, Raspberry Pi здесь обсуждают или где?
>>217499Не здесь
>>217506А где?Почему у ардуинохолопов есть свой тред, а малинкобогов нет?
>>217522Потому что малинка - готовый компьютер.
>>217522https://2ch.hk/diy/res/172936.html
>>217522киньте ссыль на ардуино тред, плиз.
>>217536> совсем охуели шкальникиhttps://2ch.hk/ra/res/210443.html
>>217530Благодарю.
Умножение int на float, результат int.Если float представить как int/int что будет быстрее.int=intfloatилиint=intint/int
>>217607Ебучая разметка, знак умножения там.int=int × floatилиint=int × int/int
>>217609Какой-то ты хуевый, наверное, съеби.Так-то если брать ассемблер, то на х86 на фпу очевидный инт на флоат, если брать архитектуру с хитровыебанными командами, то очевидное использование команд, наиболее подходящих. Если фпу нет, то ебаный флоат будет каким-то пидорством представлен
>>217071Разобрался. Просто диод на плате на частоте порта выше 32 Мгц не работает. Прескейлы не помогают.
>>217667Разобрался с прескейлами, как днище записывал не в тот регистр, хех. Но все равно не заработало, пока задержку флеша не сделал, хз как у >>217091 на 180 флеш без задержек работал.
>>217671> флеш без задержек работал.Ты про какой флеш? Запаянный на плате или микроконтроллерный?
>>217705Встроенный же, наверно микроконтроллерный?В референс мануале задержки описаны в параграфе "Embedded flash", тобиш встроенный.
>>217671> хз как у >>217091 на 180 флеш без задержек работал. Да я в такие глубины-глубин и не лез еще, дефолтное демо работает на 180 и не глючит.
>>217813Так это камень на 180 летает, на флеш через делитель же идет. Но даже с ним больше 30 МГц надо задержки вводить.
>>217855Ну хуй его знает
>>217867Он написал про 180 без задержек - такое возможно только если камень на 180, на флеш через делитель (который AHB prescaler). Можно и на 180 гонять флешь, но без задержек он не будет работать.
>>217889Т.е. SysClk 180, камень тоже на HCLK работает, не заметил.Но в любом случае вышенаписанное в силе.
ребят, помогите. отладочная плата stm32vl discovery. не работает ацп. написал программу, которая читает напряжение с потенциометра и шимом регулирует яркость светодиода на основе этих значений. тупо не заходит в прерывания ацп. гляньте код и скажите в чем проблемаvoid init_ADC(){ RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1, ENABLE); ADC_reg.ADC_ContinuousConvMode=DISABLE; ADC_reg.ADC_NbrOfChannel=1; ADC_reg.ADC_Mode=ADC_Mode_Independent; ADC_reg.ADC_ScanConvMode=DISABLE; ADC_Init(ADC1,&ADC_reg); ADC_RegularChannelConfig(ADC1, ADC_Channel_1, 1, ADC_SampleTime_239Cycles5); }int main(void){ init_GPIO(); init_Timer (); init_PWM (); init_ADC(); TIM_ITConfig(TIM4, TIM_IT_Update, ENABLE); TIM_Cmd(TIM4, ENABLE); ADC_ITConfig(ADC1, ADC_IT_EOC, ENABLE); ADC_Cmd(ADC1,ENABLE); ADC_ResetCalibration(ADC1); while (ADC_GetResetCalibrationStatus(ADC1)); ADC_StartCalibration(ADC1); while (ADC_GetCalibrationStatus(ADC1)); NVIC_EnableIRQ(TIM4_IRQn); NVIC_EnableIRQ(ADC1_IRQn); ADC_SoftwareStartConvCmd(ADC1, ENABLE); while(1) { }}
>>218147попробуй повторить код из онлайн-мануала. У меня все работало, даже целых 2 штуки одновременно
Аноны выручайте. СИтуация такая. Я пока нуб в микроконтроллерах, но хочу научиться и мой, скажем так, наставник посоветовал изучить простенькие китайские микроконтроллеры для игрушек всяких и тд. Не просто так, я буду пытаться разрабатывать всякую сувенирную продукцию и поэтому нужен дешевый контроллер.Что посоветуете?
>>218448Ну а какая цель, что должно быть в конечном результате?
>>218449по сути один котроллер под разные цели.Для начала хотелось бы запилить что-то типа китайского фонаря который будет реагировать на движение-при раскачивании будет издавать звук +реагировать на уровень освещенности и изменять режим подсветки светодиодов-переливаться, мигать и тд
Анон, я пишу под ARMы уже года три или четыре, но в основном какое-то неинтересное говно. Сейчас на текущем месте работы тухляк, и я подумываю о том, чтобы съебать в другое место. Смотрю требования к разработчикам ПО для встраиваемых систем, а там требуют знания принципов RTOS, знание архитектуры ARM7/9/11 ли других процов и т.д. Что вы можете посоветовать почитать хотя бы по архитектуре ARM7, например? Так как не требовалось, я много чего до сих пор не знаю. Всякие MMU, защищенные режимы и т.д., зачем это нужно и как используется. Ну и по RTOS то же самое.Где-то еще и пишут в обязанностях разработку драйверов для устройств, вот это для меня вообще темный лес.
>>218450Скажем так, если ты не собираешься выходить выше уровня микроволновок, стиралок, сувениров, детских игрушек - то выбирай Sonix (Sn8p2501bpb), AVR (tiny13, atmega16, tiny2313). Если ты хочешь двигаться дальше в этом направлении просто поверхностно изучи AVR, мигни диодиком, свяжись по USART с компом, пойми как работает сам контроллер и изучи асм. Это для меня было 3-4 месяца. Дальше изучай ARM, например Cortex-m3 это ST (stm32f10x) или NXP (LPC176x), таким образом будешь двигаться по ARM, и дойдешь до более совершенных армов, т.к. базовая архитектура будет ясна.
>>218452от всей души благодарю)
>>218454Да, и хочу сказать что изучая такие архитектуры как sonix, pic, avr, не забывай что они все имеют свою архитектуру, и каждый раз пересаживаясь с одного проприетарного контроллера на другой тебе надо изучать полностью его архитектуру, т.к. они совершенно разные, изучая NXP после ST у меня больших проблем не взоникло, а вот ST после AVR - честно говоря, я не сразу въехал (ну еще учитывая что он сам по себе сложнее).вот тут пишут:>>188758
>>218455а есть какая-нибудь общая обзорная статья по ним? Нашел одну, но она 2011 года и уже може быть неактуальна
>>218460Ты про кого именно?
>>218466вообще в целом небольшой обзор основных мк по ценам, производительности и тд
>>218467Ты сначала возьми AVR, то для чего ты описал, МК вполне подойдет. Все, о чем я тебе писал стоит от 15р. до 150р. для китайского фонаря пойдет AVR tiny13, atmega16, tiny2313, для последнего есть документация в инете на русском, а все эти три МК отличаются периферией и количеством ног. Все равно тебе нужны будут внешние датчики.
>>218451Я со стажем в год и без знания ртоса и ядра пишу драйвера, так что не ссы.
Господа, как правильно гуглить библиотеки, реальные или хотя бы на метакоде, с описанными структурами регистров и базовыми функциями? Гугл запрос типа x library, x source нечего не дает
>>218476Я даже примерно не представляю, как это делать и что для этого нужно знать.
>>218477reference manual гугли, придурок.
>>218501Пошел нахуй, уеба
>>218520Нормально жи общались!? Какого хуя агришься?
Что можно МАКСИМАЛЬНОКРУТОЕ собрать из Ф4 Дискавери?Не траль)
>>218529Шилд для ардуинки.
>>218529Я буду умную избу собирать. Когда С доучу. Тока дисплейчик на 7" поменяю.
>>218538умная изба с курьими ножками? чтобы пугать богатырей залётных? хитро
>>218540Какие богатыри, какие ножки, наркоман? Ты не знаешь, что есть исконно русское жилище - изба?
>>218543лучше в хате жить чем в такой холупе для халопов
>>218554И какую ты хату считаешь нормальной? У нас тут лес дешевый (на самом деле нет), а кирпич дорогой. Вот и приходится в таких жить. Я правда отбился от рук, не хочу жить как диды завещали, и въебал себе котел.
>>218530>>218538сёма пытается шутить))
>>218575Я не шучу, я реально в избе живу. Чо смешного то? Я реально собираюсь автоматизировать отопление, работу наружного освещения, охрану, вентиляцию, контроль насоса скважинного, дренажи и т.д. Да и не с дискавери буду делать, а на стм32ф429зит, а дисплейчик подключать через SPI, чтоб ноги не тратить на параллельный ргб. Так что пройди нахуй, дорогой анонимас.
>>218554Это в той, где стены говном обмазывают?
>>218579>Так что пройди нахуй, дорогой анонимас. Я не он, но пообщаться готов.Ты даже себе не представляешь, как ты себе голову ебёшь в данный момент.Ты ведь ещё не понимаешь, что каждая из твоих систем (отопление, наружное освещение, охрана и т.п.) должны быть независимыми и надёжными, а вместе их может объединять МОЗГ, но он должен жить отдельно, чтобы при нарушении работы не вешать всё вокруг. На одном 32F4 ты этого делать явно не будешь, ибо дорого...
>>218585> ибо дорого... Но я уже приобрел его. И не дорого, 920р. Конечно я не буду все вешать на один контроллер. Он и будет МОЗГОМ, а всю чОрную работу будет делать мелочевка по 5 копеек, типа stm8s003k, stm32f103, stm32f401, stm8s003f, атмеги в конце-концов.
>>218588>stm8Нахуй.>stm32f103Дороговато.>атмеги ДА НУ ЕЁ НАХУЙ!Советую отличный stm32f030... Его хватит на любую автономку из перечисленных.Осталось решить, как организовать каналы связи. Ваши мысли?
>>218589Ок. Выкладываю всю подноготную. Я старый-престарый хуй, во время строительства своего домишки, решил максимально его автоматизировать, чтоб на пенсии жмакать в экран своего говнопланшета, а у бабки вода горячая в душе отключалась бы. Радиогубительством занимался в далеком детстве, почти собрал с одноклассником компуктер "Радио-86РК", добывая на него детали из станков ЧПУ производимых нашим местным военным заводом, за что были пойманы и в виду малолетства и чистосердечного раскаяния были осуждены на 5 лет условно с выплатой родителями по 150к тех еще рублей( это я к тому, что не жалейте денег на личинусовские хобби, а то они пойдут разбирать Эльбрусы за 400к). Долго не держал в руках паяльник (лет 20), а тут решил тряхнуть стариком, купил ебучий дискавери и все пошло кувырком. Чем дальше я лез в эти дебри, тем больше понимал насколько отстал и дабы не объебаться с инфраструктурой, напихал в свою избу 2 упаковки витухи cat 5e. Так что радиоинтерфейсами страдать не буду, а использую чота вроде rs485. Вот.
>>218589> >stm8> Нахуй.Почему же? Например в кессоне скважинном, мне надо померить температуру, давление в экспансомате, записать это на флешь и заснуть пока старшой не попросит ему отдать эти данные. Зачем туда ARM городить? Я в терре stm8l151c4 жменю на 300р купил, надо же их использовать.
>>218601> Почему же?Потому что для STM8 только три с половиной компилятора. Один из которых SDCC, а остальное с калечными пропиертарными лицензиями.
>>218604Cosmic 32к бесплатно компилит.
>>218561> сравнивает кирпич с бревном> считает, что кирпич лучшеНе лучше! У меня охрененный деревянный дом, дед построил в 50х. Есть печь, руssкая, которая и как плита, и как ебаная батарея, и как рассадник котов. Главное, нужно следить и ухаживать за домом, а также жить в нем
>>218596>rs48516c550, фуллдуплекс, xon/xoff?
>>218607Я сейчас, пока строюсь, живу в избе примерно 1905 года постройки. Это пздц, хотя за 5 (планировалось пару лет, но йобанные деньги не хотят зарабатываться в нужном количестве) лет привык.>>218608Возможно, я пока как ребенок, тыкаю примеры, вдупляюсь в этот мозголомный HAL, схемотехникой пока не занимался.
>>187056 (OP)посоветуй годной литературы по ARM и с чего начать изучение, а то через месяц придется работать с этим делом, а я только AVR изучал
>>219475Конкретно по stm32 "Мартин М. Инсайдерское руководство по STM32", по остальным анон подскажет.
>>219531Спасибо за книгу, я и не мог подумать, что по СТМ-ам что-то подобное есть.
Вкачусь в тхреад.Где найти подобные гайды dmilvdv.narod.ru/AT91SAM9260/intro.html по адаптации линукса под конкрентый контроллер, про BSP, DeviceTree, BoardFile и прочие необходимые вещи?Правую железку не заводил еще - как минимум DataFlash через sam-ba можно прошить-зачитать - уже что-то, как и работа phy. Сношаю гугол как bootstrap и u-boot готовить и не особо то успешно.На левой - только из STM32-Cube FreeRTOS + LwIP запущен - только на пинги отвечает.
>>219565Да незачто, пожалуйста.
>>219784А-а-а-а-ааааааааааааааа! Ебать тебе делать нехуй!
>>219784Я скоро этим займусь. Весь низ изучен, суть тоже, загрузчик изучен, флешлоадер написан.
Не пошел в Аудуино так как там вообще уровень дтского сада. Спрошу тут. Что можно сотворить на arm, конкуренто способное и прибыльное? Надоело мигать светодиодом оброабатывать видоопоток и сигналы с ультразвуковых датчиков дальность и угол излучателя, фурье, подобность функций и прочий шлак
>>219793Что это?
>>219862мультивибратор
>>219846Изучи рынок электронных приборов, сделай свой дешевле конкурентов и продавай
Какой нехороший человек делал bootstrap-1.6?Мало того что там свежая версия компилятора вклеивает 24 байта своего мусора с указанием кем и когда было скомпилено, так еще и в 6 векторе пишет 0 длину/заглушку-вектор и загрузчик только 32 байта бутстрапа читает и в sam-ba вываливается. Приходится вручную править собранный бинарник чтобы указать независимо от реального размера читать 4К кода.Завис сегодня на запуске u-boot + dm9161 в MII. Физика верная, линк ловит на 100, MDIO-MDC работает, в ответ тишина, на аппаратном лупбэке видно что что-то шлет, когда компом цепляюсь - ничего не могу поймать.U-Boot> setenv ethaddr 02:03:04:85:06:07U-Boot> setenv ipaddr 172.16.0.89U-Boot> ping 172.16.0.89macb0: Starting autonegotiation...macb0: Autonegotiation timed out (status=0x7849)macb0: link down (status: 0x7849)ping failed; host 172.16.0.89 is not aliveU-Boot> <INTERRUPT>U-Boot> ping 172.16.0.89macb0: Starting autonegotiation...macb0: Autonegotiation completemacb0: link up, 100Mbps full-duplex (lpa: 0xc5e1)Using macb0 deviceAbortping failed; host 172.16.0.89 is not alive>>219784
Анон есть какая-нибудь инфа по Apple A9? Это уникальная разработка эпл? полный клон Cortex
>>220328Проверь размер кучи (heap), анон, в файле конфига линкера.>>220670Кортекс - ядро арма, которое покупают у внезапно ARM ltd. Вокруг типовой обвес, разводка и производство, все м настолько тупо, что может любой студент /ра/дист сделать. У нас в России аж две мегаизвестных компании также делают процы на м3 и м4ф. В перспективах ашки, но пока дораха.
>>220742>студент из Гарварда. И назвать AVR.
>>220742Мимо.arm-linux-gnueabi-gcc -nostartfiles -nostdlib -Wl,-Map=dataflash_at91sam9260ek.map,--cref -T ../../../elf32-littlearm.lds -Ttext 0x200000 -n -o dataflash_at91sam9260ek.elf crt0_gnu.o at91sam9260ek.o main.o gpio.o pmc.o debug.o sdramc.o dataflash.o _udivsi3.o _umodsi3.o div0.o udiv.o string.oarm-linux-gnueabi-objcopy --strip-debug --strip-unneeded dataflash_at91sam9260ek.elf -O binary dataflash_at91sam9260ek.bin2.1M Mar 22 04:38 dataflash_at91sam9260ek.bin
There are 18 section headers, starting at offset 0x7c8c:Section Headers: [Nr] Name Type Addr Off Size ES Flg Lk Inf Al [ 0] NULL 00000000 000000 000000 00 0 0 0 [ 1] .note.gnu.build-i NOTE 00000000 0000d4 000024 00 A 0 0 4 [ 2] .text PROGBITS 00200000 000100 000e00 00 AX 0 0 16 [ 3] .text.startup PROGBITS 00200e00 000f00 000038 00 AX 0 0 4 [ 4] .bss NOBITS 00200e38 000f38 000000 00 WA 0 0 1 [ 5] .ARM.attributes ARM_ATTRIBUTES 00000000 000f38 00002e 00 0 0 1.note.gnu.build-i - эта гадость мешала, а так - оно верно все собирало, за исключением одного00000000 04 00 00 00 14 00 00 00 03 00 00 00 47 4e 55 00 |............GNU.|00000010 29 58 18 26 e9 db 53 09 5c 97 05 09 c8 dd 49 6a |)X.&..S.\.....Ij|00000020 e7 2f f9 51 00 00 00 00 00 00 00 00 00 00 00 00 |./.Q............|00000030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|*00200000 0d 00 00 ea 05 00 00 ea 05 00 00 ea 05 00 00 ea |................|00200010 05 00 00 ea 05 00 00 ea 05 00 00 ea 05 00 00 ea |................|00200020 fe ff ff ea fe ff ff ea fe ff ff ea fe ff ff ea |................|00200030 fe ff ff ea fe ff ff ea fe ff ff ea d4 d0 9f e5 |................|по адресу 0х14(00200014) - полная хуита вместо FF 0F 00 00 - поэтому загрузчик ничего не читал.Сейчас проблемка с I2C - банальные LM75 и 24C04 невидятся.Может есть профи которые подскажут как завести такую память ?nand: device found, Manufacturer ID: 0x2c, Chip ID: 0x44nand: Micron MT29F32G08CBADA3Wnand: 4096MiB, MLC, page size: 8192, OOB size: 744nand: No oob scheme defined for oobsize 744------------[ cut here ]------------kernel BUG at drivers/mtd/nand/nand_base.c:3925!Сам камень(at91sam9260) по даташиту держит память до 16гБит, а тут в 2 раза больше + страницы по 8 КБ.Мелкую память оно нормально хавает, но мелких флешек откуда ее сдернуть в промышленных масштабах нету.Jan 1 00:01:01 deb kernel: nand: device found, Manufacturer ID: 0xec, Chip ID: 0xdcJan 1 00:01:01 deb kernel: nand: Samsung NAND 512MiB 3,3V 8-bitJan 1 00:01:01 deb kernel: nand: 512MiB, SLC, page size: 2048, OOB size: 64Jan 1 00:01:01 deb kernel: Bad block table found at page 262080, version 0x01
>>220978Открой .lds блия
>>220979Анон, я почти с тем же мк ебался совсем недавно. Вкрадцыи, не читая тебя:размер образа бинарника, зашитого во внешнюю флеш, равен оперативке минус несколько килобайт железного загрузчика. Короче, для at91sam9x25 при 32К sram прошивка должна быть 24 КБ. Об этом есть одна строка в даташите, в секции с загрузчиком.Тут вроде в посте у тебя типа не определилась флеш. Решение до жопы простое: пересобери ебиную либу, вписав типовую строку со своей памятью и ее вендором; поройся в либах
>>219880 (OP)
>>221036more elf32-littlearm.ldsOUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")OUTPUT_ARCH(arm)ENTRY(reset)SECTIONS{ . = ALIGN(4); .text : { _stext = .; (.text) (.rodata) / read-only data (constants) / (.rodata) . = ALIGN(4); _etext = . ; } / collect all initialized .data sections / .data : AT ( ADDR (.text) + SIZEOF (.text) ) { _sdata = .; (.vectors) (.data) _edata = .; } / collect all uninitialized .bss sections / .bss (NOLOAD) : { . = ALIGN(4); _sbss = .; (.bss) _ebss = .; }}end = .; / define a global symbol marking the end of application />>221038Почти угадал, но проблема в другом - сам бутстрап должен быть менее 4К размером. У меня же выходил размер овер 2 мегабайта из-за информационной секции.Обрезка секции strip-ом - уменьшает размер и сборка по прежнему нерабочая. Снимал обмен логическим анализатором - только тогда заметил что длина загрузчика не указывается. Подправил руками бинарник и заработало. U-boot завел, ядро грузит по tftp, корневую фс по nfs тоже грузит, работать более-менее можно.>пересобери ебиную либу, вписав типовую строку со своей памятью и ее вендоромЗачем ? память то опознается. Если гуглить по "oobsize 744" - не каждый камень его держит, насильный перевод в коде на oobsize 128 - все засрано что или блок мертвый или ецц не сходится, заканчивается память под бэдблоки, далее обычная разгрузка и в /dev/mtd пустота, хотя в ядре есть описание пары разделов.
Ребя, я начинающий погромист контроллеров и у меня есть вопрос о структуре программ. В универе мне сказали что main'е надо только инициализировать контроллер, а вся работа контроллера выполняется в функциях обработки прерываний. На работе же мне сказали, что ещё можно в обработчиках прерываний устанавливать нужные флаги, а обрабатывать их уже в main'e. Поясните как правильней.
>>221170Я пишу все структурами. И указателями на функции. Так как сказали тебе первые. Без фанатизма, не использовать дохуя структур и не таскать где не попадя, иногда легче вызвать функцию. Оверинжиниринг ни к чему.Но в прерывание программа должна быстренько зайти, переключить флаг (как сказали вторые) и выйти, чтобы, если у тебя не накопилось много прерываний, они по быстрому переключаются и выходят и освобождают стек.
>>221170второй вариант. Основной медленный поток программы крутится в майне, в прерываниях ставишь флаги. Так проще тестировать, не нужно ебаться с многопоточностью и защитой данных, медленные потоки внутри прерываний не будут наслаиваться друг на друга.
Дополню, что тебе сказали немного разные вещи. Первые, наверное, имели ввиду, что можно делать while(1); после инициализации и реагировать только на прерывания. Это хорошо, если прерывания короткие.А если есть нужда в длинных задачах то лучше сделать как сказали 2-е.Но Main должен быть пустой никаких программ не должно быть(ну, или по-минимуму), только переменные указатели на функции или, если тебе нравится, просто вызовы функций.Структуры с указателями на функции:в начале заводим наши переменные(или структуры с описанием всего и инициализируем): гироскоп1, лампочка1, panasonic и пр.main(){инициализация.таймер(&таймер1,5600);инициализация.таймер(&таймер2,3600);инициализация.таймер(&таймер3,4800);инициализация.датчик(&датчик1,55,55,77);инициализация.датчик(&датчик2,85,15,47);while(1){задача.координаты(&гироскоп1);задача.свет(&лампочка1);задача.камера(&panasonic);}}Никакой охуеть большой кучи в майне не должно быть, иначе это полет фантазии. Через месяц запутаешься. Лучше программу разбить на логические структуры:Все что касается, например, датчика 1 - в один файл, датчик 2 - другой файл, файл инициализации 3-й файл.(В main только всё в кучу собираешь.) И там, в файлах, лучше никаких привязок к переменным все переменные должны храниться в Main. Функции должны быть гибкими, и при вызове этих функций они меняют только данные в той переменной, или структуре, в которой указали.Таким образом main является хранилищем всех переменных и связующим звеном.Как сказал >>221193 делаешь все задачи др. за др. я делаю тоже так же. И как только выставился флаг меняется просто поведение задачи.>>221177 -кун
>>221216>Таким образом main является хранилищем всех переменныхты в курсе что такое "инкапсуляция"?
>>221220Да я в курсе. Хорошо, не всех переменных поголовно. Статусные переменные, например датчиков хранятся в их файлах. Main только принимает данные по вызову функций.
>>221220Ты знаешь, что такое статическая адресация в мк?
>>221227Нет. Это в смысле эти переменные хранить в SRAM?
кстати что можно почитать про архитектуру микропроцессора? Всякие там стеки, кучи, страницы памяти и прочее
>>221284
>>221193А если задача повиснет? В тот-то и многозадачность лучше, одна зависшая задача не испортит программу.
>>221288а это справочник или учебник? Хотелось бы именно учебник, чтобы объясняло принципы
>>221321Это учебник. Там для задротов. Рассказывают еще как на АСМе под него писать.
>>221331при том что писать на асме под ARM не рекомендуется из-за thumb-инструкций
>>221561Не, ну все равно почитать стоит, не ради программирования на АСМ, а хотя бы чтоб понять как этот АСМ там работает. Кстати,>>221284 , ты можешь почитать вот это, про AVR, переведенный Datasheet.http://kazus.ru/forums/showthread.php?t=284(ссылка для скачивания ниже).
>>221658А есть переводы на STM32F4xx?
а в чем смысл перевода даташитов? Это же сугубо справочная информация
>>221696хуле там переводить, одно да потому
>>221829Переводчику заебись в гуглтранслейте перевёл одну буку, остальные одно и тоже, а в портфолио напишет дохуища технической литературы перевёл. Пидоры они.
А смысл в учебниках? Достаточно читать даташиты и спецификации и рач иногда.
>>221860Учебники нужны для того чтобы на доцента или профессора ВАК подавать, надергуют хуйни из пиндоских учебников и даташитов и профессорами становятся, а людям они нахуй не всрались, только вымер бумаги.
>>221860>>221865Датащиты датащитами, а все мы начинали с учебников. Нормальный учебник - это расшифровка датащита устройства и не всегда конкретного, иногда рассказывают абстрактно, чтоб читатель понял что к чему. Это сейчас я беру любую микросхему, и на основе полученных знаний из учебников я понимаю как и что там работает. Но в начале, например, я, не сразу понял организацию микропроцессора, там рассказывается как он устроен как таковой: здесь память, здесь регистры, здесь контроллер прерываний. Это слишком много незнакомой справочной информации, тем более сразу.А почему именно так устроено и никак по другому, никто там не говорит. Все равно что электронику учить с книг Тицце и Шенка или вообще со справочника, как бы всё с низов рассказывают и подробно, но, блин, все равно, непонятно.
>>221869Из книг любимые - Р. Токхейм Основы цифровой электроники и Микропроцессоры. Остальное говно непонятное - пидоры высрали.
>>221860зачем нужно обучение вождению автомобилем, если у тебя есть техпаспорт и схема автомобиля?
>>221887толсто или не знаешь какое оно это обучение.Как это обычно - после получения прав за неделю сам научишьсяВсе эти сранные учебники лютое говно, как и инструкторы вождения и теория в автошколе
>>221899Т.е. ты не освоил электронику и не открыл ни одного учебника, и сразу начал с датащитов?
>>221900Не слушай его, он бугуртит от того что его учили по дерьмовым учебникам, и теперь думает что они все такие.
>>187130Зависит от шины и как memcpy работает. Если уебищно по слову копирует, а ты делаешь memcpy((char )buf1, (char )buf2, sizeof(N)), то он и будет побайтово херачить: сместил байт, записал 4, 3 отбросил, снова подвинулся.DMA очень полезен.мимо-nios-быдлячер
>>221931>32Бдольше будешь настраивать ДМА чем копировать>DMA очень полезенбезполезная трата транзисторов
>>187135>в кортексах DMA такты воруетЧто за говно, бля?
>>223107ворует такты, тормозит, глючит, ведёт себя нехорошо
>>222988Слыш слыш, а ведь что-то из memcpy можно переопределить на копирование через дма память-память! У х86 такого режима дмы нет
>>187056 (OP)есть кто с Дальнего Востока?
>>187056 (OP)Сап парни, разбираюсь с HAL возникла проблема при попытке завести SPI. С помощью этого кода я пытаюсь оживить SPI1 __SPI1_CLK_ENABLE(); hspi1.Instance = SPI1; hspi1.Init.Mode = SPI_MODE_MASTER; hspi1.Init.Direction = SPI_DIRECTION_2LINES; hspi1.Init.DataSize = SPI_DATASIZE_8BIT; hspi1.Init.CLKPolarity = SPI_POLARITY_HIGH; hspi1.Init.CLKPhase = SPI_PHASE_2EDGE; hspi1.Init.NSS = SPI_NSS_SOFT; hspi1.Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_64; hspi1.Init.FirstBit = SPI_FIRSTBIT_MSB; hspi1.Init.TIMode = SPI_TIMODE_DISABLED; hspi1.Init.CRCCalculation = SPI_CRCCALCULATION_DISABLED; hspi1.Init.CRCPolynomial = 7; HAL_SPI_Init(&hspi1);вроде бы все норм, но не знаю как включить его с помощью бита SPE. В SPL это делалось через SPI_Cmd. А как сделать в HAL'е? На данный момент просто тупое вбиваю его через SPI1->CR1 |= SPI_CR1_SPE;
>>223347Подразумеваешь, что оно изначально не определено через него?
>>223405Подразумеваю, но я не си-бог, чтобы знать, как оно собрано в ядре линукса, например, на аимах.Но факт, анон, память-память на х86 нет, только периферия.
>>223107>>223110А как оно может не воровать, если DMA сидит на одной и той же шине с остальной периферией?
Анон, почему например интел/амуда не выпускают микроконтроллеры?
>>223418>память-память на х86 нетНу а кагбе как ты его сделаешь и в чём будет принципиальная разница если это сделает ЦП? DMA с устройств хорош тем что не надо постоянно синхронизироваться с устройством, чтобы читануть оттуда наполнившийся буфер.
>>223489>почему8051
>>223489Потому что ты не гуглил.
>>223618>>223619А почему сейчас, при их монопольном, а тем более погорелом положении как у амуды, они не хотят зохавывать ST/TI/Atmel и остальных?
>>223740наверно потомучто рынок микроконтролеров намного меньше чем те куски рынков которые есть у лидеров, нет никакого смысла захватывать непрофильных аутсайдеров, ктомуже микроконтролеры это зашквар
>>223744>рынок микроконтролеров намного меньше
>>223744Ты посмотри дома соотношение микроконтроллеров и процессоров. Телек, радио, машинка, микроволновка, некоторые холодильники, да даже пульты для телеков, практически каждый прибор, имеет в себе микроконтроллер. Даже в самом компьютере найдется место для него.
>>223871все эти микроконтролеры нихуя нестоят, сравни цену с процессором, накрутки на ёбо процессоры охуенны а себестоимость такаяже, объём рынка определяется не только количеством но и ценой, если лидеры не хотят заниматься этим зашкваром значит они это уже всё посчитали, или у вас диваных экспертов с пультами от телевизоров другие цыфры?
>>223905> все эти микроконтролеры нихуя нестоятПросто даром
>>223924 Что ты мне хочешь доказать? Есть DSP embedded-процессоры и микроконтроллеры, специально выпускаемые для работы со звуковыми, медицинскими, автопром и пр. устройствами где нужно быстрое реагирование. Интел и AMD туда не лезет. Это специальная ниша, это совсем другие процы.Майкрософт, к примеру тоже хотел охватить необъятное, например, делал программные фаерволлы (ISA SERVER), Нокиа делала что-то вроде чекпоинта. Но обосрались, потому что у каждого своя ниша. И нахуя? Если это заботы Juniper, Cisco, CP? Чего с ними тягаться?инбифо:>intel edison>Intel Quarkпроцессоры для встраиваемых систем.>>223924Это еще не потолок.
>>223933> Эдисон> кваркЧото в наших по работе вместо этих неизвестных используются ноутбучные и7 хасвелл/иви бридж
>>223989О чем вообще разговор? О том что у вас используется или почему интел не захватил рынок микроконтроллеров и процессоров для встраиваемых систем?
>>223924>STM32F4xxтакое в пульты не ставят это говно без задач которое покупают только уебаны чтобы помигать светодиодом, много на этом не заработаешьуёбывай в бизнач там тебе по хардкору объяснят что на на говне без задач плохо зарабатывать
>>224016Дурак чтоле?
>>224016>stm32>dma>usb>помигать светодиодомТы даун?
>>224148В российском интернете увы два года уже мигают светодиодом, надо подождать еще года четыре
>>224155Ну на российском интернете свет клином не сошелся. Тем более везде так, любители кроме этого ничем не занимаются, я думаю везде так. А более продвинутых ты не видишь, т.к. они работают а не в интернете пишут.Помигать диодом, подключить датчик света, подключить сервопривод, это всё для начинающих и просто их много.
>>224155>В российском интернетеА на каких сайтах ты сидишь? Петухабр и двощь?
>>224004Почему во встраиваемых системах не было интелов для встраиваемых систем?
>>224170Родина дала (пока) ему интернет, но нет, хочу домыслы свои высирать на борду. https://ru.wikipedia.org/wiki/Intel_8051
>>224182Да я ему уже сказал, он какой-то тугой. Спор же это святое.-->>>223618
>>224193может он непонимает почему богомерзкую архитектуру x86 нелюбят в ембенде
>>224193Лел, я конечно тугой, но в споры пустился уже не я.Вот ещё вам тугой вопрос: китайские ЦП для телефонов намного дешевле того же STM. Тот же арм по сути. Явно позволяет ещё и гигабайты памяти легко подключать, да в целом мощнее если даже игры тянет. Одна беда: нет доков и туторов, и видимо с портами ещё проблема будет.Ну вот например MT6572, я могу купить за 500р на али. STM за такие деньги можно купить наверное только серии STM32F1.Не пробовал никто ещё использовать вместо тяжёлой серии F4 китайский мобильный кремний?
>>224862да ты явно упорот, этоже cortex-a с модемом и еще кучей барахла, к нему обвес нужен нехилый, жрет он побольше и доки хуёвые, тут ситуация как с ардуиной, да ты можешь взять чип значительно дешевле и мощнее но хули ты с ним делать будешь без среды разработки?
>>224866Но в пересчёте цены на производительность и возможности явно получше же, да? Я не думаю что F4 серия жрёт меньше, а модемы, да и хуй с ними, выкинуть пару чипов из обвязки и пусть себе без них работает. И что там с ардуиной кстати? Если не касаться софтопроблем, насколько дешевле выходят сами чипы?
>>224862Эти чипы в большинстве своем в bga корпусах. И доков нихуя нет, хуй подключишь, хотя toolchain-ы/sdk для компиляции часто имеются.
>>224868http://mediatek-club.ru/load/for_repair_phones_mediatek_datasheets/datasheet_mediatek_mt6572/4-1-0-69Ну вот есть pdf с разводкой. Для внутренностей можно поискать на гитхабе патченые ведроиды, китайцы часто выкладывают.
>>224870> Полный даташит> 17 страниц картинокСынок, ты качни даташит на сраную АВР-ку 328 и охуей от объема.
>>224874Я не говорил что это даташит. Тем более что полный.
>>224875
>>224870>Для внутренностей можно поискать на гитхабе патченые ведроиды, китайцы часто выкладываютНапример?
>>224876Зануда, плиз.
>>224877https://github.com/drsami/mt6572_kernel
>>224862>Ну вот например MT6572, я могу купить за 500р на алиЕсли разработаешь схему, разведешь pcb, то будет еще один одноплатник типа raspberry или banana orange.
>>224881А какие сейчас цены на распберри и прочее? Есть смысл? Я слышал краем уха что дороговато выходит, около 3-4к рублей. Но их там наплодили уже хуеву гору, вероятно и убер дешёвые варианты есть. Я не занимаюсь этим, не ориентируюсь совсем, что там как сейчас?
>>224883Самый дешевый, что я видел это 14$ orange pi one http://ru.aliexpress.com/item/Orange-Pi-One-ubuntu-linux-and-android-mini-PC-Beyond-and-Compatible-with-Raspberry-Pi-2/32603308880.html
>>224884А чем можно флопсы замерить? У меня вот есть ведроид, и есть дискавери с STM. Есть какие-нибудь бенчмарки на сишечке? Чтобы скомпилять со всеми возможными оптимизациями, запустить и замерить время.
Кажется понял всё. Смысла нет, так как тот же allwinner h3 идентичный по параметрам, док дохуя, такой же mali400 gpu на борту, только это уже превратили в orange pi и сделали нормальную периферию без лишних модемов и прочего.По производительности с кремнием такое дело, что удельная производительность (флопсы/цена) сильно падает с понижением класса устройства. То есть чтобы рендерить что-нибудь или видео обжимать лучше раскошелиться на сервер на зионах. Класс ниже это обычный пека. Ещё ниже это платы на атомах. Дальше спектр малинкоподобных плат. Дальше уже микроконтроллеры. То есть собирать кластер микроконтроллеров абсолютно бессмысленно и подбирать их нужно впритык к потребностям, чтобы в один контроллер влезло всё сразу.
>>224867>Но в пересчёте цены на производительностьДа я лучше заплачу на 300 р. больше, чем буду ебаться с говном без доков. Есть же TI или Analog Devices. Разница в цене это и есть оплата за техподдержку и документацию.
>>224890>То есть чтобы рендерить что-нибудь или видео обжимать лучше раскошелиться на сервер на зионах. Есть такое понятие как оптимизация. Это означает как бы ты не гнался за гигагерцами процессор может просто не осилить твою задачу. Пример: процессор выполняющий операции умножения в один такт, но с меньшей частотой может выполнять операции умножения быстрее чем всякие гигагерцовые без аппаратного умножения, так как тот будет многократно складывать и терять такты.
>>224932Ну всё не так просто. Мы слишком слабо информированы насчёт устройства конкретных процессоров чтобы утверждать наверняка. Мне кажется что умножение всё-таки в современных процессорах таки быстрое. Насколько помню, там что-то вроде школьного "в столбик". Строки можно параллельно посчитать, а следующими тактами просуммировать. Сомневаюсь что например в видеокартах это как-то иначе работает. В процах внутри умножители частоты могут стоять в любом месте.
>>224928Ну так-то да. Но всё-таки цена тоже многое решает. Например ту же малинку никто бы не покупал если бы она не перевешивала по цене. Никому не интересно навороченные малинки, приближающиеся по возможностям к пека, но вот когда выходят совсем дешёвые платы, сразу ажиотаж.
>>224933>Мы слишком слабо информированы насчёт устройства конкретных процессоров чтобы утверждать наверняка.Вы - да, мы - нет. >Насколько помню, там что-то вроде школьного "в столбик".Похоже, но не совсем. Посмотри как работает современное АЛУ. Есть АЛУ для работы с плавающей точкой.
>>224935Я-то думал мы о целочисленном умножении. Ну да ладно. Для меня в принципе не новость что далеко не все операции однотактные. Ну кроме всяких экстремальных RISC процессоров. Но вот например в случае зиона частота (хотя в последнее время уже латентность, а не частота) оперативки намного ниже частоты проца. И тут какбе хуй знает где у него реально будет ботлнек. Те же видеокарты, в них ядер много, но они простые как пять копеек, да, вероятно они умножают за такт и работают на частоте пониже, но они обрезаны оче сильно, ветвления всё. И насчёт вы да мы нет я готов поспорить, ибо внутри это умножение может произойти за множество внутренних тактов, при том что внешне был всего один.
>>224936Да о целочисленном сложении, а плавающая точка просто как пример что и такое бывает АЛУ.>внутри это умножение может произойти за множество внутренних тактов, при том что внешне был всего один.Да так и есть. Я просто говорю о том что есть инструкции, без которых, какая была бы частота, проц может обрабатывать всё равно не быстро. Вот пример оптимизации Nvidia Quadro - вроде быстрая для работы, а для игор не подходит.
Ананас, вот смотри, говнокодил я под армы в кейле и в ус не дул, а теперь мне говорят, мол, хуйня это всё - Кейл свой код добавляет в проект, так что нинужно. И библиотеки не нужны, ебашь всё сам. Инициализация периферии и работа с ней - понятно всё, заголовочные с регистрами тоже понятно, к тому же никто не мешает посмотреть в похожих/таких же точных процессорах. Но вот чего я не пойму пока - как работает стартап-файл, и что в него писать? Вот хочу я сам целиком проект сделать, как написать стартап?
>>225038Открой да посмотри чего в нем. Ассемблерная хуета - таблица векторов прерываний, размеры стека, и еще чота.
>>225040Кейл там начальную инициализацию проводит вроде и (про крайней мере, если использовать rtx) вызов своей какой-то функции __main(), а после уже вызывает мою. Откуда конпелятор будет знать, что программа должна начать выполнение с этого кода?
>>225038>мне говорят, мол, хуйня это всё - Кейл свой код добавляет в проект, так что нинужноКто тебе такую хуйню сказал?
>>225072Коллега, который давал задание. Алсо, сейчас глянул - там вроде ничего лишнего нет, инициализация написана на C и просто вызывается перед __main(). Но вопрос мой остается - откуда я должен взять инфу о том, как выглядит стартап-файл? Вот если у меня кроме IAR нет нихуя под рукой, там же в ней самой вроде ничего нет.
>>225074>как выглядит стартап-файл? Нахуя их вообще писать? Тебе программисты всё написали, а в stm32fxxx.h там почти одни дефайны, нихуя там в код не лезет, а какой-то коллега-юзер который просто берет то, что дают, говорит что инженеры сделали неправильно.
Хочу вкатиться в мир ARM, CooCox годная IDE?
>>225074Байтоёб дохуя?
>>225077Ну погоди, а если у меня нет готовых библиотек? В том же IAR нихуяшеньки нет ведь. Я, видимо, чего-то не понимаю с этим стартапом. В iar размер стека и кучи настраивается в конфигурации проекта, тогда, получается, стартап-файл можно вообще выкинуть?
>>225080Только емах, только хардкор.Все остальное изъебы школьные Попова.
>>225096Вот же ленивое мурло, а! https://community.arm.com/docs/DOC-8769
>>225111Ниудобная хуита, фу.
>>225096Если нет готовых библиотек то их должен тебе дать производитель контроллера. Или можно посмотреть Datasheet и там написаны все адреса, дальше делаешь дефайны и вот ты написал. Без CMSIS ты должен будешь работать с голыми регистрами, дефайны - это просто приведение соответствий для программиста. Ни в какой код эти дефайны не компилируются. В IAR не работал, но> размер стека и кучи настраивается в конфигурации проектаВсё что настраивается где-то оно в воздухе не висит, оно тоже куда то всё пишется, разве нет?Если хочется поебаться. Вот асм код майна:AREA |header code|,CODE,READONLYENTRY EXPORT __main__mainRCC equ 0x18main MOV32 R0, RCC MOV R1, #1 STR R1, [R0] END В любом случаем, нужен SystemInit, core_cm3, stm32f10x.hИли подключай их или на асме пиши инициализацию.
>>225116>В любом случаем, нужен SystemInit, core_cm3, stm32f10x.h>Или подключай их или на асме пиши инициализацию.Посмотрел, без этого всего работает тоже, если стартап подправить, так далеко конечно я не углублялся, не знаю, на сколько это чревато.А вообще нахуя это тебе всё?
>>225068Это должен знать линковщик. Читни доки гцц, особенно асм и линкер. Там вкрадции написана вся суть в общем. Линковщик знает, что нужно начинать с асмофайла стартапа, так как ты руками указываешь его
Посоны, а есть подробный, не самый нубовый гайд как (с помощью желательно генты и crossdev) на gcc и официальных заголовках от st таки замигать светодиодами? Я попердолился, почти получилось, но сборка очень увесистая выходит и не мигает, только первое включение/выключение происходит.
Qt Creator лучше или хуже кейла?
>>225424Не хуже и не лучше, он просто другой.
>>225424это разные сорта говна
>>225424Под гцц?Аноны, помогите настроить куте под компилятороотладчики ворованного иара, ибо он мне нра, но вот среда лютое говно говна.
Посоны, а clang ещё никто не пробовал?
>>225113Благодарствую.>>225116Что такое макросы и как с ними работать я знаю. Вопрос был про стартап.>Всё что настраивается где-то оно в воздухе не висит, оно тоже куда то всё пишется, разве нет?Да, у IAR это конфигурационный файл в папке с проектом, в котором написано сверху капсом "НЕ ВЛЕЗАЙ, УБЬЕТ!" В кейле это в стартапе настраивалось. Для сравнения в Atmel Studio по-моему вообще в дикие ебеня надо лезть, чтобы задать руками размер стека/кучи. Но там тоже был какой-то стартап на асме написан.Глянул у коллеги проект - там ничего такого нет, о чем написано тут >>225113. Получается, стартап - опциональный файл, и на него можно положить болт? Но его можно использовать, если программа лежит во внешней памяти, чтобы загрузить её в sram, например? >>225445В чем аноны пишут/отлаживают под мк тогда?
Как зарабатывают нынче ARM-щики, есть ли среди вас фрилансеры или кто-то со своими проектами?рандомпик
>>226207В чем профит заливки земли подобной решеткой в отличии от сплошной заливки?
>>226233Такую заливку легче сделать ЛУТом. У ЛУТА вообще проблемы с большими сплошными полигонами
>>226249>У ЛУТА вообще проблемы с большими сплошными полигонами А в чем проблемы? Я наоборот думал для ЛУТ большие полигоны как раз лудше.
ЛУТ тут не причем. Такая заливка есть во всех редакторах, значит зачем-то она нужна профессионалам.
>>226304Ёмкость-индуктивность меньше, не?
>>226305>Ёмкость-индуктивностьНу не знаю, этож земля. Могу предположить, что размер ячеек сетки может быть связан с частотой на ВЧ схемах.
>>226314Для СВЧ мы обычно отступали от полосков 2-3 ширины полоска, дальше была сплошняком земля с частыми отверстиями переходными в шахматном порядке на обратную сторону, которая тоже целиком была залита землёй. Но это во всяких аналоговых схемах. А вот решетку такую я нигде не видел ещё.Да и вообще за ЛУТ у нас обоссывают, даже если для нч.
>>226396>за ЛУТ у нас обоссывают, даже если для нчНу это слишком уже. Не у каждого же дома есть конвейер оборудования вместо утюга.
>>226396>Да и вообще за ЛУТ у нас обоссывают, даже если для нч. >у насУ элитных долбоебов?
>>226405Ну тазик с каустикой и УФ-лампа для засветки фоторезиста условно тоже может быть у всех.>>226305Но ведь погонная индуктивность и результирующий импеданс такой сетки будет больше.
>>226289>А в чем проблемы?Встречал объяснение, что на больших участках со сплошным заполнением принтер, пользуясь особенностями зрительного восприятия человека, хитрит и набирает меньше тонера.>>226304Предположу банальную экономию меди там, где полигон по каким-то причинам всё-таки нужен.
>>226396>Для СВЧ мы обычно отступали от полосков 2-3 ширины полоскаТо есть импеданс на глазок подбираете?
>>226421Фоторезист надо ждать пару месяцев, пока слоупочта довезёт. А рулон факсовки или кальки в ближайших канцтоварах лежит.Мимо из сибирского райцентра
>>226426>банальную экономию меди там, где полигон по каким-то причинам всё-таки нужен.Наркоман? По-твоему, медь на полигон наносится, а не стравливается со сплошного слоя?Экономят как раз травильный раствор, и для этого иногда все промежутки между проводниками заполняют медью, насколько это возможно. Ну и ещё баланс меди на внутренних слоях МПП выполнять надо для лучшей межслойной адгезии, там тоже заполняют свободные от проводников участки полигонами, которые не подключены ни к чему. Причём обычно там применяют "сетку наоборот" для минимизации роста паразитной емкости, то есть массив разделённых медных квадратиков с протравленной между ними сеткой.
>>226405Я тоже не понимаю, чем ЛУТ плох для всякой хуйни в домашних условиях. Почему-то считают все, что даже макетка лучше, чем ЛУТ. А на макетке иногда какая-то хуйня лютая творится - прилепили GPS/ГЛОНАСС модуль туда и поставили рядом батарейку. Я так обрадовался, что с батарейкой не надо полчаса ждать после включения, пока он положение определит своё, а позже оказалось, что батарейка там была не припаяна никуда. Как он при этом работал - хер знает, лол.>>226415Нет, в лаборатории СВЧ.>>226430Не на глазок, но меня тоже удивляло, что всегда расстояние между полоском и земляным полигоном 2 ширины полоска, а если плата позволяет, то 3, а не какое-то определенное значение из того же AWR, например.А вообще я к СВЧ мало отношения имею, по большей части пишу под мк, но когда-то было дело.
>>226421Во, кстати, проясните за фоторезисты. Что лучше что хуже, тонкие какие-нибудь, или где читать про них.
>>224862Я слышал, что сим карта это тоже процессор, и из него можно зделать компьютер.
>>231916> из него можно зделать компьютер> И ебашить в четвёртый фоллач на максималках.Блядь, школьники уже даже про педивикию не знают? > слышал> сосед сказал когда я у него хуй сосал> слухи ходятhttps://geektimes.ru/post/93210/
>>187056 (OP)бамп
Поясните вкрадцыи накатку линукса. Сколько пзу, озу, какой дистрибутив?
>>235274Хватит 8 озу и 2 пзу
>>235314его 8 то?люниху и 512 озу хватит за глаза
>>235424Если на нём ничего не делать, ему и 128 хватит.
>>235424512 кб?
>>235495640кб хватит всем навсегда
>>235484А если не включать?
>>235424Метров? Этот ваш ссш еще надо поднять.
>>235526telnet
Puppy Люних на EEE PC 701 с 512Мб ОЗУ оче бодро крутился в свое время (и вебсерфинг и ссш и много еще чего)
>>235274> Поясните вкрадцыи накатку линукса.Поясняю: шел бы ты отсюда, петушок.> Сколько пзу,Минимум два мегабайта.> озу,32 мегабайта. Потом, возможно, получится ужаться до 16 или даже до 8 мегабайт, но до этого счастливого момента надо ещё дожить.> какой дистрибутив?http://www.uclinux.org/
>>235696Это же какая-то хуйня, о которой никто не слышал.
>>235696Предположу, что сайт крутится на микроконтроллере?
>>235732Ну извЕни. Юниксы на системах без MMU в принципе живут (наиболее известные примеры: микрософтовский Xenix и RetroBSD — современный порт 2.11BSD на PIC24), но OCHE KHUEVO.
проще свою ось простенькую написать под юних как это зделал шведцкий студент в 1991
>>235765>ось написать под юнихшто блять? кто юникс?>шведцкий студент в 1991это кто?
>>235765>прощепроще чего?
>>235771проще чем ипаться с установкой люниха.>>235768Швед Люникс Торвальдс изобрел люних в 1991 для х86. Сильно юних хотел на своем 386-ом, а был только МС-ДОС. Следуя пути финского студента проще для этого контроллера с АРМ написать ОСь с юних идеалогией.
Да кстате в 2010 вроде был наш русский выпускник уральской школы Попов, он тоже свою ось написал с офисом и антивирусом. Но ФСБ быстро почикали гения и превратили все в банальную комедию. Все блядь засекречено со времен совка, потому и развития никакого нет.
>>235784финский швед написал ос под юникс?ну ты пиздец шизик
>>235797>ну ты пиздец шизик Физик, а не шизик. Русские физики выбирают Slackware
>>235784>проще чем ипаться с установкой люниха.Если для тебя установка люлиха ето сложно, то юникс ты не напишешь.
>>235799>не шизикhttps://www.youtube.com/watch?v=P0MsDl39UL0https://www.youtube.com/watch?v=naORDnsiht4https://www.youtube.com/watch?v=GXrc8Gnr5cI
>>235808Чем знаменит?
>>235801да да надо с установки начинать, всегда завидовал тем людям которые сами венды и програмы на комп устанавливали
>>235831Автор самописной ембеддед ос TempleOS, полного спектра приложений и игор к ней. Шизофреник со справкой.
>>235849жаль не для stm32, а так был бы знатный шизик
Господа, подскажите ньюфагу, собрался вкатываться в этот ваш арм inb4: выкатывайся нахуй, какой из стульев выбрать STM32F407G-DISC1 или STM32F429I-DISC1? Какие подводные камни?
>>235913Бери с дисплеем, очевидно
Не могу понять как начать писать для кортехов на опенцм3, подскажите где можно глянуть инструкцию для совсем дибилов.
>>235913> ньюфагу> STM32F407G-DISC1> STM32F429I-DISC1Выбирай вот этот: http://www.hotmcu.com/stm32f103c8t6-minimum-system-board-p-246.htmlНу или готовься к пердолингу с паяльником: http://www.yuriystoys.com/2012/02/using-stm32f4-discovery-on-breadboard.html
>>235920пишу для кортексов, но что такое твой "опенцм3", вообще не понимаю.Перефразируйте вопрос, пожалуйста.
>>235920>опенцм3зачем сразу начинать грыздь говно, когда есть мочаchibios.orgвот под stm32, никакого посикса потомучто автор не шизик, с ним можно даже попиздеть на форуме, нормальный адекват, наса уже приглядывается
>>235913>>235918А нахуя с дисплеем? Чтобы мигать лампочкой и пялиться в неподключеный черный экранчик? Очевидно, нужно брать без дисплея.
>>235978Он про вот это: http://libopencm3.org/wiki/Main_Page
>>235979>никакого посикса Как будто что-то плохое.Рикамендую eCos, там есть посикс и оно спортировано на stm32.
>>235982да плохое, поддкржка посикса при прочих равных условиях потребут увеличение потребляемых ресурсов, если нужен посикс то лучше тогда взять ос где это действительно хорошо реализовано в томже линуксе
>>235978А на чем пишешь, хал + спл?
>>236011>на чем пишешьНа хелловорлдах ЛОЛ.Если серьезно, то все эти CMSIS, HAL или SPL библиотеки - и есть примеры кода работы с железом. Использовать их "как есть" можно лишь в учебных целях.
>>236026>CMSIS, HAL или SPL библиотеки - и есть примеры кода работы с железом>учебных целяхЕще один асмоголик
>>236026У тебя колесо велосипеда спустило
>>236026Очередной велосипедостроитель, ясно-понятно.
>>236036>>236047две рюмки. Чем свои махарайки паять и код пердолить, купил бы лучше готовое изделие. Тогда мог бы пивко пить и с тяночками гулять.
>>236035вся эта стм си поебень меняется год от года, а асм и понимание внутреннего железа дает ясность в голове. причем можно понимать тащемта пик16 или 18 и быстро вникать тащемта в стм8. читнуть дашит и все, ну на край програмер мануал
Самый оптимальный вариант на данный момент времени это ПЛИС. Все адекваты пересели уже. Сам программируешь себе железо и программируешь на это железо ОС.
>>236058Сразу и говори, что скорость разработки не завезли и ты работаешь в эру 8 Кб.
>>236061Прогорел с этого плисовода, задачи у МК и ПЛИС разные и практически не пересекаются а скорее дополняют друг друга.
>>236068Месяц назад мигал светодиодом, сегодня обновил проект через STM32CubeMX, функции VPC месяц назад назывались иначе и в параметрах передавались не структуры а указатели только.Буду задрачивать асму
конечно есть стойкое желание обмазаться 16 бит
>>236075> обмазаться 16 бит WUT? Чому не 32?
>>23611632 сложно для меня (ударился рогом об STM32) мне бы чего-нибудь наподобие PDP-11
>>236134http://simh.trailing-edge.com/
>>236072Не имеет смысла. Любой настоящий разработчик под арм знает даташит периферии, но зачем писать на асме, когда придуман си и хал? В хале самый периферийный низ есть по сути запись числа в регистр модуля, и выигрыш по скорости работы, если этот код написать на асме, нулевой. И си, при этом, ускоряет разборку, и за t времени на Си ты напишешь и отладишь более качественно, чем на асме
>>236177я не промышленный программистУбежден, что пока ОСь находится уровнем не выше CP/M код обязан быть на асме
>>236182>Убежден, что пока ОСь находится уровнем не выше CP/M код обязан быть на асме Религиозная догма
>>236072>функции VPC месяц назад назывались иначеЭто откуда? cmsis, spl?
>>236182> Убежден, что пока ОСь находится уровнем не выше CP/M код обязан быть на асмеКому, блядь, обязан?!P.S. Это не говоря уже о том, что сама CP/M была написана совсем не на ассемблере: http://www.computerhistory.org/atchm/early-digital-research-cpm-source-code/P.P.S. И не говоря о том, что такие говномониторы давным-давно никому не нужны.
>>236205Я понимаю священную войну между си и асмом при программировании тащемта дров виндовза.
>>236224А теперь переведи свою фразу на русский язык.
>>236233это не фраза, дебил, это предложение.Для контролера среднего уровня вполне достаточно ассемблера, для МС-ДОСа достаточно ассемблера, и на асме программы понятнее. Для модулей ядра ОС Виндовс и Линупса оптимально использование Си.
ПриФФки все в этом чятике. Хочу собрать свою мигалку светодиодом на МК. Но вот незадача, у меня отсутствует программатор. И из этого вытекает два тупых вопроса.А) Есть ли какие-то проги эмуляторы програматоров, чтобы просто припаять проволки от USB к ножкам МКБ) Как отреагируют в магазе, если я попрошу у них подшится и если положительно, то за какую плату.
>>187072Бамп
>>236254>МС-ДОСАВсе понятно, не продолжай
>>236292памяти катастрофически мало и ног мало
>>236254какой самый сложный проект ты выполнял на МК?
>>236254Асма достаточно для любой задачи программирования, но, как говорят, жизнь слишком коротка.
>>236361ну смотря что понимать под задачами программирования. В настоящий момент это выпустить продукт в установленные сроки. В чем асм проигрывает.
>>236362>выпустить продукт в установленные срокикопроэкономикаhttp://2k.livejournal.com/520078.html
>>236254Ну вот например мне дали найти ошибку в работе мышки, мозг которой был написан другим человеком на асме. Сидел два дня в поиске проблемы, полностью изучил асмо-код. Что тут можно сказать? Если бы код был на си не было компилятора под архитектуру, сам его написать я не смогу, на поиск проблемы было бы затрачено раза в 4 меньше времени, да и разработчик врядли бы допустил этот баг. Выигрыш от асмы взачастую в размере прошивки, а не в скорости работы, а нахрен нам делать 1кб асмокода вместо 2 кб сишного, когда памяти на 16?
>>236254> Для контролера среднего уровня вполне достаточно ассемблера, для МС-ДОСа достаточно ассемблера, и на асме программы понятнееНу как там, в первой половине девяностых? Всё ещё сидите на 8048/8051/Z80 или уже пики появились?
>>236462так-то я на ардуино разрабатывал, повышаю уровень перехожу на арм-процыки, за деньги никогда не програмил, чисто для души
>>236471вот в этом и проблема, то что ты ничего сложного и не разрабатывал. Где нужно что то отлаживать тестировать, когда несколько человек работает над проектом и тут ты понимаешь зачем тебе IDE и зачем нужен Си. Но с видом экспеперта делаешь заявления типа(думаю это ты написал):>Для контролера среднего уровня вполне достаточно ассемблера, для МС-ДОСа достаточно ассемблера, и на асме программы понятнее. Для модулей ядра ОС Виндовс и Линупса оптимально использование Си.Так же как и анон выше говорил что HAL ему не удобный, еще как удобный если ты понимаешь Си и в состоянии читать на английском. За 5 минут копания в библиотеке можно въехать чего они там поменяли. Ассемблер это лишнее байтоебство, на котором надо сделать пару упражнений и отложить в сторону. Тем более для АРМок где памяти куча обычно. К слову сказать компиляторы достаточно хорошо все сейчас компилят и код получается не таким уж и раздутым, сомневаюсь что если ты будешь писать на АСМе что то то большое у тебя получиться в лучшем случае на 10-20% меньше.
>>236476я свою мультизадачную ось на меге пилил если что
>>236477нунуну, пруфанешь?
>>236483пpoeбaл диск с сорцами, все на двд сбрасывал винты сериалами забитыКстате какое ИДЕ можешь посоветовать, какое самое годное для работы с STM8В обычной жизни доставляло NetBeans
>>236489>пpoeбaл диск с сорцами, все на двд сбрасывал винты сериалами забитыпонятно.>Кстате какое ИДЕ можешь посоветовать, какое самое годное для работы с STM8ну у нас юзают IAR, вполне себе норм
>>236489Юзаю ST Visual Develop с компилятором от Cosmic, ну как юзаю, пару примеров скомпилировал и залил. Лол.
>>236509у них там отдельная оболочка программатора, ты ее не юзал часом? или сразу из редактора заливаешь
>>236483Не думай, что там что-то умное дохуя, там курсачмимо
>>236510Через неё и лил. Из редактора чот не захотело заливаться в мою stm8l-discovery
>>236517Где брал такую плату?Хочу две себе таких.
>>236656В Терре, 2 года назад.
>>236656Там свободных GPIO нет, всё на индикатор ушло.
Не понимаю споров ASM-vs-C.Привыкнув к АСМу ты становишься узким специалистом, и хуй перекатишься на другое ядро, 8051->PIC ->AVR->etc. Да хоть бы и между arm и thumb уже сложно будет переключаться.Будете долго смотреть в систему команд, а на Си дело делать можно сразу.
>>236691Мне Пистон больше доставляет, жду время когда портируют на ардуино. На интел эдисоне питон стоит и больше смотреть на Си не могу. Да и Си на самом деле от ассемблера не далеко ушел.
>>236688Какую плату STM8 купить и где, посоветуй пожалуйста
>>236696http://www.st.com/content/st_com/en/products/evaluation-tools/product-evaluation-tools/mcu-eval-tools/stm8-mcu-eval-tools.html?querycriteria=productId=SS1673Выбирай какая подходит и ищи у наших или забугорных продаванов.
>>236703Посмотрел это понравилось, но максимум денег у меня 1Крублей
>>236717ЧиД охуел, она на сайте st 199 баксов стоит, нихуя их понесло.
>>236719>199 баксов>>236717>22килорубляВы вообще охуели там чтоли? Пиздец пиздец!1Я до сих пор помалкивал, но теперь не могу. Ну нахуя вам эти vendor-locked STM8, AVR или PIC ?Ведь есть же Арм и Кортекс. С которыми, когда хочешь, перекатываешься между конкурентами: AT91 -> LPC -> KINETIS -> STM32 -> SAM3/4,а инструменты JTag-адаптеры, компиляторы, IDE остаются.Вы вот скажите, что в этом STM8 есть, чего нету в младшем Cortex M0 STM32 ?
>>236789>Ведь есть же Арм и Кортекс. >Арм и Кортекс. >Арм>и Кортекс. Сразу видно спеца
>>236789Ты чего воспламенился? Eval-платы у стм-а дорогущие и нахуй не нужны обычному юзеру. Берешь Дискавери за тыщу и радуешься жизни.
>>236819>Берешь Дискавери за тыщу и радуешьсяДа!Но что заставляет людей обращать внимание на эти AVR/PIC/STM8 или другое восьмибитное говно?>>236811Что сказать-то хотел?
>>236824Простота. Ресурсов хватает для применения в довольно серьезных поделках. Непонятна ценовая политика производителей, когда 32-битный MK ARM стоит дешевле 8-битного. Я вот понабрал себе всех мастей, но пока мозгов хватает "разобраться" с AVR, потом перешагну на STM8, а потом дойду (надеюсь) до stm32f429 и собранной на ней дискавери.
>>236819>. Берешь Дискавери за тыщуЯ лучше rpi возьму и еще останется
>>236825>Простота. Ресурсов хватаетМикроконтроллеры это проц плюс периферия. Работа с периферией везде одинаковая: пишешь настройки в регистры - ведешь обмен данными через другие регистры, и возможно получаешь переходы на функции прерываний.Хочешь сказать, от процессорного ядра зависит сложность освоения или сложность разработки? Мне приходилось применять микроконтроллеры семейства i8051, и на мой взгляд ARM/CortexM нисколько не сложнее. Плюс вижу в том, что освоив однажды программирование процессорного ядра ARM, становится возможным выбирать между изделиями любого производителя.>Я вот понабрал себе всех мастейНо ведь для каждого семейства нужно будет покупать/паять программаторы, искать компиляторы и среды разработки, осваивать. Это требует времени и сил.Смысл в этом могу разглядеть только один - расширение кругозора, туризм, развлечение. Типа "а сейчас сходим посмотрим как там в мире stm8".
господа, подскажите нубу-тянке. была плата stm32f407discovery, сделала прошивку, все пашет, збс. Сейчас закупили stm32f407disc-1 блеат, так я их даже прошить не могу! драйвера может нужны другие? или st link v2 не годится? Сорян если туплю
>>236891Где-то тупишь, st link v2 для всех 32-битных идет. Подключись с программатора stm32f407discovery, проверь.
>>236899посмотрела, дело реал не в stlink. разъем раздроченый был просто. Но теперь проблемка похуже. платка заводится от юсб, лампочки мигают вся хуйня, режими переключаются, переношу на макетную плату, где питание 5В напрямую подается, нихера не пашет..http://forum.easyelectronics.ru/viewtopic.php?f=35&t=26853&p=450407 вот как тут все прям, откусила резистор к херам, не помогло
>>236907> посмотрелаДа ни в жизнь не поверю, чтобы тян контроллерами страдал.
>>236907А если юсб не в комп, а в зарядку воткнуть, пашет?
>>236916я тян хочу стать, на операцию коплю, в душе я тянка
>>236939
>>236789Kinetis лучше всех чисто из-за криптографии
>>237099>KinetisНаконец-то переключаешь билд с Debug на Release@оптимизатор выкидывает cfm@проц в мусор
>>236921нет! мне что то кажется на stm32f103 прошивка косячная забита. прифигачила на nrst и Vdd rc-цепочку, теперь кое как пашет, но конечно надо чтобы импульс прямоугольный был
>>236916тян страдает) видишь же, на каком все уровне(
>>187056 (OP)Ананасы, хочу прикупить себе Beaglebone black на что-то подороже денег не хватает, хотя очень хочу купить какую-то DSP-платку с кучей разной периферии, чтобы в полной мере обмазываться матаном и дрочить, однако увидел, что есть еще модификация Green Wireless, в которой нету нахуй не нужного hdmi, зато есть беспроводные интерфейсы. Единственным минусом есть то, что платы разводит какая-то непонятная фирма seeed studio. Кто-нибудь покупал у них платы? Какого они качества? Стоит ли покупать этот Green Wireless вместо менее функционального, но гарантированно качественного Black от Texas Instruments?
>>237438Seeed studio нормальная контора, я у неё несколько раз заказывал платы, делают хорошо и дешево.В Green Wireless еще нет флешки на борту.
>>237468>В Green Wireless еще нет флешки на борту.Что за флешка? EEPROM?
>>2378724GB emmc.
Если я сделаю отдельный тред, где я на stm32f030 буду ваять самодельные часы с блекджеком и шлюхами с постоянным отписыванием своей бесполезной деятельности - как быстро меня забанят и тред потрут? Стоит это говно вываливать сюда тогда сразу?
>>238598Отписывай на каком-нибудь блогспоте или вордпрессе, а сюда заманушные фото скидывай. Ту все равно потонет в куче бесполезных сообщений.
>>238622Похуй вообще, мне лень регистрироваться где, а тут все мои друзья.
>>238624Тогда ебашь в отдельном треде и моли мочу шоб не потерла. Или обзови тред - "Свистелки и перделки молодых и дерзких" и пусть там аноны хвастаются своими йоба-махарайками.
>>238624Дублируй и там и там. Регистрироваться пять минут, на wordpress.com себе стандартный блог заведи. Или вообще на ЖЖ лол. В соцсетях обычно тонет.
>>238624Если у тебя есть гуглоакк для ведроида, то в блогспот тебе только войти нужно. Включишь сокрытие мыла и никто тебя не сдеонанизирует.
>>238511а, еба, но ведь поддержка microsd все-равно есть, так что вообще похуй.
Господа ARMщики, есть ли какой то стандарт под то как надо писать драйвера для дисплея,что бы на Линуксе взлетело без подводных камней?
>>239636Берешь и пишешь модуль ядра Линукс, все исходные коды в открытом доступе. Хотя да нвидиа свои дрова в бинарниках распространяла
Пацаны, вот есть камера, которая по выходящему с нее клоку в 24 МГц выставляет параллельно байт данных. Как оценить необходимое быстродействие МК для того, чтобы получить с неё кадр? Получается, что на каждый такт с камеры мк должен выполнить операцию считывания и записи этого байта плюс инкрементировать указатель на следующий элемент. Но там же ещё по несколько тактов на прочую хурму уйдёт. Выходит, что понадобится МК с частотой раз в 10 больше, ведь так?
>>239652> понадобится МК с частотой раз в 10 большеstm32f4 180MHz
Анон, вкатываюсь из ньюфаг-треда. Хочу замутить часики прикольные.Есть тёплый ламповый дисплей и контроллер PIC18F252. А вот чего нет - так это желания читать тонну мануалов.Помоги мне разобраться со всем этим: контроллер - как проверить его, живой или нет. Где поискать туториалы для нубов? С какой стороны вообще начать программировать эту штуку?
Стоить разбираться с Дуал_АЦП, или тупо две отдельных ноги с разными АЦП и так норм?Как вообще грамотно с двух источников одновременно сигнал оцифровывать?
>>239717Мамкины программисты разбежались, никто не хочет помогать.
>>240485что за студия у тебя?
>>240556coocox же, не?
>>240556Что такое "студия"? Первый раз пробую написать программу для контроллера, не в курсе местных мемов.Туториалы здесь хорошие: https://electrosome.com/category/tutorials/pic-microcontroller/mikroc/
>>240757Одну студию только знаю MSVS, кстатеНа ютабе один вадим в своих видио Keil и stm32cubemx студией называет, возможно так и естьПо PIC есть книжка Санчоса 2007 года лютая годнота
>>239636В ведро не так давно приняли проект fbtft теперь он в стейджинг https://github.com/torvalds/linux/tree/master/drivers/staging/fbtftТам дохуя дров под spi и параллельные мониторы. Сам юзал, все работает.
>>187056 (OP)Хочу купить stm32 discovery и программировать его, сидя дома перед компьютером. У меня, кроме пеки, ничего нет- ни проводов, ни паяльника, ни резисторов. Сейчас нахожусь в дс, но скоро уеду обратно к себе в мухосрань, там это все сложнее достать. Что нужно купить, чтобы без проблем собирать различные девайсы? Каких-то практических целей не преследую, просто хочу научиться работать с микроконтроллером.
>>242120Удваиваю вопрос. Недавно заказал STM.
>>242050Даже писать ничего не надо, благодарствую.
>>242120Соединительные провода возьми подходящие, чтоб не паять периферию (dupont female female)http://ru.aliexpress.com/item/40pcs-dupont-cable-jumper-wire-dupont-line-female-to-female-dupont-line-20cm-1P-40P/32481623557.html?spm=2114.03010208.3.11.9AEKlZ&ws_ab_test=searchweb201556_0,searchweb201602_5_10039_10048_10047_10017_405_404_407_10046_10045_406_10040,searchweb201603_8&btsid=af82167d-58fe-4e60-8a5f-25dbca6679c9Только смотри не перепутай, если на периферии стандартная гребенка контактов (как на самой дискавери), то провода female-female нужны, иначе не сунешь палку в дырку.
>>242171А к чему второй конец джамперов подключать? Нужен специальный программатор с USB?
>>242172>программатор с USBЗачем? Коннекторы - это если ты периферию какую-нибудь захочешь подключить к дискавери, если хочешь только с самой дискавери работать тебе ничего кроме мини-юсб не надо. Как бичпакет - открыл и готово.
>>242172Если будешь использовать дюпоны - тебе придется купить несколько планок PLS/PBS, по крайней мере чтоб не паять саму дискавери, к ним же тогда есть смысл взять несколько макетных досок. В случае с дюпонами лучше бери полный набор MM,FM,FF 120шт суммарно, так получишь универсальность. Но это всё опционально, самое простое чего тебе будет достаточно - моток мгтф-а 0,2мм , кусачки маникюрные с фикспрайса, банка лти/глицерин, пос61 и эпсн ватт на 25 с набором напильников. можешь взять термоусадки подходящего размера. Кроме того, имеет смысл раздобыть USB-UART переходник.мимокатился
>>242176> USB-UART переходник.Зачем? Дискавери шьется через swd. Выводить инфу проще сразу на ее экран, без всяких путти и уартов.
>>242174О какой периферии идет речь? Порты ввода/вывода, АЦП, счетчики и так на плате есть. Вообще я бы хотел побольше возможностей опробовать. Провода, паяльник или еще что-то не проблема купить.
>>242120Купи всяких датчиков и серв с шаговиками. Начинать проще с пердуины, я со старта прихуел от замороченности stm32f429i-discovery
>>242179Там того экрана, только текущие показания отрисовать.
>>242180> хотел побольше возможностей опробовать.Бери помощней версию, чтоб сразу с акселерометром, дисплеем и т.д.
Оттакую например.Всего 79 дораров
>>242180Ну, любая хуйня для АЦП/ЦАП (фотодиод, светодиод, лазер, датчик температуры etc), сегментные дисплеи, дополнительные кнопочки или даже клавиатуры, подключение FTDI как сказал >>242176-анон, ибо прошивать это хорошо, но знать интерфейс еще лучше и наверняка ты захочешь связь контроллера со своим приложением на компьютере, через юарт это проще всегоМиллион всего можно подключить к контроллеру.
>>242181Пердуина - для детей, не порти анону представление о реальном программировании контроллеров
>>242192Алсо, я начинал именно с 429, до этого вообще не программировал контроллеры. Да, местами надо мозг включить, зато потом охуеешь от того, что смог.
>>242181Пакеты основных элементов продаются где-нибудь? Или пойти в радиомагазин и набрать что приглянется?>>242189Получается можно или контроллер сразу дорогой взять, либо взять попроще, но датчики и кнопочки отдельно докупить?
>>242192
>>242193Я как раз и хочу посидеть поковыряться, про ардуино почитал- там его чуть не 11-летним советуют вместо конструктора.
>>242194Можешь взять плату с кучей периферии, там будут кнопочки с диодами и всякой лабудой, но все равно захочется подключить то, чего не будет на плате (те же шаговики), просто придется меньше паяльником орудовать.
Итого:1) STM32F429 - 30 баксов и с дисплейчиком2) Провода dupont разные3) USB-UART переходник3) Паяльник и сопутствующие товары4) Двигателей и датчиков на свой вкусМагазины в дс посоветуете? Я пока гуглил несколько раз на Чип и Дип натыкался, там норм? Если для начала без паяльника брать, то тогда имеет смысл что-то кроме контроллера покупать?
>>242200> Чип и Дип натыкался, там норм? нитПоверь мне, один хрен все дороги ведут на Али, оттуда и начинай, сейчас быстро доставляют.
>>242202ты хуй
>>242205Но я же не ОП, я не могу быть хуем!
http://ru.aliexpress.com/item/STM32-Board-STM32F4DISCOVERY-STM32F407VGT6-STM32F407-STM32-ARM-Cortex-M4-Development-Board-15-Modules-Kit-Open407V-D/32614602393.html?scm=1007.13339.35814.0&pvid=1c6fb34c-ad77-41c8-90df-1ccd6618d9ae&tpp=0В чем преимущество такой доски? Она того стоит?
>>242212Ебать конструктор. Студентоте для изучения - да, но на себя я так тратиться не стал бы, лучше научиться самому махарайчить периферию.
Господа, я понимаю, что тут все отладкой сразу на железе занимаются, но всё же: что лучше для симуляции ПО - QEMU или Proteus?
>>242378Протеус удобнее, если камень поддерживается.Однако если схема сложная - будь готов к глюкам из-за нереалтайм симуляции. Сам сталкивался
>>242378proteus научился в арм?
Мне идет такая STM32: http://ru.aliexpress.com/item/1-pcs-x-STM32VLDISCOVERY-Development-Boards-Kits-ARM-Discovery-STM32F100-Embedded-ST-Link-BRD-STM32-VLD/32348010864.html?spm=2114.13010608.0.86.JVKRXcТам на ней дырки или штырьки? Для подключения периферии хватит джамперов, или нужна гребенка? Если гребенка, то какой там шаг?
>>187056 (OP)http://www.bigboardlist.com/http://kyokojap.myweb.hinet.net/gpu_gflops/
>>242680STM32F1 за тыщу, хуясебе ты богатый
>>242710Эта хрень в Терре 1400, так шо нормально. Ебать цены нонче на эти сраные макетки. Помню 429-дискавери за 1200 брал.
>>242680штырьки
>>242723ага помню эти времена, непонимаю какого хуя они щас раза в три подорожали
Знаком с аналоговой электроникой и жёсткой логикой, знаю си. Нормально ли вкатываться в армы в частности и микроконтроллеры вообще, купив платку вроде http://m.ebay.com/itm/201414966215?_mwBanner=1 и запилив на них, скажем, электронные часы? in4b: бери ардуину Или без опыта с avr вкатиться нереально?
>>242901>арм>электронные часыКак же я люблю /ra/дач. Давай, анон, давно жду часики на ПЛИС, пилите поскорее.
>>242903Ну я серьёзно же. Хочется вкатиться в микроконтроллеры. Логично начать с эдакого хеллоуворлда, интересного ещё и практическим результатом никсиклок на 176й логике хоть и справляется с отсчетом времени, отображением секунд, энергонезависимостью и наличием будильника, но второй раз пилить антуражный девайс начала 80-х о 18-ти микросхемах уже не хочется. вопрос в том, что если плата с мелким армом стоит копейки, стоит начинать осваивать микроконтроллеры прямо с арма, иди шансов нет, и нужно сперва идти через атмеги/пики/ардуино?
>>242904Есть все шансы, начинание сразу с Cortex-M3 будет лучше, чем с АВР про PIC'и вообще забудь Качаешь Keil + CubeMX, читаешь статьи новее 2013 года. Про SPL забудь, CMSIS оче долго и нудно, пригодится но не сразу. Потом, когда ограничения 64кб тебе будет уже не хватать можно прекатиться на STM32SW или другое эклипс поделие, ну или найти кейген на кейл.
>>242905Я тут мимо проходил, как раз вопросы есть.Задача - вкатиться в ARM. Для начала помигать светодиодом. Далее - написать прогу, принимающую по уарту и отсылающую модифицированную инфу по другому уарту.Дано - я, немного могущий в C. Плата NUCLEO-F103RB. KEIL, который мне не понравился. CooCoX+GCC, который мне более-менее понравился.Вопросы: CooCoX или пытаться осилить KEIL? Какие библиотеки использовать? CubeMX годен?
>>243030CubeMX годен, настройка тактирования и HAL проект для кейла из коробки. Кококс хоть и бесплатен, но мне не понравился. Кейл прильстил реальной простотой и неперегружнным интерфейсом. Ну и возможности отладки с литературой в соседней вкладке просто шикарны. Самое сложное в кейл это понять, что его не надо осиливать. Сгенил в CubeMX проект, открыл в кейл и работаешь уже в нем, как в любой другой ИДЕ. Ну мб пару вопросов встанет с отладчиком, который ищутся на ютубе/интернете на каждом шагу.
>>243034Ты про какую версию Кейла?А проект кубамх в кокосе не открыть?
>>243040> в кокосе не открыть?
>>243045Я предположу, что скрином ты показываешь отсутствие нужного тулчейна в кубе. Я прав? Мог бы прямым текстом написать.
>>243094> Мог бы прямым текстом написатьЛень было печатать.
>>243045Это старый куб, в новом вроде как-то можно. Но я не разбирался.
>>243208Ну я нашел пару инструкций как из куба в кокос запихать проект. Ща осилю конфигурацию и попробую.
Я тут один пердолюсь с cmake + qtcreator + gcc?Терпеть не могу графические менюшки, потом хуй пойми что откуда взялось и какие там умолчания. Научился одной хуйне - перекатился в другую - все совсем иначе.
>>243211Запихал кубопроект в кокос, конпилится. Пойду CMSIS изучать, хочется пердолинга регистров и познания основ.
STD32DISCOVERY мне отправили больше месяца назад, уже заказ закрывается через 16 дней, а платы все нет. Кому-то шла STM32 так же долго?
>>243257Я два раза заказывал, первый раз долго шла и потерялась, вернули деньги. Заказал у другого китайца, шла тоже больше месяца, написал продавцу, говорит, потерялась, возвращает деньги. Нашел на olx, продавец тормоз, наложенный платеж не подходит, на карточку деньги принять боится, только личная встреча, послал нахуй. Тут же всплыла на аукро, заказал, завтра будет наконец. Длинный путь переката с пиков в стм, сцуко.
>>243363> 1 китаец> 2 китаец> olx> аукроУ вас нет магазинов типа чипдипа? Нихуясе, как героин добываешь.
>>243371есть, только на том же космодроме на платы охуенная накрутка
>>243374Нет, ну если ждать 2+ месяца не запаривает, наверное можно и поебаться с косоглазыми соседями...
>>243257Тебе от китайского продавца сообщение «Sorry, friend, но я такой хитрожопый, что отправил тебе посылку без трека, хотя обещал ChinaPost Registered» приходило? Ну или просто в описании метода доставки была какая-то поебень вроде ChinaPost Small Packets? Если да, то не удивляйся — безтрековая доставка из Китая это лотерея: может идти пару недель, а может полгода (или вообще пропадёт где-то по пути).
>>243363> продавец тормоз, наложенный платеж не подходит, на карточку деньги принять боится, только личная встречаПроиграл с этого Джеймса Бонда.
>>243393>Тебе от китайского продавца сообщение «Sorry, friend, но я такой хитрожопый, что отправил тебе посылку без трека, хотя обещал ChinaPost Registered» приходило?Нет, такого не приходило. Вообще сообщений не было.
>>243393Последние по дате сообщения не совсем понятны. Посылка что ли недавно таможню прошла?
>>243406Она где-то между таможней и сортировочным центром. Может, на складе отгрузки таможни. А может и на складе приема сортировки неотсканенная валяется. А может еще где.
Друзья, хочу научиться прогать мк. Начну именно с ARM(есть необходимость). Но плату лень паять, а программатор лень покупать. Вот нашел Iskra Neo ATmega32u4. Прогается череp usb кабель. Можно на нем поучиться? Светодиодиком моргнуть для начала, потом посложнее. Только там не совсем C++, а какой то упрощенный. Я ведь в правильный тред попал. Меги это ARM а не AVR? Я новичок и в голове у меня каша. Но не хочу начинать с чего попроще типа пиков. C++ я немного знаю и чуть знаком с ассемблером, но специфику программирования мк пока не очень понимаю. Если та плата говно и моча посоветуйте с чего начать.
>>243443Меги - это АВР. Для совсем ньюфага сойдёт. Научишься мигать светодиодами и читать даташит. Разберешься с регистрами и зачем они. Если пишешь на С, то разницы именно в проце ты не заметишь при перекате, а вот переферия будет совсем другая, так что не задрачивай её особо. Она не только между семействами разная, но и сами наборы для каждого чипа разные, именно по этому их такой зоопарк. Из знакомства с аврками ты должен осилить идею, а потом перекатишься как сможешь себе позволить.
Это снова анон, которому идет STM32. Что мне нужно знать для начала, чтобы не быть ардуинщиком? Например, надо ли подключать диоды через резистор?
>>243472И если да, то какие резисторы нужны?
>>243474ты же ардуищег ебаный, нахуя арм заказал дебил?
>>243481Неа, я функциональщик и пишу на scheme. А ARM заказал, потому что раньше доставляло писать на асме, вскрывать крэкми и дергать функции ядра. Хочу подергать прерывания микропроцессоров теперь.
>>243212Я тоже пердолился. Вкрадцыи, есть проблемы с отладчиком
>>243484Помогите обезьяне ничего не спалить. По формуле при силе тока 5 В и рассчитанном на 20 мА диоде сопротивление должно быть 240 ом, так? А если выходное напряжение 3.5 В, то должно хватить 175 Ом. Таких резисторов мне хватит?
>>243489Там уже есть пара светодиодов, на плате, хватит, чтобы помигать.Я сегодня, как пришла плата, поморгал сразу 167 светодиодами. Мне понадобится.Перекат с пиков состоялся. Но покопавшись в даташитах, я, признаться, охуел мощно.
>>243489>при силе тока 5 ВГм.
>>243486Сейчас в qtcreator завезли плугин bare metal который решает все проблемы
>>243489По опыту 20 ма и современный светодиод превращается в ебаный прожектор выжигающий глазки прямо до задней стенки черепа. Ставлю 3 килоома и все норм. Можно смотреть.
>>243509> светодиод превращаетсяЭто какой превращается? Ты там не закупил по случаю у китайцы одноваттных светодиодов?
>>243515Просто нынешние светодиоды чудовищно эффективны по сравнению с АЛ307 всякими, для заметного глазу свечения типа индикации вкл/выкл им иногда достаточно микроампер.NumLock ебучий лаком закрашиваю.
>>243509>По опыту 20 ма и современный светодиод превращается в ебаный прожектор выжигающий глазки прямо до задней стенки черепаОхуенно же. Лишь бы не сгорал.
>>243472> Что мне нужно знать для начала, чтобы не быть ардуинщиком?Электронику. Хотя бы в объёмах пикрелетедов.
Такс такс такс анончики, сделали плату на работе arm926. Оче собираюсь накатить линукс, в основном из-за драйверов, сети и ссш. Правильно ли я понимаю, что мне стоит собрать ядро линукса под свои нужды?
>>243566Да. Ещё тебе понадобится сорт оф загрузчик, у-бут по дефолту. Его тоже нужно сконфигурировать и собрать.
>>243501Нот со изи. Как вкатился, так и выкатился. Много, много, много читать теперь.
>>235920https://github.com/libopencm3/libopencm3-examples
Подскажите пожалуйста что годного можно собрать на ST10F273M?
>>244608Светодиодом помигать.
>>244661Светодиод не годно. Что полезное из приборв например?
>>244946Пойди, пожалуйста, нахуй. Вопросы из разряда "у меня есть ёба, что на ней сделать годного?" являются крайней формой идиотизма. Надо выбирать контроллер под задачу, а не наоборот. Но ответ на твой вопрос есть: используй его для того, для чего его уже использовали. Вангую, что в твоём случае это а-ля сигнальный процессор. Но я тебя сразу предупреждаю -- ты заебёшься учить всё то, что нужно для его использования, ибо тема весьма специфичная и ты должен заранее понимать, к чему ты идёшь и как ты этого будешь достигать.А в науку тебе и тебе подобным могу сказать: бери задачу, ищи под неё исполняющий механизм, актуальный на сегодняшний день и доступный тебе "здесь и сейчас", а потом эту задачу решай. У меня, к примеру, лежит PicKit2 и несколько их контроллеров. Я на них кодил под ассемблером и под C. Дак вот, на данный момент я уже несколько лет как работаю с STM32 по долгу службы, и это PIC-говно я готов выкинуть нахуй, ибо дорого, уёбищьно и нахуй не нужно, если только придётся кодить под существующий проект, и то задумаюсь, надо ли это мне, может проще сделать плату-переходник STM32-PIC.
>>244956серьезный дяденька
>>244956Мне интересно конкретное устройство которое на этом контроллере. Например измерительный прибор.
Поцаны, помогите, я тупой:(Купил STM32F4, спиратил софт отсюда: https://rutracker.org/forum/viewtopic.php?t=2305709 думал по гайдам потихоньку разобраться что к чему по этим http://microtechnics.ru/stm32-uchebnyj-kurs-keil-sozdanie-proekta/.А там и версия у keil-а другая и библиотеки качать надо и все равно в этих библиотеках нет тех файлов, что на скринах. Как кароче эту штуку запустить? Может на ютубе есть что-то годное? для даунов Алсо, я в английском слабо шарю.
>>245661Зайди на сайт st.com и скачай последний stm32 periph lib или как там, если в поставке кейла что-то и есть там старое.
>>245661Чем ГЦЦ не угодил?Сразу на проприентарщину уселся.Вот годная либа же >>244493
>>245662Скачал>>245663Еще сложнее стало(
>>245665>СкачалИ?Лог выкладый показывай в чем проблема.
>>245672Я пока не понял как её подключать. Видосики смотрю вот.
>>187056 (OP)позвольте тупой вопрос:начинаю прогать таймер systick и не могу понять как его на 1мс сконфигурить?
Пришла STM32VL DISCOVERY и периферия. Хочу начать программировать.1. Какую срезу разработки выбрать?2.Устанавливал CooCox, но не разобрался, как подключать библиотеки, необходимые для разработки под мою STM. На маленьком чипе маркировка STM32 F103C8T6, но в CooCox такого чипа нет, а есть чип похожей модели. Нужных библиотек в настройках проекта не оказалось. Что выбрать для программирования именно этой STM?
>>245782Алсо, посоветуйте недорогой программатор по SWD.
>>245782Там же уже есть программатор на борту?
>>245792>Там же уже есть программатор на борту?Я нагуглил, что через mini usb прошить нельзя.
>>245788st link 2 на ани 150р.
>>245901Ты об этом?http://ru.aliexpress.com/item/Hot-Sale-ST-LINK-Stlink-ST-Link-V2-Mini-STM8-STM32-Simulator-Download-Programmer-Programming-With/32684040486.html?spm=2114.03010208.3.164.CDhxFE&ws_ab_test=searchweb201556_0,searchweb201602_5_10039_10057_10048_10047_10056_10055_10037_10049_10059_10033_10046_10058_10032_10045_10017_10060_10061_10062_10064,searchweb201603_2&btsid=251ac0e6-4da9-47b1-a32f-523b6da178db
>>245908Да, о нем.только с ценой ошибся.>150,11 руб. / шт.
>>245782Попробуй EmBitz, минусы конечно есть, но всяко лучше кокоса.
>>245793По UART шей.
>>245993Поясните за эту IDE. Почему не появляется менюайтем выбора прошивки? Или он появится после подключения программатора?
>>246170Насколько знаю, там только активный проект прошить можно после компиляции. Для готовых прошивок можно STM32 ST-LINK Utility применить.
>>246211>Насколько знаю, там только активный проект прошить можно после компиляции. Для готовых прошивок можно STM32 ST-LINK Utility применить. Подробнее можно? Вот я скомпилировал проект в релизе, но кнопка прошивки в Tools, также якобы доступная по F6, не появилась. Способов сделать проект активным, похожих на "сделать проект главным" в сишных IDE, не вижу, в контекстном меню нихуя нет.
>>246302>кнопка прошивки в Tools, также якобы доступная по F6Где ты про F6 прочитал, у меня кнопки прошивки тоже нету. Проект заливаю через отладку.
>>246358Что за ебанутая IDE? Нахуя заливать в память дебаг-сборку?
>>246358Алсо, что означает Debug Server is closed/terminated, debug session will stop? Это из-за того, что плата не подсоединена, или надо запускать какой-то демон для дебага?
>>246390Так аффтор захотел, впрочем доп кода для отладки не заливается, так что забей.>>246428Так стмка конечно должна быть подсоединена, дополнительно ничего не нужно. У меня заработало искаропки.
Господа, есть гуру программирования на HAL для STM32? Не могу понять логики работы функций через прерывания, интересует именно I2C - в каком порядке и при каких условиях идет, например, передача?
>>246743Говоришь железки послать данные, оно шлет и генерит прерываниеи наоборот - оно приняло данные и генерит прерывание
Сап аноны. Как обычно шьют пзу? Через uboot, например, когда накатывают линукс? Накидайте тегов плез
>>247603какой арм?
>>248934Я не он, но тоже интересен этот ответ. Камень - STM8S
>>247603>>248994На таких контроллерах прошивка заливается стандартным житагом и остается там после выключения. Тут как бе вопроса как такового и нет.Uboot умеет в NOR/NAND флеш. В нем прописаны тайминги для флешки. Есть стандартные команды nand write/read/erase.Образ кернела предварительно заливается через tftp в ddr, а потом записывается в nand: есть команда tftp в uboot.В самом uboot есть параметр bootcmd где прописывается что-то вроде: nand read 0x90000000 0x100000 0x300000 и bootm 90000000 - считать начиная с 100 блока нанд (нанд видится блоками по 128кб - 0x20000 * 100 = 0xC80000) 0x300000 байт и поместить в DDR по адресу 0x90000000. Сbootm 90000000 - начать загрузку kernel с адреса 90000000В моем случае и uboot и линукс загружаются по tftp без мозгоебли с флеш. Сам контроллер умеет загружаться по ethernet.Гугли arm u-boot user guide и arm uboot flashing tools.
Есть у кого годная инициализация для hx8347G? Поднял на stm32f745 FMC читаю регистры, пишу всякое, но на экране пустота.
Работаю с STM32F407ZG DISCOVERY. При переключении пинов фронт занимает ~500мкСек. При запуске идентичной программы уже на Olimex E407 время установления фронтов занимает 50нС. В чем может быть проблема?
>>249195У кота какое-то хитрое выражение морды. Он явно в этом замешан.
Подскажите недорогой программатор.В этом деле я нуб. ПРограмматор нужен под разные типы микрух свой или они универсальные под одну архитектуру?
>>249346Универсальный программатор стоит как боинг. Определись, что ты хочешь программировать. Судя по запросу нихуя ты ещё не хочешь, даже не понимаешь специфики.Контроллеры, как правило ARM архитектуры, они программируются через Jtag и SWD. Если говорить про "микрухи", которые микрухи памяти, то тут много вариантов, и программатор стоит дорого.Ты - хуй.
>>249347допустим STM32
>>249349>STM32Тогда без разговоров бери STM32DISCOVERY демо плату, там тебе будет и SWD и контроллер на поиграться. Стоят они адекватных денег. Сразу F4 не бери -- заебёшься, начиная хотя бы с трёхсотой, чтобы уж совсем низко не падать. Пересесть с F3 на F0 всегда сможешь. Я по работе начинал с STM32F373, но для себя начал работать с STM32F030, ибо они стоит 50 Р за корпус, проблем при пересадке нет. Однако, F4 уже шагнула вперёд, там немного другие принципы программирования и работы с ними. Учиться лучше на F3 и ниже, а после этого тебе и F4 будут по плечу...
>>249353спасибо, а где лучше заказывать?
>>249353эту плату можно будет потом в качестве программатора юзать?
Как можно слезть с keil/iar/прочего под шиндоус? В чем писать, чем и как компилить, как заливать? Это вообще возможно? Желательно опенсорс. Несколько лет писал всякое мелкое дерьмо под армы и атмелы, и всегда пользовался этими средами, теперь хочу менять работу, а на меня там как на ебанутого на собеседовании поглядели - ты что, и скрипты линкеру ни разу не писал? и далее по списку.>>249357Да. У самого такая валяется, но в качестве программатора не использовал пока ни разу. У них на сайте документ UM0919:>2.2 Embedded ST-Link>The ST-Link programming and debugging tool is integrated on the STM32 value line>Discovery. The embedded ST-Link can be used in 2 different ways:> to program/debug the MCU on board> to program/debug an MCU in another application board using a cable connected to SWD connector CN2.>For information about debugging and programming features refer to ST-Link UM0627.Открывай UM0627 с их сайта и раскуривай. Если плату usb-разъемом от себя повернешь, то слева коннектор 4х1 как раз SWD.
>>249366>Как можно слезть с keil/iar/прочего под шиндоус?Собственно с открытыми средами разработки проблем нет, просто их все надо настраивать на работу с той или иной конфигурацией. С компиляторами/линкерами тоже проблем нет, GCC умеет в арм. Открытая версия драйвером под Liunx для ST-LINK есть, но с ней, видимо, придётся потрахаться. Из того, что я читал о их реализации, ясно что внутренная структура ST-LINK весьма, эмм, специфична.Atollic True Studio кстати бесплатная, но не помню, открытая ли.
>>249391А под шиндоус открытые драйвера есть? Я только помню, что давно когда-то на работе накатывал на комп паленый segger, чтобы использовать паленый китайский ноунейм программатор.Получается, подойдет любая среда, к которой можно прикрутить gcc для арма? А процесс отладки непосредственно в мк как при этом выглядеть будет?
>>249366>Как можно слезть с keil/iar/прочего под шиндоус? В чем писать, чем и как компилить, как заливать? Это вообще возможно? Желательно опенсорс. Несколько лет писал всякое мелкое дерьмо под армы и атмелы, и всегда пользовался этими средами, теперь хочу менять работу, а на меня там как на ебанутого на собеседовании поглядели - ты что, и скрипты линкеру ни разу не писал? и далее по списку.Eclipse.
>>249346Китайский J-Link, лучше HW ревизии 9.
>>249195>В чем может быть проблема?Скорее всего в железе:- Посмотри, что там у тебя на пине сидит;- Попробуй выводить на пин другого порта;- Прочисти контакты со спиртом;- Смотри питание микросхемы во время переключения пинов.
>>249397>А под шиндоус открытые драйвера есть?Не слышал, но если есть по Linux, то можно адаптировать и под винду. Вот только зачем, если ST и так предоставляет драйвера?>>249397>Получается, подойдет любая среда, к которой можно прикрутить gcc для арма?GCC то можно к любой среде прикрутить, а вот как будет отладка работать -- для меня большой вопрос. На уровне breakpoint-ов и простых watch-ей, думаю, проблем нет, а таких плюшек как, например, регистры, память, live-watch и прочее из IAR, сомневаюсь.
>>249401>регистры, память, live-watchВсё это есть в gdb.
Суп господа, обоссыте нюфаню по делу за архитектуру приложения. Хочу сделать прибор для замера ИК излучения с удаленной передачей.Датчик: таймер инициирует считывание с I2C. Прерывание I2C складывает данные в буфер. Колбэк I2C вызывает передачу данных по SPI. Параллельно идёт лог в UART всех действий.Приемник: SPI складывает полученные данные в буфер и вызывает передачу в UART.Делать все планирую на F030F4 + NRF24L01, питание от 18650.
>>249407>Всё это есть в gdb. А с ST-LINK нормально дружит? (Я, честно говоря, не до конца понимаю механизм работы.)
>>249408>прибор для замера ИК излучения с удаленной передачейНахуя такой зоопарк протоколов?Поясни задачу нормально, что такое замер ИК я не понимаю. И "удалённую передачу" ты по какому протоколу гонять собрался?
>>249412Да, без проблем. Погугли "gdb st-link", тебе выдаст кучу инфы.
>>249414замер ик-спектра будет с помощью датчика tsl2561(I2C), удаленная передача с помощью NRF24L01(SPI), уарт для диагностики. Протокол скорее свой, велосипедный или упрощенное подобие modbus.
>>249432Ну, то что ты описал про программу похоже на правду. Но дьявол, как всегда, кроется в деталях. Как я понимаю, у тебя будет основной цикл бегать в int main(), и из него будет вызываться всё остальное, а интервалы между замерами будут выверены таймером, т.к. остальное уже в цикле основной программы не имеет временной привязки.
>>249418У меня тот тексановский st-util бинарь, что гуглится, нормально работать не хочет, пришлось собирать из исходников Еще рабочую, но с другим выводом версию можно выковырять из visualgdb
>>249355удваиваю реквест? у китайцев рискованно, гугл выдаает только чип и дип
>>249353где брать то?
>>249439По сути я планирую программу на чистых прерываниях без какого-либо кода в главной петле программы.
>>249497В чем риск заключается?Вот кстати превосходный магазин https://ru.aliexpress.com/store/908915
>>249508>на чистых прерываниях без какого-либо кода в главной петле программыЭто плохая идея. Прерывание должно обрабатываться быстро. Всю остальную обработку нужно передавать из прерывания в основной код, ты это делать собираешься, или как?
>>249512>В чем риск заключается?Можно заказывать и у китайцев. Мне вот пофиг, на 100-200 р дешевле у дяди Ляо, или здесь и сейчас в Промэлектронике, например, купить. Но здесь и сейчас у локального (я именно про Промэлетронику говорю) мне нравится больше, т.к. если что я воспользуюсь гарантией. Впрочем, если не насиловать выводы, всё будет хорошо.
>>249588В прерываниях идёт лишь укладка данных идёт, порядок вызова определяется через колбэки
>>249645>колбэкиДа как, блядь, вылезти из контекста выполнения прерывания??? Нихуя не понял.
>>249645>порядок вызова определяется через колбэкиТы чё там, обосрался??? Начальник!!! Начальник!!! Этот пидор обосрался!!! Я с ним тут сидеть не буду!!!
>>249366Я пристастился к QtCreator + CmakeQtCreator - быстр и всё естьCmake - Не могу в голый Makefile, тоесть могу что-то поправить, но не с нуля зебенить. В симэйке есть свои заёбы, и много, но я однажды запердолился, чтобы и в прыщах и в сперме собиралось и теперь ненарадуюсь ФУНКЦИОНАЛУКак выше писали, ГЦЦ отлично собирает под армы, гдб отлаживает у меня J-link с али.Линкер-шкрепты то еще веселье, но по большей части всегда есть примеры или прям готовые для твоего камня помню, как в перый раз с ними пердолился пик стронгли релейтед, но это не под арм.>>249397>А процесс отладки непосредственно в мк как при этом выглядеть будет? Для моего J-link'а скачал какой-то китайский бинарь, который прикидывается GDB-сервером и слушает порт, далее из ИДЕ настраиваешь подключаться к этому порту и всё взлетает. Говорят можно так же через openOCD, но там вроде не работает SWD>>249397>А процесс отладки непосредственно в мк как при этом выглядеть будет? Ну в камне же есть спец модуль, с которым ты общаешься через JTAG/SWD, он имеет власть над процом и системной шиной, по команде отладчика он стопорит прцессор, может читать любой байт из памяти, даже IO правда это не всегда имеет смысл, и содержимое любого регистра.
>>249875Пик отвалился
>>249875>QtCreatorС Qt, надеюсь, только название общее?Алсо, я походу вообще неправильно понимаю, что такое make, и зачем им пользуются.>ГЦЦ отлично собирает под армы, гдб отлаживаетА что насчет просмотра состояния регистров проца? Можно, конечно, по адресу в окне memory смотреть - когда кейл тупил для какого-то nxp-шного мк, я так делал, но это пиздец просто как неудобно.>Для моего J-link'а скачал какой-то китайский бинарьПердолинг и недели поиска или всё гораздо лучше?>Ну в камне же есть спец модуль, с которым ты общаешься через JTAG/SWDДа это я знаю, меня интересовало, как с этим всем будет работать среда и сможет ли вообще. Я пока не настолько хорошо пишу, чтобы не отлаживаться внутри процессора вообще.
>>249398>EclipseОт говнокодеров говнокодерамЗасрем своим говном и микроконтроллеры тоже
>>249916>С Qt, надеюсь, только название общее?Нет, это ИДЕ специально для Qt написанная на Qt>А что насчет просмотра состояния регистров проца? Можно, конечно, по адресу в окне memory смотреть - когда кейл тупил для какого-то nxp-шного мк, я так делал, но это пиздец просто как неудобно.Пик релейтед, правда это не арм, но в арме так же>>249923>EclipseСидел на нём, но марс оказался слишком забагован и тормознут и я дропнул.
>>249004Спасибо, но вопрос уже проработан.Микроконтроллер - atmel at91sam9x5. Этот выблядок не имеет пользовательской пзу и имеет 16кб озу, и поэтому приходится изъебываться с помощью т.н. SAM-BA, утилита атмела для работы с их платами.Также людьми и атмелом был разработан бутстрап это ультралегкая программа, выполняемая из озу мк, которая подготавливает плату и загружает юбут. И ядро, и юбут, и бутстрап, и дтб, и даже образ фс (я взял тупо buildroot), я загружал в nand через эту самбу.
>>249916make - стандартная программа линуха, которая выполняет файл makefile. В нем, в свою очередь, описано как, где, зачем, кем будет собираться твоя программа. Там описаны файлы, библиотеки для сборки, флаги компилятору, линковщику и т.д. Язык, на котором все это описано, сложен и не интуитивен, поэтому люди используют различные генераторы типа cmake, которым ты почти человеческим языком указываешь сборку, а он уже лепит makefile.Очевидно, что мейкфайл, грубо говоря, схож для арма и х86, для винды, линукса, для питона и cpp.QtCreator - среда, которую пилили для фреймворка Qt. Но он оказался настолько легок и функционален, что на нём стали писать программы, в которых совсем нет Qt и qmake. Нормальная навигация по коду, всяческий рефакторинг напрочь отобьет уебищный богомерзкий иар.Есть гайды по настройке QtCreator для арм. По схожей настройке ты хоть для пиков сможешь писать.
>>250084Плохо объясняешь. Make это программа-менеджер компиляции, позволяющая автоматически разрешать порядок зависимостей при сборке и не пересобирать то что уже собрано.>на котором все это описано, сложен и не интуитивенНеправда. Задаются цели (это обычно имена файлов, но могут быть и нефайловые phony-цели), для достижения цели пишется последовательность действий, например вызов компилятора. Стоит учитывать что это не башскрипт, здесь каждая строка работает изолированно, как отдельный башскрипт, и переменные работают чуть иначе. Зато например можно делать wildcard цели, вместо прописывания действий каждому файлу.Make позволяет там где можно компилировать в параллели, если вызывать его через make -jN, где N максимальное количество потоков.Я бы так примерно разложил: для совсем простых хелловорлдов компилятор можно вызвать руками, для проектов сложнее писать мейкфайл, для совсем сложных проектов генерировать из cmake. Отдельная пляска начинается при портировании приложения на разные платформы, там уже требуются configure скрипты, которые кстати тоже можно генерировать, cmake вроде с этим может совладать тоже.
>>250115>там уже требуются configure скрипты, которые кстати тоже можно генерировать, cmake вроде с этим может совладать тоже.Cmake - это замета автотулзам так-то, он умеет всё, что умеют они и понятнее по синтаксису.Алсо есть еще плюхи, вроде скачивания либ прямо из гита в процессе сборки и их подключение к проекту.Например, в прыщах у меня есть либа libpthreads, а вот в сперме надо скачать и собрать libpthreads-win32 и статически прилинковать к проекту.
>>250125синтаксис там оче простой, не большая жопа случается с макросами, ну и объемами тащемта для компиля ядра
>>250084>В нем, в свою очередь, описано как, где, зачем, кем будет собираться твоя программа.То есть, по сути, это как настройки сборки проекта в IDE, только без IDE, так?Про QtCreator понял, спасибо. Обязательно попробую, только я из постов выше так и не усвоил, есть ли необходимые драйвера и прочие инструменты для шиндоус? GDB тот же по-моему только для linux имеется.
>>250139> То есть, по сути, это как настройки сборки проекта в IDE, только без IDE, так?Безусловно, но сверх того еще всяки плюхи.Но главное не это! В makefile ты можешь написать совершенно любую логику, тогда как в настройках иде она весьма ограничена разрабом иде.Алсо, как ты собрался переносить сборку с одной пеки на другую?В ридми напишешь: настройки проекта->парамеры кококомпилятора->поставит галку тут тут и тут? Ну ты понял.
>поставит галку тут тут и тутpdf с картинками к исходникам было бы вооще шикарно
А я бы отсосал за мэйкфайл для HAL проектов от CubeMX.
очередной содом
>>250185Сегодня немного постиг doxygen. Вышел на него после долгого гугла визуализации классов, в любом виде, не только uml. Есть какие-либо альтернативы? Doxygen справился отлично, но это не его прямая задача
>>250345Я как-то пытался заставить себя пилить документацию на нем, роаботает конечно охуенно, но надо моч в его разметку, и самое главное не лениться это делать. Ни кто не оценил и времени делать так везде нету.
Хочу прошить STM32VL Discovery. Использую Keil и ST-Link. Прошивку ST-Link обновил, подключаю его к STM32 четырьмя кабелями SWDIO, GND, SWCLK и 3.3V питание. Почему-то прошить никак не получается.Проект скомпилировался и получился файл Main.axf, который весит дохуя, и маленький hex-файл.Сначала я пытался прошить при помощи ST-Link Utility. Открыл в ней hex-файл, подключил в один USB стм, в другой - ST-Link, но при попытке приконнектиться возникает ошибка пикрелейтед.Когда пытался прошить через Keil и нажал Download (F8), получил ошибку Error flash download failed - couldnot load file Main.axf.Что я делаю не так? И как прошить только код, а не все говно, которое лежит в axf-файле?
>>250407Еще keil выдает ошибку No target connected при обоих подключенных девайсах.
>>250408Так у тебя не с прошиванием а коннектом похоже проблема. Если все правильно соединено, должен добиться коннекта через stlink. А потом лучше все делать в хайле. Создаешь проект, настраиваешь тип программатора, например stlink, там прописываещь тип соединения sw. Пишешь код, компилишь, запускаешь. Он сам знает что какой бинарник прошивать, не надо это вручную делать
>>249366Я на виндах пользуюсь и хайлем и эклипсом. Хайль шустрый и хороший отладчик, но во всем остальном хуета. Эклипс наоборот, медленый монстр, но охуенен как редактор и отладчик там годный. Да, в отличие от кeil, gcc требует скриптов к линкеру, но в 99% случаев тебе их писать не придется, просто берешь готовые. Это пидоры типа двачеров просто опустить тебя заходели. Большинство ембедщиков хуй тебе с нуля линкер скрипт напишут, ибо нахуй не нужно. Максимум подправить размеры памяти, стека и тп. Если конечно бутлоадер будешь писать, или зачем-то нужно чтобы код во флеш не с нулевого сектора загружался (чтобы например настройки сохранять в начальных секторах небольшого размера), то тогда да. Что касается отладчиков под эклипсом, я пользуюсь и seggerом (в эклипсе напрямую) и stlink - через Open OCD и чуток настройки подправить.
>>250084Ну нахуй в 2016 писать руками мейкфайлы. Не нравится keil или eclipse, есть еще Atollic studio, или emblocks, или этот... миниатюрная копия эклипса, маленький но придурковатый, вылетел из башки. Короч все они умеют сами makefile генерить, зачем этот мазохизм.
>>249397>подойдет любая среда, к которой можно Нет, заебешься ты "любую среду" под себя затачивать. Бери готовую интегрированную среду с поддержкой arm - eclipse+arm плагин, или atollic studio и тп. Там все будет и компиляция и прошивка и отладка.
>>250423Ради QtCreator, он турбоняша
>>250430Сложилось стойкое убеждение, что ПО с префиксом Qt - рукожопное творение школоты
>>250448На самом деле нет, Qt охуенный. Ваяю на нём по мелочи.
Господа, есть Parallel Output ADC, то есть когда по внемешнему клоку на ногах D0..Dn выставляются биты семпла. Дак вот, а сможет ли STM32 легко и непринужденно тактировать АЦП и читать семплы, с буферизацией, типа по прерыванию получать указатель на заполненный массив сэмплов. Или придется вручную дергать ногой, считывать состояние ног данных, складывать в массив?
>>250492>Или придется вручную дергать ногой, считывать состояние ног данных, складывать в массив?This.Тебе быстро надо?
>>250493Ну вообще да, быстро, АЦП 10 МГц может держать. Как-то грустно прям, думал можно это все переложить на периферию а ресурсы проца только на обработку тратить.
>>250492Можешь это как-то по другому объяснить, что тебе нужно делать? Тебе нужно несколь ADC пинов одновременно опрашивать или что?
oxyeный тред
>>250498А, все понял, познакомился что такое Parallel Output ADC. А зачем его юзать, если у STM32 есть свой ADC?
>>250498Ну вообщем да, АЦП - AD9220, по фронту input clock на ногах BIT1-BIT12 собственно выставляет биты сэмла, плюс еще есть нога переполнения OTR. Вот как раз хотелось-бы таймером тактовать clock и опрашивать ноги BIT АЦП, на основании которых формировать значение сэмла.>>250501у STM32 есть свой ADC?Частота дискретизации низкая. AD9220 думаю получше встроенного будет и по другим параметрам.
>>250420>Так у тебя не с прошиванием а коннектом похоже проблема. Если все правильно соединено, должен добиться коннекта через stlinkЧто могло пойти не так? Я соединил соответствующие выводы на программаторе и плате, снял перемычки, жал даже резет, но не работает.
>>250507Трудно сказать. Давай какие нибудь пикчи - как надо, как соединял. У меня где-то валяетс discovery если найду посмотрю, но вроде там все просто - соединил и работает.
>>250506А вижу, у тебя 10msps а в STM32 2.4msps.Но если ты будешь 12 пинов в ручную читать и в массив складывать, то насколько это замедлит? Посмотри на DCMI или FSMC.
>>250514>Давай какие нибудь пикчи - как надо, как соединялИ мануал http://rgho.st/6Z4wNZTvB
Что такое хейл? Не могу нагуглить.
>>250531не хейл а keil. читается хайль почти
>>250527А разве на дискваре не стоит встроенный stlink?
>>250538Оказалось, что перемычки не надо снимать, если программирую внешним ст линком.
>>250539Алсо, прошиваю hex-файл при помощи ST link utility. Keil выдает ошибку No st link found with the expected serial number.
>>250540Поменял JTAG на SW?
>>250541Да, поменял. SW там стоит по умолчанию.
>>250539А зачем тебе мудохаться со внешним. Попробуй встроенный
>>250541Вот так настроено.
>>250544Может то что он in use пишет, у тебя stlink utility его держит? Так то все верно выглядит
>>250545Да, stlink utility его держал. Теперь in use исчезло, но прошить через keil все равно нельзя: No target connected.
Еще вот это покажу. Может, hw reset выставить как в stlink utility?
>>250547Мне кажется ты по какому то сложному пути пошел. Сейчас выудил свою дисквари из кучи мусора, воткнул mini usb и все заработало, см пик. Никаких перемычек никогда не трогал.
>>250549Вряд ли по сложному пути. Соединил stlink четырьмя кабелями с SWD-разъемом на борде, mini usb от борды воткнул в юсб, stlink в другой usb.
>>250551Зачем тебе внешний stlink вообще. Тебе только кабель от USB воткнуть в дискавери и все.
>>250551Теперь я отключил mini usb дискавери, и он получает питание и данные только от ст линка. В настройках хайля ст линк определился. Когда жму F8 Download, один раз возникла ошибка internal error, а сейчас no target connected.
Создай проект, скомпили хело ворлд и попробуй запустить его. Я никогда hex не грузил отдельно, зачем.
>>250552>Зачем тебе внешний stlink вообщеРаз уж взялся, то интересно довести до конца.
>>250556Ты все делаешь чтобы максимально заебаться. Подключаешь внешний stlink, и грузишь отдельно hex файл, вместо того чтобы просто воткнуть провод в дискавери, написать пару строк хело ворлд и запусть свой проект и все. Пять минут.
>>250506Открою секрет. Идешь на форум st и там всегда в углу сидит старый азиатский дед из "Матрицы". Забыл как его там звали, но на st он кажется cleve1. Он охуенен и все знает. Я всегда к нему пристаю. И этот вопрос там тоже обсуждался. У меня в голове куча бредовых проектов, но как только я разбираюсь КАК нужно делать, у меня тут же пропадает интерес, так что ни один не сделал. Например цифровой осциллограф на ёбагерцы. Окозывается они пилятся на суперскоростных ADC, которые не один контроллер не в состоянии читать. Между ними нужно сажать FPGA. И вообще, даже для более низких скоростей, как у тебя, STM32 архитектура не предназначена для параллельного синхронного ВВОДА (вывод есть, через FCMS или как эта хуета называется).
>>250561>Между ними нужно сажать FPGA.Да, изначально делал на FPGA, но сейчас опять присматриваюсь к STM32, из-за наличия dsp, ну и допилить что-то свое гораздо проще. Единственное, что пока останавливает - если допустим разогнать до 100МГц, и читать данные на 10МГц, то на обработку одного сэмла остается всего 10 тактов... Но чую, что я где-то обосрался в рассуждениях.>И этот вопрос там тоже обсуждался.Может тогда ссылочку скинешь?>STM32 архитектура не предназначена для параллельного синхронного ВВОДАА как же AN4666.
>>250609>AN4666ебаать, сложна! не знаю, может в том обсуждении на форуме имелось ввиду что штатных методов нет, а через такое изъебство возможно, хз. сцылку не дам, это был рандом поиск по форуму на st, уже не помню как нашел. пили как написано, чо.
>>250561>Окозывается они пилятся на суперскоростных ADCЧому делители частот не канают?
>>250556RST к мк подключил? Без него не заработает.
>>250619>пили как написано, чо. Таки да, только там тактирует передающий, а мне нужно чтобы тактировал принимающий, но ладно, буду разбираться. Единственное, что еще волнует - производительность. Мне например нужно понять потянет ли arm_fir_decimate_fast_q15 с заданным количеством коэфиициентов поток данных в 10MSPS. Есть какой-нибудь инструмент для оценки перфоманса или вручную замеры делать придется?
>>250660Нога RST не нужна, никогда не подключаю, и так все должно работать (программный ресет)
>>250667>почти что надо, только там все наоборотНу удачи тебе, может и взлетит Вот ксати ссыль на мастера ключей, но вряд ли тебе поможет, просто так сказать для отчетности: https://my.st.com/public/STe2ecommunities/mcu/Lists/cortex_mx_stm32/Flat.aspx?RootFolder=%2Fpublic%2FSTe2ecommunities%2Fmcu%2FLists%2Fcortex%5Fmx%5Fstm32%2FFast%20gpio%20read%20with%20sync&FolderCTID=0x01200200770978C69A1141439FE559EB459D7580009C4E14902C3CDE46A77F0FFD06506F5B¤tviews=469Он кажется во втором посте и намекает на что-то такое, что в твоем application notes.
>>250697Спасибо, бро. Почитал, погуглил еще. Короче будет единичная транзакция DMA в режиме память в память, где источник регистр GPIO. Транзакция будет выполнятся по таймеру. Частота таймера и будет частотой семплирования. Вроде не сложно должно быть. Короче прикупил вот такую махарайку https://ru.aliexpress.com/item/Free-shipping-STM32F407VET6-development-board-Cortex-M4-STM32-minimum-system-learning-board-ARM-core-board/32618222721.htmlК ней нужен еще программатор или все уже на борту есть?
>>250945Судя по пикче нужен программатор.
>>250946по УАРТ нельзя прогу закинуть?
>>250950Гугл говорит что можно, но поверь моему опыту, лучше 1 раз купить программатор с СВД и отлаживать как белый человек, чем ебаться с УАРТом и принтфами
Посоветуйте недорогую, но годную макетную плату для периферии STM32 и дешевые джамперы на али
Карач я ньюфаг в ARM'ах. Накидайте литературы, чтобы после изучения я мог охуенно прогать под эти процессоры. Я быдлокодер, и несколько лет дрочить транзисторные усилители и фильтры мне лень, зато нравится реверсить хеллоуворлды под ARM в ида про и таким образом медленно осваивать ассемблер.
>>250953Вот такой подойдет?https://ru.aliexpress.com/item/FREE-SHIPPING-St-link-stlink-v2-stm32-stm8-artificial-device/1184129552.html?scm=1007.13339.33317.0&pvid=af7cc692-061c-486c-a55d-4eac116a217a&tpp=1
>>250967У меня J-link, пусть кто-то с ст-линком пояснит.
>>250967Да, подойдет.
>>250971А это же ведь еще и дебаггер? Он позволит отлаживать выполнение кода прям на плате?
>>250973Так в этом и суть, тащемта.
>>250945тайни урл/j7ovd49ебаный абу, где тут слово из спам листа?
>>250976пиздос, хотел линк из форума запостить, ни хуя не дает, сделал тайни урл все равно не дает - тайни урл латинницей это слово из спам листа оказывается. теперь линки внешние нельзя постить вообще?
Спасибо анон заказал и плату и программатор по твоим ссылкам с али. Платы 2 шт. программатор 1 т.
>>250976О еще раз спасибо. Где-то видел, что GPIO через DMA можно только в режиме "память память" без вкусностей типо цикличного чтения. А тут действительно GPIOC->IDR как адрес периферии используется. Тогда уж и дабл буфферинг можно и прикрутить или прерывание на халф трансфер.
>>250981Ага, мне тож понравилось, сама платка вышла применрно рублей на 150 дороже чем просто чип STM32F407VET6 в терре.
>>250982И не забудь что тебе DMA2 надо. И если у тебя семпл рейт мегагерцы, то про прерывания на таких скоростях забыть нужно наверное. Прерывания даже порядка единиц микросекунд это уже скучно.
Где можно почитать про соответствие номеров и названий пинов на плате stm32vl discovery и их программным номерам, которые я использую в коде, типа GPIO_Pin_9?
>>250984>И не забудь что тебе DMA2 надо. Ну да, уже понял. DMA1 что-то там не хватает.У меня еще такой вопросик. В примере один таймер сконфигурирован Input Capture, а второй Output Compare и типо надо их ноги соединить. То есть Output Compare генерит меандр, а Input Capture по фронту инициирует DMA транзакцию. А мжет ли Output Compare таймер инициировать DMA транзакцию, то есть одним таймером и АЦП тактовать и одновременно инициировать чтение значений ног, которые АЦП выставляет по фронту?
>>251068С дивана, могу ошибатьсяУ таймера там есть некие ивенты, их можно отправлять ДМА-контроллеру, так было в моём проекте на стм32ф103. Почитай датаЩИТ
>>251068>мжет ли Output Compare таймер инициировать DMA транзакцию,Да, может• Interrupt/DMA generation on the following events:– Update: counter overflow/underflow, counter initialization (by software orinternal/external trigger)– Trigger event (counter start, stop, initialization or count by internal/external trigger)– Input capture– Output compareOutput compare mode:Sends a DMA request if the corresponding enable bit is set (CCxDE bit in theTIMx_DIER register, CCDS bit in the TIMx_CR2 register for the DMA requestselection).
>>251068>одним таймером и АЦП тактовать и одновременно инициировать чтениеХЗ как он там задумали в этой рацухе, но ведь неспроста у них два таймера, один тактует другой читает, в этом у них вся соль.
>>251083Ок, спасибо бро.>>251087Ну возможно DMA-запрос выполняется раньше чем выставляется уровень на ноге (не знаю, можно ли такую инфу нарыть в даташите), плюс задержка самого тактируемого устройства = нестабильность при работе на высоких частотах. В принципе тоже можно тоже развести ногу тактирующего таймера на клок АПЦ и на ногу Input Capture таймера. Может действительно так даже лучше будет.
>>251124Я просто подумал, что раз нет внешней хардверной синхронизации, то могут быть глюки связанные с асинхронностями. А в принципе может не все так страшно. Тебе ж не нужно гарантировать, что каждое чтение соответствует именно предшествующему такту. В худшем случае один семпл может считаться повторно. Главное же чтобы все ебошило непрерывно без затыков с приемлемой скоростью. (Если я правильно понимаю все архитектуру).
>>251133Ну вообщем платы приедут - буду экспериментировать, направление куда рыть понятно. У меня еще пара вопросов. Вот я допустим читаю в память GPIOA->IDR, но пины PA0, PA1 заняты какой нибудь периферией, что будет в соответствующих позициях бит, нули? Или может вобще не взлетит и надо обязательно 8\16 пинов как GPIO_Input помечать? И относительн среды разработки - я смотрю trueSTUDIO не балуют тут, но ведь годнота-же, бесплатная без ограничения на размер кода, CubeMX экспортирует, ST-LINK поддерживает, текстовый редактор весьма неплохой. Есть какие-то объективные причины Keil использовать?
>>251192Не понял вопроса, какой переферией. Что угодно может быть, 0 или 1. Зависит как пины сконфигурированы. Если код твой, тебе решать чем пины будут заняты и как они сконфигурены и что ты на них повесил. Если это только не особые пины какие-нибудь типа SWIO. Среда вопрос субъективный. Не слушай никого. Попробуй что тебе понравится.
>>251192Тебе ли не похуй что там будет на тех пинах, чтение всегда будет успешно а результат всё равно порежешь маской чтобы левак не мешался.
>>251192Покажи скриншотами как ты открываешь CubeMX проекты в truestuido и проводишь отладку с брекпоинтами, ничего не понял как в этом разбираться. В том же кейл все интуитивно понятно.
>>251198>>251205Ну отлично, главное что работать будет. Маской\сдвигом значение сэмпла сегда получить можно.>>251208File->Import->General->Existing Project into Workspace и выбираешь директорию с исходниками, которые Cube сгенерил. Процесс отладки примерно такой-же как и в дргугих средах, ничего вроде необычного.
Как связать stm32vl discovery с виндой? Хочу запилить криптопроцессор, т.е. на вход стм с винды передаются данные, а возвращается результат хешфункции или блочного шифра. С чего начать написание драйвера?
>>251256USB драйвера на сайте ST должны быть.
>>251275Ты имеешь ввиду USB драйвер для программатора что ли? Ему то нужно будет свой драйвер пилить, если он будет через USB с контроллером общаться. Это гимор. Проще через UART + FT232
>>251318VCP есть, никакого гимора все пара кликов мыши в stm32cubemx
>>251367Но USB на контроллере самом это же все равно геморрой.
>>251371Не понял тебя. Это UART
>>251372А я не понимаю тебя. Если на контроллере UART, то в него включается железка FT232 которая включается в PC шные USB. На PC драйвер FT232 (не VCP). Вот это я называю простым вариантом. А ты про что?
Учусь программировать stm32vl discovery по этим статьям: http://stm32.chrns.com/post/149088613644/gpioОни написаны для другого чипа, поэтому я скачал документацию для своего: www.st.com/resource/en/datasheet/stm32f100v8.pdfНо в этом даташите нет таблички как на пикрелейтед, которая приводится в статье. Где мне взять нужную документацию, чтобы можно было заставить работать следующий кусок кода?void init_led(void){ RCC->APB2ENR |= RCC_APB2ENR_IOPCEN; GPIOC->CRL &= ~(GPIO_CRL_MODE0_0); GPIOC->CRL |= GPIO_CRL_MODE0_1; GPIOC->CRL &= ~GPIO_CRL_CNF2;}Диод подсоединен к ножке PC0.
>>251610тебе не даташит нужно а reference
у тебя ж там даже ссылка на него в этой статье прямо над твоим пиком
>>251654>у тебя ж там даже ссылка на него в этой статье прямо над твоим пиком Тогда я не понимаю, что я сделал не так. Диод подсоединил к ножке PC0, которая управляется портом C. Конфигурирую этот порт как здесь: https://ideone.com/3YmRVzНо программа работает неправильно.
>>251658Что на скрине внизу? Какая то куча ошибок компиляции. Это твое?
>>251659На каком скрине? Я показал функции инициализации из своего проекта. Они не компилируются на идеоне, потому что там не поддерживается компиляция под микрухи.
>>251660Понятно, я не знаю что такое идеон и зачем он компилирует, когда тебе просто нужно было код показать. init_led выглядит странно. где определено GPIO_CRL_MODE0_1?
>>251662>где определено GPIO_CRL_MODE0_1В stm32f10x_rcc.h>я не знаю что такое идеон и зачем он компилируетЭто просто онлайн-компилятор. Можно использовать вместо пастебина.
>>251666А, cmsis. Не понял зачем там CNF2 сбрасывается. Тебе же CNF0 нужно. Но по дефолту там нули так что должно все и так работать.
>>249353бля мне как раз f407 привезли.А ты меня обнадежил
>>251676не бзди, разница не принципиальная, некоторые вещи типа таймеров вообще без изменений, gpio немного подругому например, clock намного изъебистее, но тебе то какая разница, не сложнее, просто чуток по другому. а так все тоже самое, либы, принципы, среда, и четверг.
>>251669Ладно, дома проверю. Не мог бы ты объяснить, почему нужен именно CNF0 и что это за регистр?
>>251677а тогда шикарно.Мнеб еще в аналог вкатится и будет ништяк просто, потому что бесит:здесь не знаю, тут схему рассчитать не могу и поэтому кидаю на эту задачу МК(хотя там реально туфта наподобие генератора треуголного сигнала или хитрой схемы на одном-трех транзисторах), поэтому на stm перешел и вот как выкрою время-буду заниматься, но рассчеты в аналоге все так же неосилятор(в ньюфаг тредах читал книги до первых упражнений-не осилил и утонул).
>>251693Это значения битов в регистре CR. На пике из референс что ты запостил. На каждый пин четыре бита. Два бита CNF два бита MODE. Так как у тебя нулевой пин тебе надо MODE0 и CNF0.
>>251699Ну я тоже если выбирать между аналогом и контроллерами, мне проще запрограмить. И то и другое интересно, но аналог безусловно намного сложнее. Это как олдфаги, которые учились ездить на разъебаном стике с убитым сцеплением, а тут тебе дают коробку автомат и оно само едет.
Вот сегодня пришла STM32F3-DISCOVERYВсе как этот анон насоветовал>>249353и это по сути мой первый шаг в освоении программирования микронтроллеровдопустим, кабель тоже нашелсяА что делать дальше? Какие гайды, мануалы, что нужно на компьютер скачать нужна какая то прошивка или что? Как прошивать?
>>251989Ставь keil или что тебе больше нравится. Там весь софт\драйвера для прошивки\отладки уже должен быть.Аноны, а кто-нибудь с SIMD инструкциями заморачивался? Читал на каком-то форуме типо в лоб переписал что-то там, в итоге скорость просела из-за перегона данных между памятью-регистрами, или типо того.
>>252056а что дальше?как сделать так чтобы комп плату видел?
>>252076Ну вот уроки например.https://www.youtube.com/playlist?list=PLJTlt64jBcCuRgAMGImQzxRlYdSKa5Ifk
>>252080бразильчую
У меня есть stm32vl discovery. Имеется ли возможность с нуля на чистом winapi напердолить к этой плате драйвер для управления через usb, или кроме как запитать и прошить через usb больше ничего нельзя делать?
>>252121что значит "управление через usb"? обмен данными с твоим софтом работающим внутри stm32? или прошивать тебе надо через usb?
>>252121Шикарно драйвер на winapi
>>252125>что значит "управление через usb"? обмен данными с твоим софтом работающим внутри stm32?Да. Например, хочу, чтобы моим софтом внутри стмки можно было управлять, подавая сигналы при помощи драйвера.
>>252174По подробнее что за софт в нутри стмкиЗадачи
>>252202>Задачи Написать драйвер и охуеть от того, как я умею. Смысл не в цели, а в процессе ее достижения.
>>252277>Смысл не в цели, а в процессе Троцкист дохуя?
>>252277Для венды тебе DDK надо. Ну и в кубике какой класс USB выбираешь?
>>252277Посмотри в сторону HID пока данных немного тебе хватит с головой.Плюсы:Не нужны дрова - они стандартные в любой оси естьПростая реализация со стороны пеки - юзал libusb, работает, доебаться не к чемуСо стороны СТМки юзаешь готовый драйвер, останется только правильно заполнить дискрипторы, с чем я и пердолился большую часть времени.
>>252300Мне драйвер самому нужно написать, готовын решения не нужны. Хочу все с нуля зделать на WinAPI. Хочу прокачать скилс в написании дров и железе.
Бомба
>>252317Ты выбрал хороший способ заебаться! Читай application notes от ST. Возможно это все завернуто в примеры для USB в CMSIS. Там есть пример кода внутри STM32 и примеры драйвера для виндов кажется.
>>252317Ебаная идея, блядь. Сначала напиши под линуксы, там и документов, и гайдов уйма
>>252360линукс не вдупляю, только виндовс
>>252445Тогда жахни клинского и успокойся, программирование не для тебя.
>>252458 - это не я >>252360 писал, но идею поддерживаю. Ты обучишься линуксовской базе и драйверам быстрее, чем будешь переть по виндотеме. Оно же все онально огорожено и нативно
>>252458
>>252458Пердолинк с пинуксом принципиально не приемлю>>252466WinAPI прекрасно документированВ общем нет никакого желания ковыряться в этом школьном дерьме
Линупсы посасывают, у нас в Мытищах линуксоидам с вертушки в щщи прописываютДух старой школы живет только в венде, где пацаны угорают по SoftIce'у, живут молодостью, васмом и статьями Зомбы. WinAPI 359!
Что нужно прочитать что бы понимать как работать с оперативной памятью DDR3 и с постоянной памятью? NandFlash
Может есть профи которые подскажут как завести такую память ?ну давай приступимотбросим документированные и недокментированные нахуии просто вазамним себя богамичто нам надо писать? додик?всеже есть 7 уровневая модель бытиякузубова такоа знаеш философа?он ее пытался реализовывать на канальном уровнекстати модель знаний нехуевая очень и проста для пониманияна первом уровне биты - тое ты должен каждый бит отлавить етими ебаными транзисторами ну или оптронными ключами не суть важно ...второй уровень канальный устойчивые сигналы сформированные в пакеты ты должен перенаправлять...3 уровень программный здесь наши синеглазые и никто кроме их.4 уровень интерфейсов - функций здесь синеглазые спорят с механиками логики - каму ты нахуй нужен шизик со сваей пид функцией?5 уровень тут манагеры на своем пхп и прочей хуетена шестом уровне наши девачки уже обученные фотошопу и 3дмаксу и мае вопщем ляпают контент...на 6 уровне на 7 уровне и это все называеца законценная функциональная модельконечного девайса - продукта для хомячков
>>252549Даташиты. Что то хуйня, что эта. Мк, обычно имеет определённые ножки (адрес, данные, управление) и очевидную аппаратную поддержку. Работает тупо, мк выставляет адрес, стробирует, считывает, что с нанда, что с ддр. Если ее почему-то нет, пытаться поднимать дрочкой жпио ддр не стоит, это глупо.
>>252562То есть тот же Allwinner A13 должен сходу поднять подключенные к ней модули памяти?
>>252569Ну где-то надо еще указать тип памяти и тайминги, мб частоту завести с кристалла, возможно (как на оп-пике) сделать инициализацию, да и при программировании знать и учитывать диапазоны адресов, а так да, все тупо. Ну и, естественно, необходимо правильно развести оперативку, там своя история там одинаковая длина дорожек и подтяжка, я ее не знаю
>>252569Короче пишу как есть: если нанд или рам подключены не правильно, или их нет вовсе, а ты пытаешься с них считать, то операция пройдет без ошибок, просто ты считаешь мусор
>>252562Подключал НАНД к PICу через ЖПИО, было дело. Однако это медленно.С ДДР - хз скорее всего и вовсе невозможно. Нужен спец-блок - контроллер памяти.
У кого-нибудь получалось управлять https://ru.aliexpress.com/item/DC5V-1m-4m-5m-WS2812B-Smart-led-pixel-strip-Black-White-PCB-30-60-144-leds/32337440906.html?spm=2114.13010608.0.0.Ad1vIc при помощи этой библиотеки https://github.com/g4lvanix/0xWS2812 ? Взял STM32VLDISCOVERY и нифига не управляется, только при подаче питания бывает рандомно загораются диоды и горят.
Посоны, кто работал с Nordic nRF52?
>>253037купил два таких кольца, думал поуправляю AVRкой, не пинайте меня - хуй!Там длительность сигналов около 150 нано секунд. НАНО. Я разогнал мегу до 20 мегагерц и писал на асме без вызовов подрограмм, только sbr и cbr, ели включал нужный свет, об регулировании и речи не могло быть.
Как на плате stm32vl discovery найти boot0 и boot1 пины?
Есть 2 платы:EK-TM4C1294XL http://www.ti.com/tool/ek-tm4c1294xl#2 и STM32F4DISCOVERY http://www.st.com/content/st_com/en/products/evaluation-tools/product-evaluation-tools/mcu-eval-tools/stm32-mcu-eval-tools/stm32-mcu-discovery-kits/stm32f4discovery.html .На какую сам сядешь, на какую мать посадишь? Разница 200 рублей пользу СТ, но у ТИ есть ethernet, больше рам и вроде как писали, что у ТИ лучше документация.
Анон, скажи пожалуйста, нужен любой мощный (принципиально важно) процессор, на котором можно запустить линуху. Из всех вроде arm самые топовые.Охлаждение сделаю, цена не так принципиально (желательно до 3k). Требуется на оочень нагруженный проект по вычислениям. Микрокомпьютеры не пойдут (хотя арм от малины можно, только документации нормальной по типу stm так и не нашел.)Память должна быть выносной, порты usb (еслии3.0, то шикарно), gpio
>>253418>только документации нормальной по типу stm так и не нашел.В смысле не нашел? Идешь на http://infocenter.arm.com/help/index.jspОткрываешь Cortex-A7 MPCore processors и хуяришь, хуяришь, хуяришь...
>>253418Может лучше x86? Всё равно линух будешь запускать. Там такие же платы как малина, со всеми usb.
>>253418>Требуется на оочень нагруженный проект по вычислениямВычисления или реакция? какие вычисления? объем? купи mini-itx и i5 на него, если нету ограничений по питанию и объему - переварит что угодно при должной оптимизации алгоритмов.
Решил посмотреть такты FPU инструкций.http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0553a/CHDJAAJF.html>Addition VADD.F32 1 Cycles>Multiply VMUL.F32 1 Cycles>Multiply Then accumulate VFMA.F32 3 CyclesКак так? И нахуя тогда нужна VFMA.F32 если она на один такт больше жрет чем две инструкции?
>>253552помощь компилятору в -O3 ситуации
>>253554В чем помощь? Типо использование одной инструкции дает более комактный но менее производительный код? А в случае -O3 развернет в две инстркуции, которые на 1 цикл быстрее отработают?
>>253418Понятие мощности оче растяжимое. В чем заключается, в математике? Ищи системы ARM+dsp, вроде blackfin.Алсо, почти досвязал Qt + ASF + JLink
>>253562да это помогает компилятору и процессору заниматься спекуляциями, ведь выбирать инструкции из памяти тоже тяжолая работа
ADC+DMA скидывает семплы в буфер, по заполнению буфера\половины буфера, выкидывается прерывание. Цикл в Main молотит данные из этого буфера. А вот собственно как в обработчике прерываний сигнализировать, типо "бери в работу первую\вторую половину буфера"? Через глобальную переменную с тремя состояниями, "данных нет", "есть данные в первой половине буфера", "есть данные во второй половине буфера". Типовая задача же, кто как реализует?
>>258260два прерывания. одно возникает когда половина, втрое - когда полностью
Помогите разобраться начинающему с ADC.Почему-то значение, полученное с канала ADC, выходит за рамки 12-ти битного числа. Конечно, если выполнить >> 4, результат получается правильный, но как-то странно это.Анициализация:ADC_InitTypeDef adc_setup;adc_setup.ADC_ContinuousConvMode = DISABLE;adc_setup.ADC_Resolution = ADC_Resolution_12b;adc_setup.ADC_ScanConvMode = DISABLE;adc_setup.ADC_ExternalTrigConv = ADC_ExternalTrigConvEdge_None;adc_setup.ADC_DataAlign = ADC_DataAlign_Right;Чтение результата:ADC_RegularChannelConfig(ADC1, ADC_Channel_13, 1, ADC_SampleTime_56Cycles);ADC_SoftwareStartConv(ADC1);while(ADC_GetFlagStatus(ADC1, ADC_FLAG_EOC) == RESET);val = ADC_GetConversionValue(ADC1);
>>258904может значение adc записывается в старшие 12 бит в твоём случае, а не в младшие? посмотри настройки adc
>>258904но почему это происходит не смотря на это:adc_setup.ADC_DataAlign = ADC_DataAlign_Right;
>>258970Попробуй Left, и сравни результат, что ты как маленький.
>>258983>>258965Вы таки будете смеяться: ничего не менял в коде, сегодня глюк самоустранился.
Ананасы, помогите!1. Пропала вся периферия в меню View->System Viewer2. На неподключенных входах АЦПа прыгают байты, но при подключении AUX кабеля от телефона там просто нули.
>>187056 (OP)люто-бешено проебался и понял что не хавтает портов уже в середине проекта. прошу помощи: необходимо использовать spi программны, т.к. порты на которых spi1 контроллера уже занят . помогите советом как реализовать clk на обычно порте программно на stm32f030. хотел же блядь брать stm32f103 сука. оебят выручите плиз
>>259598Только вчера пилил програмный I2C, работает.SPI проще же там сигналы однонаправленые. Поищи либу не обязательно даже для стмки и перепиши кусочки где запись/чтение пинов. Однако есть одно существенное НО. Скорости от такой схемы не жди.
>>259634>Скорости не ждичому ?PA_CR2 = 1 или нет
>>259634можно поподробнее. всмысле чтение пинов? библиотеку spi? stdperiph подойдет? я с ними работаю.
Так, щенки.Кто из вас имел дело с пикрелейтедом? Цена сравнима с аналогами, есть даже макетные платы по 5К за штуку.
>>259664Имею дело с 1986ВЕ1Т. Обычный ARM-микроконтроллер, не лучше и не хуже множества других.Розничная цена К1986ВЕ92QI около 800р, аналогичные STM32 у нас в розницу продаются за 250р. Поэтому целесообразность использования их в самоделках сомнительна.Хотя, стоимость деталей в любой самоделке часто намного больше стоимости микроконтроллера, поэтому может и есть смысл их использовать.
>>259683щенок
>>259683Какие ощущения от сего поделия? С какой периферией использовал его?
Анон, я знаю, у тебя есть. Скинь реализацию модбас рту для твоего СТМ32, надо и мастер и слейв
>>259656http://www.avrfreaks.net/forum/spi-bitbang-implementationВот прям почти все готово, но это АВР-ка. Замени содержимое четырех первых функций из названий понятно что они должны делать.>>259744Юзал freemodbus на всех своих подельях и не арм тоже. Там есть порты на разные контроллеры и на армы тоже.Возможно придется написать колбэки для1. Инициализация/сброс таймера2. Чтение/запись UART3. Обработчики перываний UART и таймераОни все очень простые, смотри примеры.Конкретно скинуть не могу рабочий проект, да и реализация сильно завязана на остальные части проекта, понять примеры будет много проще.
>>259757А разве в мастер она умеет? Есть где-то пример?
>>259710Использовал все кроме CAN, USB и ethernet.>Какие ощущения от сего поделия?По набору периферии мало отличается от других микроконтроллеров, разве что I2C иногда не хватает. Errata по объему не отличается от каких-нибудь STM32.
>>259763Тут вот какая хрень.Я юзал только Slave, однако в одном проекте у меня был Nuttx на STM32F103 и там несколько проапгреженая версия freemodbus с поддержкой Master, в ридми написано, что мастер взят из https://github.com/armink/FreeModbus_Slave-Master-RTT-STM32
Сап, арманы.Где можно найти примеры готовых устройств и кода, разработанных на STM32? Чтобы лежала схемота, описание функционала и исходники.Например, как вот такая дикая годнота: http://rusefi.com/wiki/index.php?title=Main_PageИнтересно читать примеры кода для досок разработчика, но там в основном изи примеры из разряда мигалок светодиодом.
Отпал JTAG на Атмеле at91, армчик, утилиты не хотят коннектить устройство, получают кривой ответ от мк. Программатор - сеггеровский жлинк, рабочий, да и тыкал двумя разными. Контроллер работает, по дебаг-порту пишет лог... Рентгеном проверяли, не было непропаянных шаров, там все спаяно норм. Дорожка тоже не битая, не было кз по жтагу, он тупо отказал в момент отладки (правда, я отлаживал и зашивал бутлоадер).Может ли быть проблема внезапно быть в прошивке? Ну типа волею случая в первой инструкции лочит жтаг. Прошивка в spi-флешке.Как можно полупрограммно проверить жтаг?
Ананасы, существуют ли вообще в природе нормальные, мощные (например, где-то на уровне Exynos5422, который в ODROID XU4) арм-одноплатники без ебучего нахуй мне не нужного GPU и с относительно большим количеством периферии? Бюджет - желательно не больше 100$.
А есть ddr3 чипы в soic/tsop? Ну или можно развести bga на одном слою?
>>261293Нет. Нельзя зависит от DRC производителя платы.
поцаны котята, bootloader на мобиле ардуины где записан? и внтрунняя память, она внутри проца или отдельной микрухой?
>>261443ну бампчик же анонасики
>>261443Че за грибы бля. Бутлоадер в атмеге записан. Внутренняя память внутри. Есть способы её расширения внешним чипом, но не все атмеги это умеют. Или ты про другое?
>>261498бляяя я обосрался анонас, прости что ввел в заблуждение не ардуины сука я тупой АНДРОИДА хотел сказать >>261443-кун
>>261498>>261443просто хочу разобраться как там бутлоадер устроен ковыряясь в старых андроидофонах что у меня лежат. И по возможности накатить туда что то типа арчлинупса.Я гуглил про те вопросы что сейчас ниже спрошу. Инфа очень размытая в инете может у кого есть годная инфа про архитектуру андроидофонов буду рад почитать.1) Как происходит разблокировка бутлоадера. Да я знаю что некоторые производители предоставляют возможность по адб разлочить, мне интересно какой принцип. Типа мы по адб связываемся с процом ведроида, и выставляем там какой нибудь бит посредством команды fastboot oem unlock? 2) Куда зашит сам бутлоадер, в отдельной ром микрухе? Или внутри самого проца? Получаеться чтобы перезаписать ром мне надо что то процу сказать? 3) Где лежит раздел /boot/ как я понял там находится ядро линупса андроидного? И к нему можно получить доступ если разлочить бутлоадер. Они лежат в одной ром памяти? Или это две разные физические микросхемы?3) Что представляет собой внутренняя память андроида? встроенная память по типу sd карты?4) Раздел / корень андроида, если его рутануть, это раздел /data/ или раздел /system?
>>261624Благородным делом занимаешься Антон, жаль не могу помочь ни чем. Сколько ебли с той же оранжевой пи, а уж про рандомный планшет и говорить не чего. Не подьемное дело
>>261633может я нивтом треде? типа увидел арм типа написано но тут типа слишком низкоуровнево и на уровне железа токо помогают? может где есть операционных систем и архитектуры тред?
>>261639чот я капчей обдвачевался аж задаблпостил
>>261639Все нормально, тред именно тот.Собрать ядро и прошить линаксом планш с нуля архи сложная на сегодняшний день задача.
хотя был один пиздюк на ютабе - на Qualcomm QSD8250 слакварь установил
>>261642ну ок, если кто знает или чо пускай советует я не тороплюсь. Если чо сам смогу отпишусь
>>261657Пиши что нароешь оче интересуюсь темой.
>>261664Присоединяюсь к этому антону.Могу порекомендовать найти и поковырять аппараты Sony 2012 года, тк на них утекли доки и полный набор исходников (там еще был срач, что какой-то тип не хотел накатывать защищенный правом драйвер на BT и пытался родить решение сам).
>>261912сейчас у меня старый хтс андроед 2.2 дохуя доков на xda 4pda пока ковыряю.
>>261918>дохуя доков>4pdaКакие нахуй доки в этой обителе умолишенных пидорашек
>>261981про adb прошивки и тд.
>>261624У тебя же на картинке верная схема. Я сейчас расскажу про оп-пик. Бутлоадер пацаны дома используют u-boot лежит в 0 адресе памяти, например, nand. Проц имеет т.н. bootstrap программу - набор команд по простейшей инициализации всей памяти на борту. Потом этот бутстрап делает опрос памяти (сначала с spi, потом nand, i2c, mmc), он ищет особый заголовок (20 байт каких-то там чисел и размер прошивки в байтах). Находит заголовок, и загружает в свою маленькую внутреннюю оперативку код, как раз уже загрузчик u-boot.U-boot загружает ядро с той же нанд флешки. Кернел уже инициализирует фс с тем учетом, что на флешке уже есть инфа и нужно начало выбрать смещенное.Нормой хранить загрузчик и ядро на разной памяти. Ю-бут мощный, от тебе и с интернета ядро загрузит.Я хз как точно сделан загрузчик в телефоне, вероятно, что есть загрузчик загрузчика , который лежит в пзу чипа, чтобы в случае проблем с нанд флешкой можно было бы полностью записать туда систему. И этот первичный лоадер как раз может контролировать разблокировку лоадера.
>>262086это второй щаг на загрузке
>>262090>щаг
Привет анон. заказал пикрелейтед.это STM32F103C8T6Как заливать в неё код?знаю можно через usb uart, но какой?знаю, что можно прошить загрузчик, чтобы потом по распаянному usb можно было, если есть такой, кинь соус на него, в гугле не нашел.Я ньюфаг, перехожу с arduino на st
>>262119Посмотри по схеме.Вроде в STM32F103C8T6 нет USB, а на плате не видно USB<>UART.
>>262131все там есть
>>262119>знаю можно через usb uart, но какой?Через любой с уровнями 3,3В Что-нибудь на PL2303, CP2102, FT232 и подобных. Подойдет даже из ардуино, если там уровни 3,3В.Для загрузки используется программа: http://www.st.com/en/development-tools/flasher-stm32.html>>262131>Вроде в STM32F103C8T6 нет USBЕсть.>>262119>чтобы потом по распаянному usb можно былоНет смысла. Купи лучше J-link, сможешь пошагово выполнять программу на микроконтроллере.
>>262136Два мк тебе анон.но смысл загрузчика есть - будет загрузчик, покупать не че ненадо будет.пошагово - в чем профит?
>>262137Отладка программы же. Залил что-то своё, а оно не работает, как узнать, в чем проблема?
Ночи.Есть спаянная плата радара, есть прошивка. Вопрос, как её туда впихнуть и что для этого использовать? Анон, твоя помощь весьма кстати З.Ы. Допиливаю ссыль до кучи на весь проектик https://github.com/Ttl/fmcw2
>>262136> Нет смысла. Купи лучше J-link, сможешь пошагово выполнять программу на микроконтроллере.Джва килобайта sram этому.Без отладчика тяжело крупные проекты пилить, иногда оно тупо не запускается, будто сжег все, а с отладчиком всегда моно найти траблу. Да и не дорогое удовольствие совсем.>>262193Сириусли, ты, значит, собрал это поделье, а как прошиться подумал в последнюю очередь?>jtag не подключенТы что, расчитываешь, что она без пердолинга возмет и заработает?>uart0 я не нашелСтандартный загрузчик не заюзаешь>есть юсбМожет у этого проца есть загрузчик с него?>есть spi флешка U3Вангую, что проц может грузиться из неё, но опять же как должен быть сформирован образ - хз
>>262193http://www.nxp.com/documents/user_manual/UM10503.pdfСтраница 53. Да, может грузится через USB и с флешки.Так как эта схема на основе hackrf, то стоит смотреть руководства по hackrf.Еще одна минута поиска: https://github.com/mossmann/hackrf/wiki/LPC43xx-USB-DFU-NotesОстается только сравнить эту схему с hackrf в части USB и ножек BOOT[0:3]
Господа, не сочтите за труд.Вы тут разный скарб покупаете регулярно, где берете? Я вот себе хочу МАЛИНКУ прикупить, дома серверок поставить для личных нужд. Сначала хотел пойти на АМПЕРКУ и купить за семь тысяч коробку с МАЛИНКОЙ и другой поебенью, но мне кажется, что руснявые наебывают с ценой. У них коробочек аж восемь сотен стоит, сука. А на Али сходил прицениться - там цены будто случайно выставляют, абсолютно одинаковые коробки с малиной могут быть и за две с половиной, и за четыре. Что посоветуете? Если кто-то брал МАЛИНКУ на Али и может посоветовать, я буду только рад.
>>262445https://ru.aliexpress.com/store/908915?spm=2114.12010608.0.0.Q5HAV4У этого заказывал всё. Всё натуральное
>>262446Прости, у меня глаза разбегаются. Что заказывал? У него есть набор, чтобы собрать и сразу поставить? Ну, сама МАЛИНКА, БП, карта памяти, кажется.
>>262446А куда они вообще доставляют? До почтового отделения или до квартиры?
>>262445 Если тебе нужен лишь хеадлесс сервер, то посмотри OrangePi или NanoPi они дешевле и вполне себе юзабельны с Armbian. Однако если хочешь использовать gpio/камеру/прочие низкоуровневые функции или же мультимедиа приложения (plex, retropie, итд) бери малинку без вариантов.>>262446 Малинки настоящие, бп и карты памяти китайские.>>262447 Бери голую малинку, с качестве БП сгодится фирменный телефонный зарядник на 2А, карту samsung evo+ лучше купить в рознице.>>262457 Посылки дороже 5$ как правило китайцы шлют с треком/отслеживанием их доставляют до отделения, а домой тебе приносят извещение. Посылки без трека кидают прямо в ящик.
>>262470Какаю плату лутше взять для обучения асемблеру? Чтобы прошивать и IDE была.
>>262499Никакую. Хватит симулятора в IDE. В симуляторе только периферия обычно не соответствует реальности.А изучение ассемблера и изучение работы с периферией это не одно и то же.
>>262508Мне ядро изучать надо Linux. Надо конпелировать ядро, чтобы ставить свое оптимальное ядро на платы. С какой платы лутше начинать? Распбери пай на китае заказал уже, зря наверное
Господа, кто пишет под кортексы STM на линукс? Какими средствами пользуетесь, а то у меня SW4 работает просто через жопу и хочу понять, один ли я такой невезучий.
>>262515кубик под линукс есть?
>>262521Cubemx есть, как его компилить через make?
Где купить нанопай на али слишком дорого может знает кто.
>>262470>>262446Здоровья вам, незнакомцы. Заказал на Али МАЛИНКУ в наборе только с нужными мне компонентами, а не как у руснявых с кучей рассыпухи без задач, блять. Еще заказал Ардуино, но ее пока не выслали.>>262645Просто в хуй дунь, мразь.
>>262645 На офсайте, там доставка 7$. Если заказывать парочку то не так уж и дорого.
>>262731отсюда www.nanopi.org ?или отсюда nanopi.io ?Как у них с доставкой в Пахомию?На гербесте NanoPi-NEO-Air только с 256М и стоит 1000р
Есть у кого-нибудь опыт сборки юбута? У меня SPL не загружает сам юбут, точнее, не срабатывает функция выполнения с загруженного. Плата кастомная, отлаживаюсь через gdb.
>>262750Если у тебя JTAG, то не должно быть проблем найти почему не грузится, а так тоже интересно как оно там всё собирается у людей, может скоро пригодится.Алсо, в u-boot'e же дохрена всего, можно-ли как-то поднять своё приложение поверх него? Типо использовать его либы и интерфейсы?
>>262743 friendlyarm.comДоставка china mail до дс уже 6$.>>262743 Там обычный NanoPi NEO, не AIR. AIR идет только с 512мб и заметно дороже.
>>262787>friendlyarm.comблаго дарю
>>262750Есть опыт.Кристалл - SoC? FPGA+ARM? Что за плата? Какой проц? SPL в ддр лежит? Уточняй параметры.Навскидку советую проверить в s_init: включается ли ддрка. Смотри config.h. для твоей платы environment - че там в параметрах накрутил.Я обычно собираю убут в config_minimal и вручную инициализирую интерфейсы.> Алсо, в u-boot'e же дохрена всего, можно-ли как-то поднять своё приложение поверх него? Типо использовать его либы и интерфейсы? Можно. Команда source <addr>. Но зачем? 99% Задач убута - врубить периферию и выполнить bootm для загрузки линукса или что у тебя там. Городить там что-то свое никому нахер не нужно.> Если у тебя JTAG, то не должно быть проблем найти почему не грузитсяДействительно, никаких проблем, если бы не -OsTI эмбед-инженегр в треде. С AlteraIntel фпга тоже немножно работал.
>>262509Расбери вполне хватит. Распбиан же.>>262720Не вижу смысла брать даунинку, если взял расбери.TI-ембед-инженегр
>>264511> Действительно, никаких проблем, если бы не -OsЯ уже и с -Оs придрочился отлаживать. Да, половины переменных не видно, да шагает хуй пойми как, выбора не было, только боль и страдания.> Можно. Команда source <addr>. Но зачем? 99% Задач убута - врубить периферию и выполнить bootm для загрузки линукса или что у тебя там. Городить там что-то свое никому нахер не нужно.За тем, когда линукс избыточен, а в у-буте уже достаточно всего. И не через команду, а на этапе кококомпиляции прилепить к нему своё приложение.
>>264511Раскидай за камни олвинер, распери или вообще хуй86. Хочу потеребить кортексы, но смущает очень малая информация о том, как писать модули ядра на линукс и вообще поддержка от производителей.
>>264541> За тем, когда линукс избыточен, а в у-буте уже достаточно всего. И не через команду, а на этапе кококомпиляции прилепить к нему своё приложение.Насчет прилепить хз, но никто не мешает разместить отдельно скомпиленный код в nand/загрузить по тфтп и дать команду go <addr>. Насчет source напутал - эта скрипт выполняет. А go - выполняет код. Если от убута нужно только включить периферию, то в конце s_init() функции пихай свой код и не еби голову. Но имхо, это пиздец, какое извращение. Лучше из убута надергать код, где выставляются регистры девайсов в свое приложение.http://www.denx.de/wiki/view/DULG/UBootStandalone - тут про загрузку отдельных приложений.Что за камень хоть? И что плата делает?>>264543> смущает очень малая информация о том, как писать модули ядра на линукс и вообще поддержка от производителей. Написание модулей аналогично написанию на десктоп: пишешь, добавляешь printk, компилишь, делаешь insmod и крашишь систему смотришь, что в dmesg свалилось. Если производитель уже написал тебе API для работы с нужными девайсами (они в arch/arm/mach-<имя твоей платформы>), то заебца. Если нет, то берешь даташит на проц и в модуле сам инициализируешь значения регистров.По камням: Пох на камень, важна архитектура и обвес SoC. Смотри arm a8/a10: cubieboard с олвином, raspberry с бцм - твой выбор. Жирный обвес = один раз купишь и на 10 лет наиграться хватит: и диодами поморгаешь, и линукс накатишь, и со звуком поиграешься, и вообще в космос слетаешь.
>>264702> Что за камень хоть? И что плата делает?Я ТЕОРИТИЧЕСКИ спрашивал. Может быть когда нибудь
>>264511Я накатил юбут, спасибо за ответ. Сейчас возникла другая проблема - юбктовская функция get_ram_size() получает только 32мб вместо 256. Кристалл - atmel at91sam9x25 (серия МК at91 на ядре arm926ejs). Оперативка - micron mt48lc16m16 (sdr, это как ddr, только single, 0:12 row, 0:9 column). Проблема вот в чем: при записи в 0 адрес ram (не считая смещения 0x20000000 микроконтроллера), инфа записывается и в 0 ячейку и одновременно в 0x08000000 адрес , аккурат в 32х мегабайтное смещение. Да, инфа валидная, записывал через жтаг, проблема повторяется со всеми адресами подряд... Видно, будто ножки спаялись вместе, но на рентгене все было нормально, а прозвонить не получится, tp нет и корпуса с выводами вниз. Тайминги настраивал и всячески крутил, в т.ч. понижая и повышая, в целом уменьшал скорость работы sdr, переписывал и четко следовал даташиту по инициализации контроллера оперативки, но все равно определяет неверно. В чем может быть проблема, я непонимат
>>264793> четко следовал даташиту по инициализации контроллера оперативкиСкорее всего что-то упустил, потому что похоже, что в контроллере неправильно указаны размер шины адреса/конфигурация и количество банков именно для твоей микрухи памяти. У меня давно была такая фигня, правда на другом процессоре. Тоже сначала думал, что ноги спаялись, оказалось, что один бит в конфигурационном регистре недоглядел
>>264801Боюсь, что все верно, потому что сам на это грешил. Перепроверил раз 10, на всякий случай выставлял неверные значения. Более того, атмел статью выпускал с конфигурацией той же памяти (столько же банков, та же модель, только тайминги чуть ниже) с мк моего семейства at91. Не помогло. Я грешил на гонку на линии (автор схемы мог выровнять их), но вроде как сильно увеличенные тайминги должны были решить длину.. Да и до этого адреса оперативка работает.
>>264817> Я грешил на гонку на линии (автор схемы мог выровнять их), но вроде как сильно увеличенные тайминги должны были решить длину.. Да и до этого адреса оперативка работает.Та не, если бы это были гонки, то память бы просто работала хреново, а так у тебя она же нормально работает, это явно что-то в адресе. Проверь по схеме, правильно ли шина адреса подключена и шина выбора банка
>>264818Посмотрю тогда 9го. А вообще, вот неплохая статья http://processors.wiki.ti.com/index.php/Common_DDR_IssuesАлсо, сколько ты получаешь денег? :3
>>264820> Алсо, сколько ты получаешь денег? :3Когда разбирался с адресацией sdram, а это было примерно в 2009, получал примерно 8к, лол. Сейчас, после налогов, 90
>>264793> micron mt48lc16m16> получает только 32мб вместо 256Чувак, я вспомнил, память у них считается в битах, а не в байтах. То есть там 256 мегабит, что как раз равно 32 мбайт. Посмотри датащит на память, там написано в начале> The 256Mb SDRAM is a high-speed CMOS, dynamic random-access memory containing 268,435,456 bits.И конфигурация 16m16 как раз означает 16 миллионов 16-битных слов. Так что всё нормально
>>264793>Проблема вот в чем: при записи в 0 адрес ram (не считая смещения 0x20000000 микроконтроллера), инфа записывается и в 0 ячейку и одновременно в 0x08000000 адресПовторение значений очень похоже на то, что в конфиге убута ты неверно указал размер памяти, подключенной к chip select-у. Насчет 32 МБ, а не 256 уже сказали. Попробуй в качестве эксперимента указать 16 МБ в DDRSDRC. Проверяй NR ака row bits.> Я грешил на гонку на линии (автор схемы мог выровнять их), но вроде как сильно увеличенные тайминги должны были решить длину.. Да и до этого адреса оперативка работает.Гонки на линиях вроде только в ддр3 начинаются ибо частоты на порядок выше, не? Их легко избежать, снизив частоту до минимально поддерживаемой чипом. Снижай клок с контроллера до минимального.
>>264825>>264822Ууух блят аноны давно такого баттхерта не было. Действительно, 256 мегабит, а не мегабайт. Аштрисет от своей невнимательности и тупости. Дааа блин. Спасибо, ребята, оно все работало правильно, теперь перепишу конфиг юбута
Раданы, как узнать сколько тактов занимает выполнение опредленного куска кода? Есть такая функция в пятом кейле?
Сап, радач.Собираюсь обмазаться RTOS, так получилось, что первый кандидат у меня RTX-Kernel от Keil (задача допилить старый проект), поэтому хочу прояснить для себя: RTX-Kernel был под MDK-ARM v4, а под MDK-ARM v5 сейчас что-то новое? Есть ли смысл разбираться со старым или лучше сразу начать новый?
>>265025Насколько я знаю, нет такого. Есть только Performance Analyzer и Execution Profiler. Вркатце - меряют время выполнения инструкций и количество вызовов.http://www.keil.com/support/man/docs/uv4/uv4_db_dbg_perfanalyzer.htmhttp://www.keil.com/support/man/docs/uv4/uv4_db_dbg_execprofiler.htm
Сап.Не могу врубиться, можно ли сделать на attiny85 (digispark), с помощью V-USB, USB to Serial преобразователь? Нужен софтварный Serial, туда просто ретранслировать данные с USB, только вот с реализацией не могу разобраться...
Радач, подскажи пожалуйста камень с двумя Ethernet MAC и борду под него.
>>266227У бля, на оппике же. Сорян.
>>266227Или тут >>249679 - NUC972.Всего 3 напряжения - 1.2 + 1.8 + 3.3Встроенные 64MB DDR2, 300 MHz ARM926.Так же 2 Ethernet 10/100Mbit (RMII only).
>>266227Вот еще сам себе отвечу SAMA5D3 Xplainedhttps://www.terraelectronica.ru/catalog_info.php?CODE=1333939И цена не сверхъестественная. И поддержка CMSIS есть.
>>187056 (OP)Антон, моргающий диодами на еду. Подскажи, реально ли мимохую вкатится в сферу?Давно занимаюсь на уровне мелкого любительства, очень люблю это. Хочу полностью уйти в это, но я не гений и боюсь без профильного буду послан на хуй. С чего мне правильно будет начать? Какие знания и на каком уровне НЕОБХОДИМЫ, а какие желательны?
>>267216>очень люблю этоЗначит всё получится>но я не гений и боюсь без профильного буду послан на хуйЭто тебе не теоретическая физика. Задачи в принципе на уровне ПТУ, никаких многоэтажных дифуров и прочей хуйни, нормально в-общем, это лишь ремесло>С чего мне правильно будет начать? Какие знания и на каком уровне НЕОБХОДИМЫ, а какие желательны?Да везде по-разному кончено. Но С конечно же знать необходимо. Ну и архитектуру, примерно как работает вся эта хуета, даже не знаю, чего добавить. Бери короче и пиши что-нибудь, по ходу наберешься опыта и знаний. Лучше всего танцевать от задачи, а не от теории
>>267272Ты может не правильно меня понял, анон, в перечисленное тобой я уже умею, в той или иной степени. Меня интересует как вкатится в профессиональную область. Что потребуется там? Какие знания требуются, что бы устроится мартышкой на подсосе? Где искать такие фирмы?
>>267278>Какие знания требуются, что бы устроится мартышкой на подсосе?Ну я нашёл НИИ рядом со своим универом, пришёл студентом и сказал, возьмите меня, правда я низуя не умею. Там уже набирался опыта за еду, ребят спрашивал, что да как, потом перекатился в нормальную контору
>>267283По подробней перекат не опишешь? Что хотели? Что спрашивали? Всем ли устраивал? Были ли трудности?Тебе самому макака бесплатная не нужна? доплачу еще, лол
>>267285>Что хотели? Да ничего не хотели. Вообще были немного удивлены, что я сам пришёл (я на 5 курсе был). Я просто прошарил, что рядом есть контора, которая занимается тем, что мне интересно и пришёл.>Что спрашивали?Была у них стандартная методичка с вопросами. В основном по интерфейсам, сетям, FPGA, процессорам. Я наверное ответил на пару вопросов из 20. Но сказал, что сильно хочу вкатиться, и мне поверили> Всем ли устраивал?Ну формально ничем не устраивал, лол> Были ли трудности?Было пиздец сколько много новой информации. Было трудно читать всё на английском, лазия в словарь за каждым словом из документации, а там сотни страниц. Просто голова пухла от этого всего. Пару месяцев ходил как зомби блять. Но с другой стороны, я вообще не тогда знал ничегоВообще, в таких государственных совковоподобных НИИ за работу почти нихуя не спрашивают. Там в основном функция у работника - майнить человеко-часы, чтобы побольше бабла можно было распилить под определённый проект. Бывали случаи, когда крупные конторы толпами набирали студентов под распильный проект. Зарплата соответствующая. У меня было что-то вроде 4к на полставки, но это было давно, и вместе с повышенной стипендией хватало на пожрат. Но есть плюс в том, что у них дохуя аппаратуры, даже довольно современной, и людей, которые что-то шарят (процентов 30% от всего персонала, остальные - пиздец никакие), у которых можно что-то спросить.Но сейчас я вижу самый лучший вариант старта - устроится интерном в какую-нибудь западную, ну или нашу понтовую и коммерчески успешную контору. Но это трудно. Зато очень хороший старт>Тебе самому макака бесплатная не нужна?Нет, нам нужны теперь хорошие специалисты на высокую зарплату
>>267286Я про перекат в нормальную контору =). Про НИИ так и думал. >Нет, нам нужны теперь хорошие специалисты на высокую зарплатуВ контексте выше смотрится особенно весело.ПС Изучение ПЛИС это "не плохой бонус", "желательно" или "обязательно"?В любом случае спасибо, за разъяснения.
>>267288>Я про перекат в нормальную контору =). Про НИИ так и думал.Я там пару лет позадрачивал, набрался опыта немного, разобрался что к чему, а потом - в нормальную. Увидел объявление в интернете, там были требования, в которых я уже после НИИ хоть что-то понимал. Написал, договорились на собеседование. Пообщались, позадавали мне всякие вопросы про архитектуру процессора, про ядро, кэши, ДМА, память, оптимизацию. По языку Си вроде даже не задрачивали, по крайней мере ебанутых вопросов в стиле "разбери, что делает этот говнокод" не было. Что-то ответил, что-то не ответил. Но даже про то, что не знал, пытался логически рассуждать и на ходу догадаться до правильного ответа. Это, кстати, было высоко оценено и понравилось будущим коллегам. Ну немного про системы контроля версий, которыми в НИИ естественно никто не пользовался, лол. Еще, могу ли я хоть что-то понять на английском, а я уже тогда довольно бегло читал техническую документацию, но это даже не проверяли. Ну потом перезвонили, озвучили сумму и условия, и я согласился (еще бы)>В контексте выше смотрится особенно весело.В сегодняшнюю нормальную, не в НИИ, как ты уже понял>ПС Изучение ПЛИС это "не плохой бонус", "желательно" или "обязательно"?Ну если будешь писать прошивки для ПЛИС, то обязательно, лол. Вообще, плисоводов традиционно мало требуется
>>267290>Ну если будешь писать прошивки для ПЛИС, то обязательно, лолНу, я думал, что все хотят что бы и жнец и швец и на херу сидец.>Пообщались, позадавали мне всякие вопросыБумаги о образовании? Вообще насколько с этим строго и насколько обращают внимание? Если не по себе, то м.б. коллеги есть без бумаг о профильном, а то и вообще вышки.
>>267295>Ну, я думал, что все хотят что бы и жнец и швец и на херу сидец.Не, успешные конторы потому и успешные, что в них есть разделение труда. Мне, например, никогда не приходилось лезть в ПЛИС или в верилог. В свою очередь, плисоводы никогда не лазят в мой код, и это прекрасно>Бумаги о образовании? Вообще насколько с этим строго и насколько обращают внимание?Вообще походу всем насрать. Нужны были только в отделе кадров, такие правила российского законодательства. Короче, в мой диплом никто и не заглянул, просто сняли копию и засунули в папку с документами в отделе кадров> Если не по себе, то м.б. коллеги есть без бумаг о профильномНе знаю, что ты подразумеваешь под "профильным образованием". Есть у нас всякие. Ну вроде инженеров-строителей по образованию или там инженеров-нефтяников нет. Кончено, диплом магистра в computer science даёт преимущество, но скорее только в знаниях, и не является обязательным> а то и вообще вышкиДа вроде все с вышкой, я особо не интересовался
>>267301Спасибо за твои вопросы.
>>267301После таких постов чувствую себя на днище. Сам себе и плисовод и быдлокодер и схемотехник и на пеку обслуживающий код ебашу. И всё это за 18к в мухосрани.Одно отрадно: ни кто не подгоняет. Если лень одолела - могу и нулевую поскролить и хуи попинать.
>>267390Ну ты надеюсь этим не долго планируешь заниматься?
>>187056 (OP)Есть одна йоба, с которой нужно оцифровать до десятков миллионов отсчетов без потерь с частотой выборки около 1мгц, после чего их неспешно слить по любому удобному протоколу на пекарню для дальнейшей обработки.Возможно ли реализовать подобное малой кровью (с точки зрения железа, не влезая в разводку и производство кастомых плат с bga, трассировку дифпар и тому подобного), например, на paspberry pi или подобной девборде? Или только хардкор с топовыми армами или на плисах?
>>268121>десятков миллионов отсчетов 1МГцэто ~мбайт данный в секундув твоем случае только АЦП+ПЛИС+FRAM+ARM для управления и выкачивания данных из памяти.
>>268129FRAM таких объемов если и существует, то слишком дорогая.Хватит микроконтроллера с SDRAM.Возьми STM32F429 Discovery или перерисуй оттуда проверенную схему. Вот только не понятно, будет ли нормально DMA складывать отсчеты во внешнюю память.Возможно окажется проще передавать напрямую, смотри как сделано в airspy mini.
>>268131>SDRAMтоже подумал что поспешил с плис и кортехаМ4 с сдрам тут должно хватить.
>>268121> Есть одна йоба, с которой нужно оцифровать до десятков миллионов> отсчетов без потерь с частотой выборки около 1мгц,Пфф, я такое на stm32f4discovery с сетевой платой делал. У меня еще и стек tcp/ip одновременно работал, и передавал я всё это по сети на комп. Делал двойную буфферизацию через ДМА и передавал примерно по 500 16-битных отсчетов за раз. Ничего, естественно, не терялось>>268129> в твоем случае только АЦП+ПЛИС+FRAM+ARMСразу видно попильщика из совкоподобного НИИ. И 5 человеко-лет на это всё, да? Чтобы если пилить так миллионами
>>268141>Ничего, естественно, не терялосьЧто ж, спасибо, буду смотреть сюда, если не пошлю всех нахуй.>Сразу видно попильщика из совкоподобного НИИ. Лол, ты угадал. Предлагают пилить на девборде на fpga c pci-e, и писать данные без буферов непосредственно в память пекарни. Подумалось, что если не пиздят что такое вообще возможно, то может и распберри пи потянет. я ноль в цифре, но предложение запилить 32-битную параллельную шину с гальванической развязкой кажется маразмом, проще же взять какой-нибудь уже развязанный эзернет или сделать на уарте.
шину - в смысле пятиметровую IDC-кишку для связи установки с пекой
>>268143Все же проще взять discovery с SDRAM и передавать по UART. С tcp/ip без опыта можно долго ковыряться, а UART заработает сразу.Когда заработает вариант с UART, можно будет что-то посложнее сделать.
>>268149> С tcp/ip без опыта можно долго ковырятьсяКстати да. Я использовал связку lwip + freertos, которую предлагали ST в своём CubeMX. Так вот, там нашлось несколько багов в драйвере ethernet, в связке lwip и freertos выделялась память не размера структуры, а размера указателя на структуру, то есть всегда 4 байта, лол, а еще не было полноценного драйвера для ацп с двойной буфферизацией, пришлось немного самому писать. Не знаю, как сейчас, но тогда пришлось подебажить и покодить
Тред еще жив? У меня вопросы. Нужно ли что-то делать для конфигурирования пина в качестве альт.функции TIM2_CH1? В даташите написано "floating input", который по идее стоит с ресета и так. Значит его можно использовать одновременно и как обычный импут и как capture? Пишется ли что-нибудь в GPIOx_IDR если использую альтернативную функцию и флоатинг инпут?
>>273609Нет, я вроде переключал именно на функцию входа таймера. Сам подумой, у него внутри же мультиплексор подключен, который к нужной переферии его подключает
>>273699а ето что тогда значит?
Арманы, есть среди вас адепты test-driven-development? Как автоматизируете тестирование? Вот есть у меня проект, есть юнит-тесты, есть бенчмарки. Лучшее, что я делаю пока это ручной запуск с чтением результатов тестов в отладчике из глобальных переменных или в виде текстового отчёта по уарту, ещё хз что из этого большее уродство; хотя второй вариант в принципе можно адаптировать под окончательную победу в виде включения в пайп jenkins, например, или хук в гите, выделить экспериментальный образец устройства и подключить к девелоп-серверу; но всё равно какой-то пиздец.Может есть эмуляция какая программная, типа как для ПЛИС?
>>268121>>268129>это ~мбайт данный в секундуТ.е. ADC 1msp и данные 8мбит?Бле, так это грамотно запрограммированные stm32f103 -SPI- enc28j60 справятся.Без всяких lwip/freertos.
я не понимаю, помогите. Как нормально подключить CMSIS в iar? Гайды из гугла какие-то ебанутые, мол накидайте миллиард файлов всяких разных в папку с проектом, ну я накидал их и ничего не работает. Что делать?
>>274129http://easyelectronics.ru/arm-uchebnyj-kurs-iar-ewarm-sozdanie-proekta-chast-2-cmsis-i-standard-peripherals-library.htmlДержи, может поможет.
>>274130Я делал по этому гайду и вроде бы заработало как надо, но когда я захотел свой проект создать у меня нихуя не получается, хотя я пытаюсь так же все эти 100500 файлов в проект запихнуть
аноны, пытаюсь сделать элементарный шим, но нихуя не работает. где ошибка? вот код:void main() { RCC->APB2ENR |= (1<<11 | 1<<3 | 1<<2 | 1<<0); RCC->APB1ENR |= (1<<2 | 1<<1 | 1<<0); GPIOA->CRL |= (1<<3 | 1<<1 | 1<<0); GPIOA->CRL &= ~(1<<2); TIM2->CR1 |= (1<<7); TIM2->CCMR1 |=(1<<6 | 1<<5); TIM2->CCR1 = 2; TIM2->PSC = 1; TIM2->ARR = 3; TIM2->EGR |= (1<<0); TIM2->CR1 |= (1<<0); while(1) { }}все регистры 100 раз перепроверил, должно работать, но нихуя нет
>>274547вначале #include "stm32f10x.h" есть
>>274547блять нашел ошибку. нужно еще TIM2->CCER |= 1;сука, почему все так сложно, у меня понос начался от такого количества регисторв
>>273709Ну попробуй и так и так, чего там, пару бит переключить, можно даже не выходя из дебаггера
>>273875> Может есть эмуляция какая программная, типа как для ПЛИС?У тебя же есть уже юнит тесты, не совсем понял, что ты собираешься эмулировать? Не знаю, поможет ли, но посмотри googletest - универсальный фреймворк для тестированияА так, ну натрави ты дженкинс на свой репозиторий, пусть кажлый час проверяет новые коммиты, и если они есть, то пусть билдит и запускает, а потом отчет присылает тебе по емаил или даже складывает в базу данных. Очень удобно, можно баги писать не думая, все равно потом быстро узнаешь, что не так. Тем более, дженкинс - очень гибкая вещь, можно как угодно настроить. Сделать отдельные задачи на билд, бенчмарки, юнит-тесты, строить зависимости между задачами, использовать результаты одной задачи как вход для другой> выделить экспериментальный образец устройства и подключить к девелоп-серверу; но всё равно какой-то пиздец.Ну да, всё так, никакого пиздеца, а наоборот, очень удобно, особенно когда много народу работает над проектом> в виде текстового отчёта по уартуЧем тебе уарт не угодил? Вполне неплохой вариант. Главное руками ничего не запукать - только автоматизация
>>274131На сайтике для мк нет примеров и либ?
>>274549TIM2->CCER |= TIM_CCER_CC1E;И остальное так же, чтобы лишний раз не искать в документации.
поясните, правильно ли я понимаю, что данные из preload регистров загружаются, когда таймер выключен, независимо от того включен preload или нет?
Я чет охуеваю. Сделал програмку, запилил условие для проверки:if (TIM1->ARR == 9999) { GPIOB->BSRR |= (1<<1); }if (TIM1->CNT > 11000) {GPIOB->BSRR |= (1<<0); } И зажглись ОБА выхода. Как такое может быть? Насколько я понимаю счетчик тупо не может выйти за пределы ARR, но он каким-то образом вышел. Что за хуйня?
>>274769И прескалер почему-то не вбивается. Точнее вбивается, но не работает. 1000 импульсов дают 13-микросекундный импульс и при TIM1->PSC=71; и при 710 и вообще любом.
>>274771>>274769всё, выяснил. оказывается нужно было вызвать update event самостоятельно через egr, иначе регистры не хотят загружаться
Купил себе такую хуйню:http://www.kosmodrom.com.ua/el.php?name=STM32F103-DB
>>274824Честно говоря, выглядит как ёбаный стыд. Например, SD-слот есть, а SDIO-периферии нет.Вообще странный подход. Единственный плюс древнего говна STM32F103 -- низкая стоимость. Зачем его обвешивать такой еболой? Чисто "для обучения"? Ну так имхо взял бы лучше пикрелейтед за полторыевры копейки.
>>274831Я не очень умный.Все хвастаются отладочными платами, один я всегда бегаю с макеткой, из которой торчат все мои провода.Плюс взял его бу
>>274577>что ты собираешься эмулироватьCortex-Mх ядро же. Одно дело юнит-тесты проходят скомпиленные моим gcc для моего core-i7 и в принципе несколько другое дело - arm-none-eabi-gcc и stm32fхх, например. Например, если где-то по недосмотру использовался int вместо более строгого int32_t.>пусть кажлый час ... билдит и запускаетНу так-то можно, но ведь же количество перепрограммирований флеш-памяти ограничено :3>Чем тебе уарт не угодил?Ну хотя бы тем, что в очередном проекте свободного уарта в устройстве может и не найтись. Я вот и подумал, что раз уж всё равно SW-интерфейс всегда задействован хотя бы для прошивки, может по нему же и тест-репорты выкачивать, это наверняка делается, надо копаться в gdb или openocd, но на то и тред, чтоб спросить, может найдётся кто сразу в нужном направлении пнёт, может уже готовые есть примеры, статьи или даже утилиты.>всё так, никакого пиздецаЛадно, спасибо за доброе слово, пока пусть остаётся уарт с автосборкой на коммит в develop и/или master.
>>274831Но у тебя на пике F103.
>>274846Да, он. В ~20-30 раз дешевле, чем тут >>274824.
>>274849А, лол, да.
>>274841> Cortex-Mх ядро жеВроде qemu умеет, но я не запускал> Ну хотя бы тем, что в очередном проекте свободного уарта в устройстве может и не найтисьТак, подожжи. Если у тебя может не найтись свободного порта, то это предполагает, что твоё устройство активно связывается с внешним миром. Поэтому, если работу ядра процессора еще можно эмулировать, то эмуляция ядра + периферия + внешние события - это даже чисто теоретический ад. Там только проект эмулятора сложнее самого устройства будет> Ну так-то можно, но ведь же количество перепрограммирований флеш-памяти ограничено :3У тебя код всегда напрямую с флеша исполняется? Может там есть instruction ram, откуда исполняется код? Тогда отладчиком можно прогрузить только его> всё равно SW-интерфейс всегда задействован хотя бы для прошивки, может по нему же и тест-репорты выкачивать, это наверняка делаетсяЯ делал такое в keil, там что-то просто сильно былоГлянь вот этоhttps://mcuoneclipse.com/2016/10/17/tutorial-using-single-wire-output-swo-with-arm-cortex-m-and-eclipse/amp/Правда тут только про jlink, но смысл описан понятно
Новыйпидор в треде.Поясните, возможно ли вообще переслать аудио-файл с ПК на СД-карту контроллера? В гугле все только запись текста тестируют. Ещё один раз про картинку попалось, но там она тоже не готовая была, а на ходу создавалась.И ещё, мне в примерах часто попадается запись в регистры в шестнадцатеричном формате и я практически никогда не могу разгадать, что там за херня происходит. Сам пишу через структуры либо биты двигаю.Вот, например:PORTD->ANALOG &= 0xFF93;У меня есть генератор кода под мой контроллер, и я знаю, каким именно портам какая функция отводится, но когда я выбираю то же самое в генераторе, мне выдает совсем другие цифры. В общем, я вообще не представляю как эту шестнадцатеричную лабуду расхлёбывать.
>>273875>Арманы, есть среди вас адепты test-driven-development? Как автоматиКак ты вкатывался в ТДД? Как вообще в ымбыдеде юнит-тесты организовать? Есть ли примеры опенсурсных проектов, покрытых тестами?
Котаны, есть один STM32F103C8 в виде Pinboard II c STM32 модулем и я хочу вкатиться в его программирование.С чего начать? AVR 8-бит и MSP430 знаю, а вот к ARM никак не могу подступиться.
>>275525>AVR 8-бит и MSP430 знаю, а вот к ARM никак не могу подступиться.Берёшь и ПРОСТО пишешь код. Какая нахуй разница, какая архитектура. Ты же на ассемблере пишешь.
>>275567>Берёшь и ПРОСТО пишешь кодЭто подходит, когда знаешь ЧТО ты хочешь сделать. А как придумывать свои устройства?
>>275567> Какая нахуй разница, какая архитектура. Ты же на ассемблере пишешь.Бессмыслица какая-то.
>>275567У STM32 охуеешь инициализировать периферию
>>275623Тут просто нужна сноровка и привычка, которые придут быстро и безболезненно, но только при способности внимательно читать (доки, примеры) и аккуратно писать.А то знаю одного весьма опытного на 8-битных атмегах и способного иликтронщика, который неделю ебался с I2C, обмазавшись осциллографом и стандартом интерфейса, но в итоге оказалось, конечно, что просто невнимательно прочитал пару страниц из референц мануала.
>>275625А давайте поморгаем светиком с разжёвыванием каждой строчки инициализации и рассказом о возможных вариантах, а?
>>275626А давайте.Но есть давно и альтернативный Путь под названием Stm32 Cube
>>275629>альтернативный Путьпредпочитаю сначала пройти традиционным путем
>>275626там нихуя сложного
>>275617>Бессмыслица какая-то.Я там опечатался. Забыл вставить "не">Ты же не на ассемблере пишешь
Писал на асме для стм8 долгое время. Настройка периферии однахуйственна в стм32. Да и Си это чуть более лучше ассемблера.
Какую IDE выбрать для STM32?
>>275946VIM/EMAX(если мозолеед)+CMAKE+GCC+STLINK
>>275952Готовые прыщеконфиги симейка здесь:https://github.com/ObKo/stm32-cmake
>>275953>>275952Х0рр0р драк0н, залогинься.
>>275952так-то сейчас 21й век.для AVR есть отличная Atmel Studioдля MSP430 зачётный Code Composer Studioа для arm какие-то глючные костыли, а не нормальные IDE
>>275946Я выбрал настройку eclipse по гайдам из интернета.
>>275965> >>275952>так-то сейчас 21й век.>для AVR есть отличная Atmel Studio>для MSP430 зачётный Code Composer Studio>а для arm какие-то глючные костыли, а не нормальные IDE > IDE> нормаШел бы ты подальше вендушок.
>>275965IDE для быдура. Выше анончик правильно сказал, обмазываешься консольными прыщами и конфигами и кококо под себя.
>>275969>>275970красноглазики закукарекали
О себе. Гуманитарий. О токе знаю только то, что нельзя спицы в разетку вставлять. Благодаря ардуине удалось стать немного программистом и инженером, принес на пары в универ, подмигиваю диодом одногруппницам, говорю что взорвется. Хихикают.
Вкатывальщик в треде. Аноны, подскажите с какой платы лучше начать еблю с микроконтроллерами, то на али слишком большой выбор(f0-f4, l серия, или там разница только в размере памяти и частоте?). Кстати, что делать, после того как научился моргать светодиодом? Есть какие-нибудь полезные учебные проекты(как на ардуино умный дом, или метеостанция)? Решил заняться, тк интересна архитектура процессоров, до этого долго ебался с асмом и писал разные эмуляторы. Или для изучения архитектуры процессоров лучше выбрать другой путь, а не ебаться с железками? Алсо, подскажите годных книг по архитектуре(таненбаума уже пролистал)
>>275999> Вкатывальщик в треде. Аноны, подскажите с какой платы лучше начать еблю с микроконтроллерами, то на али слишком большой выбор(f0-f4, l серия, или там разница только в размере памяти и частоте?). Кстати, что делать, после того как научился моргать светодиодом? Есть какие-нибудь полезные учебные проекты(как на ардуино умный дом, или метеостанция)? Решил заняться, тк интересна архитектура процессоров, до этого долго ебался с асмом и писал разные эмуляторы. Или для изучения архитектуры процессоров лучше выбрать другой путь, а не ебаться с железками? Алсо, подскажите годных книг по архитектуре(таненбаума уже пролистал) нуклео бери.
>>276001писать - прямо в браузере, mbed
>>276001http://amperka.ru/product/stm32-nucleo-f401reТакую, например? Что сразу к ней можно докупить, чтобы можно было не только светодиодами моргать
>>276005Протошилд ардуиновский для начала. А лучше полноценную макетку с дырками под пайку и пару катушек монтажного провода. Для конца и далее - тестолит, лазерный принтер, глянцевая фотобумага, ламинатор (желателен), дремель или самопальный сверлильник с цанговым патроном под микросверла.
>>276005>>276001Стоит почти как stm32f4discovery, но в отличие от discovery это совсем уж пустая плата.>>275999>Или для изучения архитектуры процессоров лучше выбрать другой путь, а не ебаться с железками? Алсо, подскажите годных книг по архитектуре(таненбаума уже пролистал)Не знаю что ты понимаешь под архитектурой. Если хочешь понять что там внутри процессора, то учиться программировать микроконтроллеры бесполезно.Лучший способ понять как работают процессоры - это сделать процессор в симуляторе самостоятельно. Для погромистов есть даже игрушка nand2tetris с убогим HDL-языком.
>>275999изучай ЭЛЬБРУС, очень перспективно, с руками оторвут и у нас и в силиконовой долине!
>>275999>для изучения архитектуры процессоров лучше выбрать другой путь, а не ебаться с железками?thisПро архитектуру с этими метеостанциями хуй чего узнаешь, сишечка она везде сишечка.Я бы порекомендовал копать в сторону FPGA+softcore, типа бомжоальтера с ебэя и Nios II (есть даже бесплатно же оффициально). Захуярь туда своих инструкций, добавь каких-нибудь шин, поэкспериментируй. Потом запили свою архитектуру уровня /ra/. Прикрути для неё бэк-енд к gcc. Вот ты и вкатился, велкам.
>>276048Спасибо за совет.>Вот ты и вкатился, велкам.Этого будет достаточно, чтобы устроиться в условный интел/амуде на джун/мидл позицию?
>>276078Выше >>276015 я написал почти то же самое что и >>276048Без знаний основ цифровой электроники за FPGA браться не стоит. Нужно хотя бы знать что такое триггеры, комбинационные и последовательностные устройства, иметь представления как там суммируются задержки. А этих знаний у тебя, судя по этому вопросу, нет.>типа бомжоальтера с ебэя и Nios IINios я бы не советовал, поскольку его внутренности практически не видны. Да и разбираться придется больше с тем на какие кнопки в IDE нажимать, чтобы оно заработало.>Потом запили свою архитектуру уровня /ra/.С этого стоит начать, разумеется после изучения основ цифровой электроники и верилога. Написать на верилоге простенький процессор можно за день. Плату с ПЛИС покупать не обязательно, все это симулируется.>Прикрути для неё бэк-енд к gcc.По моему это совсем сложно, для меня так вовсе наверное не реально. Максимум можно какой-нибудь лисп или форт для самодельного процессора сделать.>>276078>Этого будет достаточно, чтобы устроиться в условный интел/амуде на джун/мидл позицию? Смотри требования по вакансиям. Как минимум еще необходимо владеть методами верификации.
>>276083> Nios я бы не советовал, поскольку его внутренности практически не видны. Да и разбираться придется больше с тем на какие кнопки в IDE нажимать, чтобы оно заработало.Что тумаешь по поводу openrisc и симулировать его на verilator? Вообще можно тогда ничего не покупать
>>276083>Без знаний основ цифровой электроники за FPGA браться не стоитНу я читал книги по компьютерной архитектуре, там эти вещи описывались, плюс немного схемотехники и булевской алгебры знаю. Думаю, за некоторое время смогу осилить. Энивей, идея написать свою архитектуру под проц звучит очень уж заманчиво.>Nios я бы не советовал, поскольку его внутренности практически не видныПочему это плохо? Я же не собираюсь туда паяльником лезть>С этого стоит начать, разумеется после изучения основ цифровой электроники и верилогаЕсть какая-нибудь классика по этой теме?>Плату с ПЛИС покупать не обязательно, все это симулируется.Симуляция офк круто, но когда перед тобой реальная железка, то на душе как-то поприятнее>По моему это совсем сложноНу для llvm это точно возможно сделать за разумное время>методами верификацииМожно поподробнее плзАлсо, спасибо за ответ
>>276087>openriscЭто не то с чего следует начинать, если хочешь разобраться с основами. На гитхабе хватает намного более простых процессоров.Простой синтезируемый процессор на верилоге - это не более 150-300 строк.>verilatorНе пользовался, но для него даже нормального GUI нет, наверное и с остальным не лучше. Стоит взять modelsim, можно даже бесплатно из quartus webpack.Но ПЛИС - это не набор совсем уж простейших вентилей, это скорее набор небольших 3-5 входовых ОЗУ и триггеров, с добавлением блоков двухпортовых ОЗУ побольше. Ты можешь на верилоге описать трехпортовые ОЗУ, но поскольку таких блоков в ПЛИС нет, то они будут синтезироваться из триггеров и займут много ресурсов.В любом случае, пока не изучишь основы цифровой электроники, браться за FPGA нет смысла.
>>276091> Не пользовался, но для него даже нормального GUI нет, наверное и с остальным не лучшеЗря ты так, им пользуется очень много компаний с известными именами, потому что он позволяет получать довольно быстую cycle-accurate модель. Всё потому что он переводит модель с верилога на кресты, а потом это можно откомпилировать и получить экзешник с твоей моделью. А gui ему не за чем, он генерирует времянку, которую потом открываешь gtkwave. Ну и дебажить можно как обычное приложение любым удобным способом
>>276083>Смотри требования по вакансиям. Как минимум еще необходимо владеть методами верификацииИ еще вот книжкаhttp://ic.sjtu.edu.cn/ic/dic/wp-content/uploads/sites/10/2013/04/CMOS-VLSI-design.pdf
>>276116И вот софтина с мозолями на богомерзкой жабе для того что бы свой "працессар в жилези зопелить":https://github.com/imr/Electric-VLSI/tree/master/electric
>>276122>И вот софтина с мозолями на богомерзкой жабе для того что бы свой "працессар в жилези зопелить":Кочать здесь:http://ftp.gnu.org/pub/gnu/electric/
>>276123Радиач образовательный:https://www.youtube.com/watch?v=rXTEmojksd4https://www.youtube.com/watch?v=r6R8m9LjrVwhttps://www.youtube.com/watch?v=R70iFQzyVGIhttps://www.youtube.com/watch?v=qVeNfSUzshohttps://www.youtube.com/watch?v=Xkk4ards-28https://www.youtube.com/watch?v=YX6vLCgdKN8
Всё-таки с первоначальным вхождением в ARM что-то не то.Я 4 дня проебался, что бы прикрутить к Keil 5 отладчик Colink
Как понять, что orange pi lite включился? Монитора с hdmi у меня нет. Включая питание — ничего не происходит. Нажимаю на кнопочку включения — ничего не происходит. Поискал ревью на ютьюбе, нашёл одно, там при подключении горели светодиоды, а у меня нет. Пиздец?Алсо, если вставить в плату флешку, то флешка при подключении питания горит, но всё равно сомневаюсь на счёт исправности.
>>276682Записываешь образ на флешку, втыкаешь через ethernet в роутер и включаешь. DHCP в роутере должно выдать устройству IP, который можно посмотреть в веб-интерфейсе роутера. Если роутера нет, то скорее всего придется ставить DHCP сервер на компьютер или подключаться через UART.Все, IP есть и можно подключаться через ssh.У меня orange pi нет и не было, но могу предположить что светодиод может контролироваться операционной системой и в зависимости от дистрибутива может быть отключен.>>276610>Colink Проблема в этом. Ты бы еще попробовал JTAG из FT2232H сделать.
>>276694В lite версии нет езернета.> но могу предположить что светодиод может контролироваться операционной системойНу не знаю, это как-то дико. Тащемта сейчас у меня на флешке дебиан, это первое что под руку попалось, сейчас попробую их дистрибутив взять.
>>276695Хотя нет, не попробую, лучше подожду переходник hdmi to vga.
Котаны, где взять IAR новее 7.50 с крякалкой? На рутрекере нет. На работе дали задачу под stm32f7, а у меня в iar даже нет такого проца, кек.
Посоны, подскажете, где можно подсмотреть людскиенастройки подсветки синтаксиса в keil5?
>>276682Цепляешься к UART любым адаптером USB-TTL и смотришь на serial console:http://micro-pi.ru/orange-pi-pinout-pin-definition-gpio/#_Orange_Pi_One_Litehttps://linux-sunxi.org/UART
>>276763Быстрофикс первой ссылки:http://micro-pi.ru/orange-pi-pinout-pin-definition-gpio/#UART-233
>>276682Алёна Водонаева считает, что все работает нормально.
Посоны, поделитесь _delay_us без использования таймеров.
>>277283> без использования таймеровПочему такое условие? Работать будет как говно при таком подходе в любой реализации, а "калибровать" заебёшься, а для отладки и для релиза будут разные реализации (либо будешь хуярить `__asm("")`), а при смене, скажем, умножения PLL нужно будет всё делать заново.Всего-то надо один раз аккуратно написать модуль, рабтающий на таймере (можно 16-битном, переполнения отслеживать и "складывать" в старшие 16 бит, это на самом деле самая геморройная часть), который при инициализации вычисляет задержку на вызов `delay()` (скажем, в цикле вызывает 1000 раз `delay(1)`, потом по таймеру определяет фактически прошедшее время, среднюю задержку запоминает и впоследствии для всех вызовов её учитывает). И таким модулем можно будет пользоваться хоть с -O0, хоть с -O2, хоть с HSI, хоть с HSE+PLL, точность выходит обычно в 1-2 такта.
>>277460Достаточно просто знать сколько тиков в одной микросекунде.Использование HAL накладывает какие-то ограничения на изменение и использование Systick?
>>277739>Достаточно просто знать сколько тиков в одной микросекунде.Только если устраивает систематическая ошибка в "плюс" (задержка на вызов функции, возврат из неё, вот это всё).>Использование HAL накладывает какие-то ограничения на изменение и использование Systick?Какого HAL? Если ты про STMовский, то да, он сам использует этот SysTick для отслеживания таймаутов операций, более того - с помощью прерываний, т.е. про прецизионность и детерминированность собственного `delay()` можно забыть.
>>277745>Какого HAL? Если ты про STMовский, то да, он сам использует этот SysTick для отслеживания таймаутов операций, более того - с помощью прерываний, т.е. про прецизионность и детерминированность собственного `delay()` можно забыть. Мерсибо. Бредить в этом направлении прекращаю.
>>277745Ещё немножко понаркоманюВот это будет работать?void delay_us(uint32_t value){ int32_t fv; // future value Systick uint32_t tmpSysTickVal; tmpSysTickVal = SysTick->VAL; fv = tmpSysTickVal - value*TICKS_IN_US; if(fv < 0) { fv = SysTick->LOAD - fv; } while (SysTick->VAL >= fv);}
>>277750TICKS_IN_US - количество тиков в микросекунде
>>277751строку 186 читать как fv = SysTick->LOAD + fv;
Перекатываю с ньюфаг-треда:Посоны, почему периоды моей мигалки разные? В keil5 - 10.5us, а логический анализаторsaleae logic analyzer 24mhz 8ch показывает 15.79us, кто из них пиздит? Алсо, смотрел уарт логическим анализатором - скорость показывает правильно.
>>277782Тебе нужно задуматься о том что показывает Keil и что показывает LA.И значение какого именно параметра твоего микроконтроллера Keil-у неизвестно.Задумываться о том что именно ты измеряешь, чем, и что именно означает результат этого конкретного измерения этого конкретного параметра этим конкретным прибором - вообще полезно
>>277792Вот, тупая задержка:void Delay(uint32_t d_count) { for (; d_count > 0; d_count--) { __nop(); } }Процессор выполняет определенное количество определенных команд, которые в свою очередь выполняются за определенное количество тактов. Даже не знаю что тут должно отличаться ирл от симулятора, частоты-то одинаковые.
>>277811>Процессор выполняет определенное количество определенных команд, которые в свою очередь выполняются за определенное количество тактов.Если у тебя Cortex M0 без пайплайна, то это, хотя и очень грубо, но более-менее верно.Но дело даже не в этом.Что по твоему мнению означает слово выполняются?После того как ты подумаешь и ответишь на этот вопрос, задай себе следующий - в чем разница между значениями слова "команда выполнена для Keil и LA?В качестве подспорья приведу аналогию - выражение взрыв сверхновой* отличается для самой этой звезды и для наблюдателя, скажем, с Земли?
>>277822Нагрузил ты меня. Камень у меня stm32f103c8t6, если что. Объясни на пальцах почему так происходит.
>>277825Потому что суперскалярный конвеер который в зависимости от кода либо может одновременно несколько инструкций выполнить или нет.
>>277830Спасибо, что-то где-то про такое читал, только ничего не понял, вроде предвангователь следующей инструкции. То есть для точной задержки можно использовать только таймер, как писал анон выше?
>>277837https://stm32f4-discovery.net/2014/05/stm32f4-stm32f429-discovery-pwm-tutorial/
>>277750Во-первых, случай "переполнения" отработан некорректно: если `fv < 0`, то условие `while(...)` выполнится, скорее всего, сразу же, никакого ожидания не будет, т.к. новое значение `fv` будет вообще больше, чем `LOAD`. Чтобы починить, нужно сделать код совсем нечитаемым говном, из-за 24-битности этого сиськотика.Во-вторых, есть хренова тьма "накладных" задержек, причём размер большинства из них сильно зависит от конкретного компилятора, концертных его опций, а также контекста вызова функции и, наверное, состояния конвейера:1) время на вызов функции, если она не заинлайнится (а может местами инлайниться, а местами нет);2) время на загркузку констант в регистры, типа адреса `SysTick` и `TICKS_IN_US` (может требоваться, а может и нет, если вызовы идут подряд);3) время на загрузку значения `VAL` (может быть 2 такта, а может быть и 1, если функция заинлайнена и предыдущий вызов тоже `ldr`);4) реализация блока `if(...)` может быть через бранчи (и тогда будет плавающее количество тактов в зависимости от (не)выполнения условия) или через условное выполнение (как решит конпелятор);5) значения переменных могут храниться в памяти или в регистрах (как решит конпелятор);6) ещё, наверное, куча всего, чего я не знаю.Не говоря уже о том, что вся эта пурга наложится на механизм загрузки инструкций из флеш-памяти, размер соответствующего буфера, конкретная частота (твой стм тянет до 72 МГц, но его флеш-память только 24 МГц).Короче, для совершенно конкретных условий (компилятор, опции, частота, конкретная программа) ты можешь подобрать пару констант таким образом, чтобы задержка приводила с точностью до нескольких тактов к ожидаемой паузе, в конкретном месте программы. Но стоит изменить что угодно или вызвать функцию из другого места, и результат поплывёт.>>277811Согласно документации `nop` не обязан приводить к задержке, якобы ядро может выбрасывать его из конвейера (хотя лично я с таким поведением не сталкивался); эта инструкция нужна для выравнивания кода в памяти.
>>277996>с точностью до нескольких тактов к ожидаемой паузеИ ты забываешь что изменение логического уровня на одном из выводов МК происходит совсем не мгновенно.
>>278042нет тыПод "подобрать" я имею ввиду добиться , скажем, от кода `set_pin(1); delay(1); set_pin(0);` длительности импульса 1 микросекунда, скажем, по осциллографу, то можешь быть уверен, что вызов функции длится ровно микросекунду, и совершенно не важно, какую задержку дают порты, хоть час, важно лишь что она не зависит от выставляемого уровня.
>>278042алсо, реально у stm32f103 задержка крошечная, сопоставимая с минимальной длительностью такта (~14нс).
>>278050Тааак, падажжи ёбана, чего-то я хуйню сморозил.Конечно, от задачи зависит; и если задача - дрыгать ногами с заданными интервалами, то всё так, хотя "истинная" задержка будет хз какой, тут вообще слишком много факторов: режим работы порта, ёмкость нагрузки етц.Но я вообще изначально не про порты думал, а про что-то типаt1 = YOBA_TIMER->CNT;delay_us(1);t2 = YOBA_TIMER->CNT;ASSERT(t2 - t1 == SystemCoreClock / 1000000);Тут, конечно, тоже по-правильному надо учесть задержку на чтение волатильного регистра CNT, но это уже совсем просто.И вообще, при правильной организации такой задачи не должно возникать, по-моему :3
>>278109>"истинная" задержка будет хз какой, тут вообще слишком много факторов: режим работы порта, ёмкость нагрузкиНачинаешь догадываться, похвально.
>>278147ждем, когда ты догадаешься, что детали работы портов с программными задержками связаны примерно никак
>>278155Ну если ты на Си nop-ами их делаешь, то обычно да, никак.Но это, мягко говоря, не единственный способ.
>>278165nop'ы не предназначены для задержек и могут их производить или нет в зависимости от реализации и/или ситуации, см. instruction cost в доках от ARM.Вообще, заебал.Если заморочиться с минимизацией задержек и сделать напрямую, т.е.GPIOA->BSRR = PIN;delay(...);GPIOA->BRR = PIN;то ситуация будет эквивалентна работе со счётчиком таймера в программном плане на 100% (запись в волатильный регистр - то же, что чтение из него), т.е. калиброванная по таймеру задержка будет корректной и для работы с выводом; а в аппаратном плане - с точностью до таймингов, приведённых в даташите, что для stm32f1xx составляет 5 нс. Ты из-за 5 нс мне тут мозги ебёшь?
Судя по всему, embedded-тред, бывший здесь пару лет назад - всё, так что спрошу здесь. Хочу заказать оценочную плату из пиндосии https://store.ti.com/Tiva-C-LaunchPad.aspx , и как-то так получается, что она с доставкой - 20 баксов, т.е. примерно 1200 рублей, а на али такая же - от 1400 рублейс бесплатной доставкой. Тут где-то наебалово?
>>278301У TI если хорошо попросить, отладки бесплатные.Но насчет Tiva лучше сразу почитать errata и заплакать. Как оно у них не летало, так и не летает. Баг на баге.
>>278304Вообще, я её для этого курса заказывать собрался, бо там на её всё завязано. https://courses.edx.org/courses/course-v1:UTAustinX+UT.6.10x+1T2017/infoНо раз так, то, пожалуй, просто проделаю то же на имеющейся у меня STM32F3 DiscoveryПонятно, что код будет другой, ну да и йух с ним.А хорошо попросить - это наобещать закупку крупной партии для продукта/учебного заведения?
Аноны, помогите. Пытаюсь прошить stm8s103f3, но нихуя не получается. Программка примитивнейшая чтобы тупо зажечь светодиод.#include "stm8s.h"int main() { GPIOB->DDR |= (1<<5); GPIOB->CR1 |= (1<<5); GPIOB->CR2 |= (1<<5); GPIOB->ODR |= (1<<5); while (1) { asm("nop"); }}Прошиваю ST visual programmer, пишет < File successfully loaded. File Checksum 0x731B> Programming PROGRAM MEMORY area...Cut Version and Revision of device: 1.2< PROGRAM MEMORY programming completed.> Verifying PROGRAM MEMORY area...Cut Version and Revision of device: 1.2< PROGRAM MEMORY successfully verified.Но нихуя в итоге не работает, светодиод не зажигается. В чем проблема?
>>278839Может тактирование порта включить нужно? Не знаю как в стм8, но в стм32 по умолчанию все модули отключены.
>>2788401. В стм8 нельзя вообще нет настройки тактирования порта.2. Даже если бы было, они все равно по умолчанию все включены с ресета.
>>278839Пиздос. А где инит gpio на вывад? Что, тоже с ресета как output сконфигурирован, да?
Посоны, зачем нужен stm8 при наличии stm32?
>>278839Светодиод там низким уровнем зажигается вроде бы.Также для инициализации имеет смысл использовать библиотечные функции.#define GPIO_LED GPIOB#define PIN_LED GPIO_PIN_5GPIO_Init(GPIO_LED, PIN_LED, GPIO_MODE_OUT_PP_LOW_SLOW);>>278985Для мигания светодиодами практически все равно какой микроконтроллер.
>>278988Т.е. цель существования STM8 это моргание светодиодами.
>>278985Меньше энергопотребление.Возможность устроить реалтайм.
>>279004>Возможность устроить реалтайм. Поясни, плиз, а то я что-то не уловил почему "реалтайм" на STM32 нельзя устроить.Что такое "реалтайм" - СРВ?
>>279004>Меньше энергопотребление.И что? Очень сильно меньше? ;-)
>>279008Потому что у stm32 пайплайн, кэши и прочая недетерминированность.>>279010В случае именно говноSTM8 - не очень сильно. Но меньше.
STM32L
STM8L
Я не сказал, что у STM8L энергопотребление как-то кардинально отличается от STM32LДа, меньше, но не принципиально.
>>279012>Потому что у stm32 пайплайн, кэши и прочая недетерминированность.А в измеримых величинах это как-то подтверждается?
>>279018Ну скажи мне, за сколько тактов или наносекунд исполняется та или иная команда на STM32.
>>279020Обычно 1 такт, да? По крайней мере, так в описании ядра Cortex-M3 говорится
>>279021"Обычно" не прокатывает. Точно скажи.Наш ядерный реактор обычно успевает отдать команду вытащить стержни. В 99% случаев>I am having trouble understanding the rationale for using an ARM or PIC32 in a hard real-time application. These chips are designed with the goal of reducing average-case execution time at the expense of increased worst-case execution time and increased jitter.>http://www.embedded.com/electronics-blogs/max-unleashed-and-unfettered/4439753/Non-real-time-vs--soft-real-time-vs--hard-real-time-applications
>>279022И где косяк?
>>279027В 1% случаев когда не успевает.От 0.0000000000000000000000001% случаев принципиально не отличается в данном контексте ничем.
>>279062На STM8 картина принципиально другая?
>>279065Да. Нет пайплайна, нет кэша, нет out-of-order.Медленнобразно но единообразно.
>>278985Дешевле в 3 раза.
>>279106> в 3 раза. Иногда даже в 5
>>279106Это не так, если сравнивать самые дешевые микроконтроллеры, то разница будет максимум в 2 раза.Даже если есть какая-то разница в цене, то что нужно делать, чтобы она была существенной? Серию из нескольких тысяч махараек, в которых кроме микроконтроллера только корпус и пара светодиодов?>>278995Многие микроконтроллерные задачи сводятся практически к миганию светодиодами, например часто от микроконтроллера требуется только инициализация каких-то микросхем по I2C и конфигурация FPGA.
>>279014>>279015Но один и тот же объём работ за 1 секунду stm32l выполнит при более низкой частоте, чем stm8l. Так что потребление не аргумент, если только речь не идёт о чём-, что спит 99% времени.>>279022Ай ну что за еботня. Вот ты в наносекундах скажи время реакции stm8l на некоторое событие. 16МГц, это значит неопределённость от 0 до 63 нс просто из-за тактовой частоты, что вдвое больше, чем для stm32l.Далее, в системах реального времени важно гарантированное худшее время, а не детерминированность в принципе. И если реакция на событие сколь-нибудь нетривиальна (ну, там, включая пачку 32-разрядных умножений, скажем), то STM8L среагирует гарантированно и детерминированно -- медленно.
>>279110Хуйни не неси, stm8s можно ведрами покупать. Стм32 выйдет раз в 5 или больше дороже, как сказал этот анон >>279109
>>279126https://www.chipdip.ru/product/stm8s003f3p6tr и https://www.chipdip.ru/product/stm32f030f4p6Можешь посмотреть то же на https://www.digikey.com или еще где-нибудь.Даже если в 5 раз дороже, как это может заметно повлиять на стоимость махарайки? Или ты кроме микроконтроллеров никаких микросхем не применяешь?
ARM-господа, есть ли работа в рашке? Как поживаете? Есть деньхи на дошик или может быть на Тайланд раз в полгода?
>>279123Специально для этого ti придумала сопроцессор ввода-вывода, pru subsystem. Работает на 200 МГц, нет пайплайна, инструкции за 1 такт, внешние пины воткнуты прямо в регистр ядра
>>279152Для чего "для этого"? Чем оно лучше CPLD?
>>279123>один и тот же объём работ за 1 секунду stm32l выполнит при более низкой частоте, чем stm8l. Серьезно? stm32 быстрее сложит два 8-битных числа чем stm8?>Так что потребление не аргумент, если только речь не идёт о чём-, что спит 99% времени.Если чему-то важно потребление, оно обычно как раз и спит 99% времени. Кстати, за сколько там просыпается твой STM32?
>>279123>гарантированно и детерминированно -- медленноИ что характерно, STM32 с отключенным даже только кэшем (с неотключенным worst case будет еще хуже), сделает это настолько же медленно - только при этом еще и будет больше жрать и дороже стоить, и места больше занимать.
>>279169>Серьезно? stm32 быстрее сложит два 8-битных числа чем stm8?http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0489c/Cihidhaa.htmlИ да, даже одно сложит быстрее по причине конвеера.
>>279173>по причине конвеераПо причине конвеера он сложит быстрее в типичном случае, мы же говорим о worst case.
>>279180но если worst case попадает в интревал гарантированного ответа, то не всё ли равно?
>>279123> Ай ну что за еботня. В какой момент земляне все проебали? Как диды умудрялись летать до Луны на контроллерах с ферритовой памятью, а теперь нам подавай стм32 для мигания светодиодом и то он не успевает вовремя?
>>279170>>279180Кажется, я догадался. Ты неверно понимаешь это самое "worst case" и что означает "средняя скорость конвейера". Это вовсе НЕ среднее значение по времени. Будто работающий контроллер может по некоему пуассоновскому процессу изредка "спотыкаться" - хуй там. "Среднее" - оно по множеству различных реализаций различных алгоритмов. Можно специально искусственно написать код, который будет постоянно сбрасывать конвейер, но если конкретный код работает за определенное время, то он так всегда и будет работать.Вероятности, случайность, эти твои 0.000001% "худшего", относятся к случаю, когда ты берешь архитектуру м3 еще до ознакомления с задачей, вот тогда есть небольшая вероятность, что случится худшее и задача окажется медленно решаемой на конвейере.К детерминизму выполнения заданного кода это не имеет отношения.
>>279208Ты так пишешь, будто в STM8 нет конвейера, а в cortex-M3 он особо длинный.
>>279156> Для чего "для этого"?Для кастомной периферии, для жесткого реалтайма> Чем оно лучше CPLD?Ну "лучше" - понятие слишком широкое, и им не стоит бросаться в обществе уважающих себя инженеров. Но основные преимущества такие - это один корпус, а не два, и cpld ты не сможешь подключить напрямую к ddr памяти, нужен всё равно какой-то интерфейс к хосту
>>279254>cpld ты не сможешь подключить напрямую к ddr памяти, нужен всё равно какой-то интерфейс к хосту Не вполне понял что ты хотел сказать. Внутри микроконтроллера статическая память. Через FSMC можно подключить SDRAM и CPLD одновременно.
>>279266Пиздец ты уже загнался, началось с stm8l для жёсткого реалтайма, потом TI, теперь ещё DDR память, охуеть вообще.
>>279267>>279254сюда
>>279266Ну а там не sdram, а ddr3, не микроконтроллер, а арм процессор с линуксом
>>279351Сначала говорили о другом: >>278985>Посоны, зачем нужен stm8 при наличии stm32? >а ddr3, не микроконтроллер, а арм процессор с линуксомК чему по твоему там обычно подключаются параллельные NAND флешки? Там обычно два интерфейса внешней памяти, к одному из которых можно подключать не DDR память. Конкретно в этих TI с DDR3 >>279152 имеется два интерфейса памяти.Ну и DDR3 является синхронной динамической памятью, то есть SDRAM.>>279267Судя по всему это разные аноны, один любитель TI >>274377 и другой с боязнью конвейеров >>279012
>>279369> Сначала говорили о другомЯ мимопроходил и увидел, что идёт обсуждение дрыгания ногами, пайплайна, реалтайма и всего прочего. Передо мной тоже вставали такие задачи, и я перерыл кучу инфомации, перечитал много мануалов, а такие вопросы как задержка между instruction fetch стадии и появлением сигнала на ноге далеко не на первой странице мануала написаны, приходится долго вчитываться. В итоге остановился на техасовской Ситаре, и это довольно универсальное решение, к тому же времени на разработку новой периферии значительно меньше уходит. Может, я кому-то сократил много времени и денег, рассказав о такой штуке> один любитель TI >>274377Да, в том треде тоже я писал, я походу один на всей доске про эту систему прошарил
Поясните за разницу меджу уткой Nucleo и Discovery. Хочу взять на F413 (f0 и f1 уже заказал с али от lc-tech) . Есть куча ардуинской обвязки (обменял у коллеги на пиво) - лучше для совместимости брать nucleo? Хотя про диско пишут, что там ардуино-совместимые пины. Чем-то кроме формфактора с экраном и цвета они отличаются? Есть какие-нибудь неочевидные киллер-фичи?
Анон, порекомендуй годных книг про arm cortex-m, да и о программировании микроконтроллеров/embedded вообще. Таких, чтоб давали базу и раскрывали суть, вроде K&R для C, Thinking in java для жабы, zen of assembly language для x86 асма, dive into python для пайтона, sicp ну ты понел. Уровень в прикладной разработке у меня относительно высокий, а во встроенную/мк только вкатываюсь.
Можно программировать микроконтроллеры на маке? Не много ли там пердолинга? Спрашиваю, т.к. почти все туториалы под шиндоус
>>279464> микроконтроллеры на маке? Страдай.
>>279437Для них самые годные книги Reference manual и Data sheets, беллетристики особо нетВот эта понравилась Valvano J. - Embedded Systems. Real-Time Operating Systems for Arm Cortex M Microcontrolle - 2017
>>279437>Уровень в прикладной разработке у меня относительно высокий, а во встроенную/мк только вкатываюсь.>>279464>Можно программировать микроконтроллеры на маке? Не много ли там пердолинга? Спрашиваю, т.к. почти все туториалы под шиндоусСмуззихлёбы обезумели.
>>279479Кто-то должен сделать автопилот для гироскутера. А у местных ни гироскутера нет, ни на смузи не хватает.
>>279464Их же сейчас можно на питоне и яваскрипте программировать
>>279479>>279465Плес, серьезный вопрос
>>279492На Дельфи или в Лазарусе можно ?Я только паскаля знаю.
>>279498Для мака эмулятора лялиха или винды нет?Я в дриснятке во встроенном лялихе абсолютно все делаю. стм8 только в винде.
>>279498>>279464>Можно программировать микроконтроллеры на маке?Для мака есть те же самые GCC и eclipse. Поэтому проблемы могут быть только с отладчиком.>т.к. почти все туториалы под шиндоусДействия по установке всего этого под линуксом и виндовсом практически не отличаются, могу предположить что для мака все аналогично.
>>279499> Я только паскаля знаю.Дед, ты как вообще про интернет узнал?
>>279527Полез в компонент TInternet ковыряться.
>>279505>проблемы могут быть только с отладчикомOpenOCD должен запуститься без проблем, плагин для эклипса имеется.У меня вот тулчейн QtCreator+GCC+OpenOCD, выбирал с критерием кроссплатформенности, но по факту ей и не пользуюсь.
>>279539лол
Интересный ответ на OrangePi IoT (http://hackaday.com/2017/04/11/10-orange-pi-2g-iot-released-to-compete-with-pi-zero-w/)http://www.myirtech.com/list.asp?id=563 за $24.80 на i.MX6ULLГлавное - "Linux 4.1.15 (Debian, Yocto, QT)"
>>280231> OrangePi IoT 15$ с доставкой> i.MX6ULL $24.80+$38 с доставкой в восточную европу.
>>280231> OrangePi IoTХм, и что можно на этой хуйнюшке сделать? Там только на Питоне говнокодить можно, или и на С++?
>>280251Есть разные способы доставки, да и хуйнюшка скорее заготовка для мелкой партии чего-нибудь, а не "я ща на Ардуине склепаю себе Умный Дом".>>280255Там в основном ебаться с полуработающими блобами на Си.Но если их доебать, то подключить к ней можно много чего.
Итак, ARM-бояре, я триггернулся на <$10, IoT, 1GHz, Pi и заказал на Али этот самый Orange Pi 2G-IOT. После того как проспался и поостыл, начал задумываться, - Ну нахуя!!? Порывшись на Официальном(tm) сайте и не найдя нихуя толкового, решил обратится к Двачу. С чего начать-то? Это же нихуя не Ардуинка, а практически аналог моего первого компа собранного в 2003. Кто работал с Апельсинками энтими?
>>280375Иди на форум Armbian, там все расскажут.
>>280376Русскоязычного комьюнити как обычно не сыскать? Хуй с ним, поупражняюсь заодно в англицком.
>>280380Русскоязычное коммьюнити очень даже, один из главных пилильщиков Armbian под эти Оранжи наш человек.Но общаются конечно на английском потому что зачем же и ради чего сокращать размер коммьюнити отсечением от него всех кто русского не знает?
>>279498В гугле забанили? Или ты на каком-нибудь 68K based антиквариате сидишь?http://lmgtfy.com/?q=programming+stm32+on+macintosh
>>280380https://4pda.ru/forum/index.php?showtopic=813602
>>280375> Orange Pi 2G-IOTЧе за ебала такая? Что за rdamicro, первый раз вообще слышу. На неё хоть линукс есть в сорцах, хотя бы для виду. А драйвера? А закрытые прошивки для модулей gsm и gps? Потому что работать там врядли что-то будет. Что ты вообще с ней делать будешь, там же ни документации, ни аппнотов, ни сорцов? Взял бы лучше за 60 баксов beaglebone, так у тебя бы шикарнейшая поддержка была от ti, всегда рабочий и свежий линукс, куча примеров и проектов. Вот тут реально можно изучать и въезжать в тему на хороших примерах
>>276682Нужна была sd карта. Теперь красный светодиод горит но горит только он, зелёный нет. Орандж не работает с медленными картами? У меня микрософт от этих анальных ограничений, скажите что это не так.
>>280444Блядь, это я VGA кабель не вткнул в монитор, а оно оказывается работает! Распбиан приветствует меня!Алсо, на счёт sd карты, это во всех оранджах она обязательна? Я хотел купить орандж с сатой и поставить ОС на внешний HDD.
>>280442> Взял бы лучшеВозьму если приспичит.> А закрытые прошивки для модулей gsm и gps?ЖПС на ней нет, а ждя ЖСМ, - думаю он выложит попозже. На старые апельсинки на гитхабе хватает всякого.
>>280448> ждя*дляслоуфикс
>Браслет собран на основе чипа Nordic 52832.>Нордик для легкой разработки сделал готовый режим обновления ПО чипа — DFU.>Как раз недавно на браслет пришло обновление.вот линк кому интересно>В гугл плэй есть приложения от фирмы Нордик, возможно кто то достаточно разбирается что бы порыться в ПО>https://mysku.ru/blog/china-stores/50839.html
Сап, антон, внезапно на голову свалилась плата sam v71 xplained ultra пикрилейтед Я вообще плисоёб, и с МК почти не сталкивался, но в целях проф. роста решил заняться. Что можно интересного собрать на такой плате? Что почитать можно по этому МК?
>>280893Ардуина на стероидах!2 мельдония этому содомиту!
Такое увидел. Table of ContentsPart I: Assembly as a Language1: Introduction2: GNU Assembly Syntax3: Load/Store and Branch Instructions4: Data Processing and Other Instructions5: Structured Programming6: Abstract Data TypesPart II: Performance Mathematics7: Integer Mathematics8: Non-Integral Mathematics9: The ARM Vector Floating Point Coprocessor10: The ARM NEON ExtensionsPart III: Accessing Devices11: Devices12: Pulse Modulation13: Common System Devices14: Running Without an Operating System
>>281060Скачай и выложи здеся пожалуйста.
>>281118И что бы два раза не вставать - переведи уж на русский языкю
>>281124
>>281118https://scanlibs.com/tag/assembler/ тут и на русском есть
>>281211Благо дарю душевно.
Работающие программистами/разработчиками, подскажите, пишите ли Вы код, используя HAL или что-то другое? Если я начал осваивать arm (stm32f4discovery плата) после 8-битных AVR, мне нужно сразу учиться на HALе? В интернете есть целый курс уроков, в которых используют HAL.
>>281740Куб иногда выдает хуйню. Учитывай это.
>>281769например, вот http://forum.easyelectronics.ru/viewtopic.php?f=35&t=31174
>>281778У меня была такая ошибка. Пишут, что она появилась в 4.20 версии куба http://www.openstm32.org/forumthread4668.Так используют ли HAL несмотря на такие баги люди, для которых это работа, а не хобби? Или Вы сами все настраиваете, как в avr (TIMSK = (1<<TOIE1);).
>>281779Профессионалы тоже Куб используют.
>>281779> Так используют ли HAL несмотря на такие баги люди, для которых это работа, а не хобби?Как раз таки его и используют. Поэтому еще везде пишут в требованиях "умение разбираться в чужом коде,читать документацию" как раз и для этого тоже. Потому что делать нехуй каждый раз часто используемые куски заново писать. А насчет багов - обычно это можно быстро раздебажить и исправить.Но для новичка лучше всё самому ручками по мануалу писать. Чтобы понимать, как там что работает. К hal нужно придти, самому понять, зачем он нужен и захотеть его использовать
>>281779Обновил Куб до 4.20.1 - да, действительно, этот баг поправили. Я, сцуко, "счастливый" - только STM32 начал изучать и сразу напоролся на баг Куба. Всю башку себе отъебал, пока понял, что Куб гонит.
>>281840Вот поэтому нужно начинать учиться без всяких кубов. Чисто свой код использовать
>>281846да-да! начинать нужно с машинный кодов, никакого ассамблера!
>>281846> без всяких кубов.Да этот стм32 и с кубом меня до трясучки доводит. Эта инициализация всяких шин просто перелом мозга производит.
>>281850> да-да! начинать нужно с машинный кодов, никакого ассамблера!Тоже неплохо денёк поковыряться в опкодах, понять, что это такое, какая у них структура и т. д.>>281851Моё имхо, если хочешь прям хорошо разбираться, нужно начинать писать без куба. Долго, муторно писать по мануалу свою инициализацию всей хуйни. Вот когда ты сможешь писать свой рабочий код, но тебе будет впадлу это делать, это значит, что ты созрел до куба, и после этого момента, ты его будешь использовать легко и непринужденно, и сам быстро находить в нём баги.Если же тебе не охота лезть в дебри, то можешь сразу использовать куб, но будь готов, что он может работать немного не так, как ты предполагаешь, и тебе придется либо самому всё-таки погружаться в специфику железа, либо гуглить по форумам, что да как
>>281851У эстма вся периферия похожая. Попробую с стм8 начать на асме. Потом все просто будет.
>>281886> Долго, муторно писать по мануалу свою инициализацию всей хуйни.так и делаю в иаре, только работа с регистрами, только хардкор, никаких стд-либов и периферал-либов.
Ананасы, подскажите где про асм для М4 почитать?петухабр читал, ни хуя не понял CMSIS нихуя не понятно, HAL дохуя писать, один макрос пол-экрана занимает. SPL нормально, но некоторые функции очень медленные ибо везде обертки, ассерты, typedef'ыРешил заняться этой хренью, потому что прочитал, что некоторые инструкции недоступны в сях, операции вроде 64 = 64+32*32 за 1 такт и прочую хрень. естесна, буду делать вставки в сях, ибо весь ниасилю
>>282665> асм для М4 почитать?http://infocenter.arm.com/help/topic/com.arm.doc.ddi0439b/DDI0439B_cortex_m4_r0p0_trm.pdfРанон не может в гугол? Может тогда и не нужно мучить себя?
>>282665>прочитал, что некоторые инструкции недоступны в сях, операции вроде 64 = 64+32*32 за 1 такт это где такую хуйню несут? ЯП тут вообще не при чем, дело в конпеляторе, и слабо верится, что что-либо современное не может в такую примитивную инстракшн-левел оптимизацию.Дрочил несколько раз критичные куски кода на асме, обскакать gcc -O3 так и не удалось. Имхо асм оправдан только когда важно иметь кусок кода, работающий одинаково независимо от компилятора и его опций. Так-то в CMSIS сишные обертки на все инструкции прописаны.
>>282668Это я читал, так ни хрена и не понял. Где нормальные описания команд? Где написана структура асм файла? Названия аргументов вроде Rd, Rn, Rm, <op2> мне ни фига не говорят.Видимо нужно учить основы асма с нуля. Спасибо хоть за мануал по NVIC
>>282674>обскакать gcc -O3 так и не удалось.Я только один раз переписывал на ассемблере кусок кода для cortex-M1, по сравнению с -O3 кейла, был прирост скорости на четверть. Точно не помню, но вроде бы прирост был из-за того что мне удалось распихать все часто используемые переменные в регистры.Так что такой оптимизацией стоит заниматься только в крайнем случае.
>>282684> Где нормальные описания команд? Они там и есть "нормальные", вплоть до инстракшн-кост, чего тебе не хватает?>Где написана структура асм файла?В документации на компилятор жи. Ты чем бинарник собирать и линковать собрался? Вот там и наисано.>>282688Чего-то слабо верится, оптимально распихивать переменные по регистрам -- это то, что первым делом умеет любой компилятор, их изначально для того и создавали, задача для компьютера элементарная.Ну или -О3 у кейла значит что-то другое, например минимизацию размера бинарника.
>>282688Так логично же, хочешь скорости - ставь -Os
>>282749Хуйню спизданул. s это size, придурок. Тогда уж -Ofast, хотя большого прироста по сравнению с -О3 не даётвообще прирост очень редко даёт
>>282743>первым делом умеет любой компиляторЕсли эта оптимальность зависит от входных данных, то оптимизировать сможет только тот кто знает статистические характеристики этих данных.>>282750>>282749В кейле таких параметров нет, в нем есть только -OtimeИ вывод другой: если хочешь скорости, бери другой микроконтроллер, чуда оптимизации не будет.
Придумал вот такой алгоритм для антидребезга кнопки. Будет работать?TIM2->CR1 |= 1; while ((!(TIM2->SR)) && (k < 1000000)) { if (!(GPIOA->IDR & btn)) { TIM2->CNT = 0; k++; }}
>>282839> ПридумалТы хоть на пальцах поясни, что твои кракозяблы значат?
>>282847Запускается таймер, считающий до 50 мс. В цикле проверяется статус кнопки, если она сбрасывается (происходит дребезг), то таймер обнуляется и увеличивается счетчик. Цикл крутится, пока не апдейтнется таймер (дойдет до 50 мс) или счетчик досчитает до 1000000. Счетчик нужен на случай, если пользователь сумеет отпустить кнопку раньше, чем 50мс.
>>282848> таймер (дойдет до 50 мс) или счетчик досчитает до 1000000Я чот условие цикла не вдуплил, оно "TRUE" пока TIM2->SR (что это, 50мс?) И(!!!) k<100000.
>>282859>TIM2->SR (что это, 50мс?)Это флаг апдейта. Там восклицательный знак стоит, т.е. условие TRUE, пока флаг апдейта НЕ выставлен.>И(!!!) k<100000.Да, все верно. Когда счетчик станет больше, условие перестанет выполняться.
>>282839Ерунда какая-то. Запускается этот кусок кода по какому условию? А если у тебя несколько кнопок? При переходе на другой микроконтроллер будешь переписывать целиком?Дребезг контактов проявляется и при отпускании кнопки. Типовой алгоритм подавления дребезга выглядит как-то так:if (вход) { if (счетчик == макс) { выход = 1; } else { счетчик++; }} else { if (счетчик == 0) { выход = 0; } else { счетчик--; }}
>>282896>по какому условию? По нажатию кнопки.>А если у тебя несколько кнопок?И что? GPIOA->IDR & btn условие проверяет конкретную, нажатую кнопку.>Дребезг контактов проявляется и при отпускании кнопки.А это неважно, потому что первый же фронт будет сигнализировать об отпущенной кнопке.
Я бы ещё вечный цикл держал, пока кнопку не отпустят - для обработки одиночных нажатий
>>282907Бля, понял свою ошибку. При дребезге во время отпускания будет зарегестрировано ложное нажатие после отпускания
>>282971>>282839Проверил в железе. Вроде работает.
В моем посте присутствует спам-слово и это не MODER. Даже не знаю, что это за слово, вот ссылка на pastebin: https://pastebin.com/uP8gSvaR
>>283070>RCC->AHB2ENR|=RCC_AHB1ENR_GPIOAENТебя не смущает, что АНВ разные? юзай SPL
>>283070>>283073Таки рекомендую использовать SPL. Причина: такие конструкции как #define IS_GPIO_MODE(MODE), ассерты бьют по рукам за неправильную инициализацию. В том же CMSIS названия регистров - обертки над числами, и АНВ2 насрать, что ты пихаешь в него бит от АНВ1 - для компилятора это просто число. В SPL такая штука не прокатит. Про хал не знаю, не пробовал. Притом использование в одном исходнике и CMSIS, и SPL считается дурным тоном.
Аноны, мучительно перелезаю с AVR на ARM - где почитать на русском языке про таймеры STM32.Пиздец, столько наворочено, что в башку не помещается.Простейшая задача - хочу считать таймером нажатие кнопки.
>>283073>>283077Точно, поправил. Но все равно не работает, теперь первое значение 1D0, а потом так же 20-28. Уже и предделитель, и количество сэмплов менял.Сначала я вообще CubeMX открыл и все наконфигурировал, но он выплюнул столько кода, что я решил делать все сам. SPL не по хардкору, писать напрямую в регистры гораздо интереснее, плюс проект не хотел компилироваться, когда я SPL в кеил добавил.>>283086Лучший источник информации — даташиты. Прочитываешь весь раздел по таймерам и ищешь те функции, которые тебе нужны. Можно поискать переводы на русский, вот тут, вроде, много чего описано: http://chipspace.ru/stm32-general-purpose-timers-1/ .
>>283104> Точно, поправил. Но все равно не работает, теперь первое значение 1D0, а потом так же 20-28. Уже и предделитель, и количество сэмплов менял.> Сначала я вообще CubeMX открыл и все наконфигурировал, но он выплюнул столько кода, что я решил делать все сам. SPL не по хардкору, писать напрямую в регистры гораздо интереснее, плюс проект не хотел компилироваться, когда я SPL в кеил добавил.Во первых, есть ли у тебя тру компилер arm-none-eabi-gcc? Spl поддерживает.Во-вторых, лучше поставить кокос 1.7.х. Он специализируется на стмах, нет ограничения кода, халявный. Инклюдишь библиотеки одним щелчком мыши, прототипы функций с докладным описанием смотришь там же.И документацию на cmsis найти гораздо труднее.
Есть один годный сайт, по которому вкатился сначала в авр, потом и в стм/ПЛИС. Всё максимально разжевано. http://avr-start.ru/?cat=78
>>283104>Лучший источник информации — даташиты.Да всё понятно про даташиты, но всё же - как считать, используя HAL, значения счётчика TIM2?Захожу по нажатию кнопки в прерывание по нужному фронту - всё ок, а значения счётчика получить не знаю как...
>>283104Аааа, проорал. У тебя РА0 на кнопке сидит, которая к плюсу подтянута. Фак.
>>283160void TIM2_IRQHandler(void){ cnt = __HAL_TIM_GET_COUNTER(&htim2); HAL_TIM_IRQHandler(&htim2);}По нажатию кнопки приходит в прерывание, но cnt не увеличивается.
>>283162Попробуй напрямую к регистру TIM2_CNT обратиться. И вообще, кинь весь код. Одна функция ничего не даёт.Не выходит - гуглишь RM0090 и читаешь доку от ST.извините за много сообщений, постоянно новое в голову приходит
>>276725Я на сайтике caxapa (латинскими символами) находил для 7.5.0, там автор кряки вкладывает. Пароль фтпшника - анка
>>283158У меня стандартный, стоит ставить? Переход с ардуино на регистры был непрост, теперь еще и компилятор отдельный указывать. Я все еще хочу обойтись без SPL. Хотя, если ее использование увеличивает размер кода так же, как и CMSIS, то можно попробовать.>кокосЧитал, что серьезные дядьки в нем не пишут. Плюс официальный сайт лежит уже, судя по форумам, продолжительное время, что не говорит в его пользу.>И документацию на cmsis найти гораздо труднее.Я из него пока только setInterrupt() использую, потому что не нашел, как это через регистры делается, лол. Документация даже на сайте кейла есть, http://www.keil.com/pack/doc/cmsis/General/html/index.html .>>283160Так написал бы сразу, что с HAL, а то склаждывается впечатление, что ты совсем ничего не знаешь.>>283161Ты, наверно, предположил, что у меня discovery? Я себе купил вот такую плату: http://www.ebay.com/itm/272501820584 , она и дешевле, и меньше, а для выхода логический анализатор есть.
>>283177Компилястер стоит ставить - оптимизация классная, spl тоже стоит по вышеизложенным причинам. >серьёзные дядькиСерьёзные дядьки названия регистров не путают и вообще, пишут на асме. Для быстрого старта рекомендую кокос. И тот сайт, ссылка на который несколькими постами выше.Сам попробую АЦП запустить в течении недели
>>283164>RM0090Это не катит. У меня STM32F103C8T6 - курю UM1850>И вообще, кинь весь код. Одна функция ничего не даёт.Чертова спаморезка не даёт код выложить :-О
>>283177>Так написал бы сразу, что с HAL, а то склаждывается впечатление, что ты совсем ничего не знаешь.Да я практически ничего и не знаю, что касаемо STM32 - после AVR очень сложно.
>>283185> Чертова спаморезка не даёт код выложить :-ОГитхуб/пастебин/гугл код/любой другой
>>283193Я лучше словами.К TIM2 на CHANNEL3 я подключил кнопку.По нажатию на кнопку попадаю в прерывание.Это всё работает.Как мне в прерывании, используя HAL, получить значение счётчика TIM2? Хочу знать сколько раз нажималась кнопка.
>>283230Как то такstatic TIM_HandleTypeDef s_TimerInstance = { .Instance = TIM2};int timerValue = __HAL_TIM_GET_COUNTER(&s_TimerInstance);
>>283236я по ходу туплю с непривычки.TIM2. Тактирую от входа TIM2_ETR (pull_up, опускаю на землю кнопкой)Должен от нажатия кнопки счётчик увеличиваться?
>>283244запускаю его HAL_TIM_Base_Start(&htim2);
>>283245>>283230и читаешь тикиint timerValue = __HAL_TIM_GET_COUNTER(&htim2);Если будет ругаться пробуй без __ спереди
>>283264>>283264>и читаешь тикиЗа тики должны быть нажания кнопки. Нет?>Если будет ругаться пробуй без __ спереди Не, нормально. Только не растёт счётчик от нажатий.Понятно, что я могу настроить прерывания по паданию уровня и в нём увеличивать счётчик.С этим я разобрался. Хочется считать импульсы таймером.
>>283269Get counter - это получить время прошедшее с нажатия кнопки. Если хочешь считать нажатия, обьяви переменную и инкрементируй её во внешнем прерывании. И не мудохайся с таймерами.
>>283273Постой. Откуда в счётчике взяться времения, если Clock Source это вход ETR2 c кнопкой?
>>283283Если не кинешь код, я не смогу разобраться. Ты бы ещё пять инструкций асма скинул и сказал:"у меня не работает, помогите"
>>283287Вот посмотри, пожалуйста.https://yadi.sk/d/iWUb1QgB3J4jz9
>>283293> 7 сегментов> размер 6.4МбНихуя ты накодил.
>>283296Мосье сидит на модеме 14400?
>>283177Хохо, наконец-то я догадался посмотреть регистры GPIO.РЕГИСТРЫ ПЕРИФЕРИИ НЕ РАБОТАЮТ С ВЫКЛЮЧЕННЫМ ТАКТИРОВАНИЕМ.Сегодня решил завести ЦАП, но не включил тактирование и думал, почему он не реагирует на запись. Потом посмотрел и точно, я в инициализации АЦП сначала выставляю аналоговый режим, а потом включаю порт A в RCC.
>>283297> Мосье сидит на модеме 14400? Нет. Просто 6Мб сорсов в архиве для контроллера это убер-дохуя. Хотя потом посмотрел, ты туда и CMSIS и HAL и Аллаха заархивировал. Мне правда глубоко похуй, я просто мимокрокодил и ничем тебе помочь не могу
>>283302Я всю папку с Keil-овским проектом заархивировал. Ради чего мне из неё что-то вырезать? :-) Что бы архив был меньше?
>>283306> Ради чего мне из неё что-то вырезать?Нахуя мне рыть всю твою папку с проектом, чтобы найти код отвечающий за сраную кнопку? Ты еще и кейл с кубом туда заархивируй. Или весь системный диск. Хуле, инторнеты сейчас быстрые.
>>283317зря ты так агришься, у стм бардак в либах и версиях, я сам предпочитаю держать фиксированную копию SPL/HAL для каждого проекта отдельно, лучше уж один и тот же баг в их либе пофиксить отдельно в каждом проекте, чем следить за сохранением совместимости всех проектов с очередной микроправкой.
>>283317зато проект можно открыть в Keil и спокойно начать работать, а не искать откуда скачать недостающее.Если такие сложности у тебя - забей.
>>283323Наверняка ты прав. Я пока не имею опыта оценить твои слова.
И всё-таки, как тактировать TIM2 от кнопки?
>>283327В общем, тьфу на вас :-) Нужно было всего лишь вход подтянуть к питанию.
Ребят, помогите советом. Имею orange pi lite , хочу купить к нему дисплей с тачем. Присмотрел на али такой вариант : https://ru.aliexpress.com/item/5-Inch-800-x-480-HDMI-TFT-LCD-Touch-Screen-For-Raspberry-PI-2-Model-B/32629828030.htmlОпыт работы с orange pi и вообще с такого рода компьютерами нулевой. Будет ли этот дисплей работать? Если не , то посоветуйте какой-нибудь 5-дюймовый.
>>283641Он подключается через HDMI , и я так понял что всё что через HDMI подключается - работает везде. Это ведь так? И тачскрин подключается отдельно как-то?
>>283641>>283816Дисплей этот помимо того, что работает от HDMI, ещё и на GPIO садится (питание и тач-видимо). Если распиновка оранж пи и распберри одинаковая - то должно работать.Я с оранжпи не сталкивался, да и честно говоря не знаю, зачем говноклоны малинки вообще нужны.
Не особо понимаю, зачем нужен захват таймера? Ведь можно проще сделать:Запустить таймер;while (условие);Остановить таймерСчитать значение счетчика. ГотовоВсего 4 строчки кода вместо громоздких конструкций для захвата таймера, обработчиков прерываний и т.д.
>>284341Если ты про режим, когда по внешнему сигналу значение счетчика копируется в другой регистр, основная причина в обеспечиваемой точности.Можешь ли ты сказать, сколько тактов будут выполняться предложенные тобой операции?А если в момент ожидания условия возникнет прерывание? Или ты собираешься еще и прерывания запрещать? Но тогда микроконтроллер не сможет выполнять другие задачи во время этого ожидания.
>>284367>Можешь ли ты сказать, сколько тактов будут выполняться предложенные тобой операции?А не похуй на частоте 72мгц? Явно не больше микросекунды это будет
>>284367>Но тогда микроконтроллер не сможет выполнять другие задачи во время этого ожидания.А нах какие-то еще задачи? микроконтроллер предназначен для выполнения одной задачи в 99% случаев
>>284375>>284376Ардуино параша протекла.
Существует ли способ, позволяющий DMA прибавлять значение к переменной вместо копирования? Хочу сделать фильтр среднее арифметическое для АЦП, а то при одиночных конверсиях показания крайне нестабильные. Сейчас единственным способом мне видится копирование значений в массив, потом их сложение и сдвиг вправо, но сложение 16 значений 86 тактов занимает, а все остальное прерывание 109.
>>284486Насколько я знаю - нет. DMA просто копирует значение из регистра в память либо из памяти в память, ты даже не можешь тунелировать данные, чтоб через DMA с одного I2C на другой пересылать, только I2C - память - другой I2C
>>284490Про периферию в даташите написано. Настроил, теперь надо как-то скорость увеличить. Continuous mode выполняется значительно быстрее, чем серия 8 одинаковых каналов, но в этом режиме срабатывает переполнение и данные не записываются.
>>284516Поиграйся с burst режимом, хотя он нужен для передачи пакетов данных, а не для непрерывного считывания ацп, также ты можешь в прерывании обрабатывать ошибки в том числе overrun (возникает, если ацп конвертирует данные быстрее, чем их успевает считывать dma).
>>284525Circular mode тут больше подходит, если я правильно понял его работу. Теперь у меня только одно прерывание по таймеру, где все выполняется, раньше еще от АЦП было. Только в режиме дебаггинга все значения за один шаг программы обновляются независимо от времени сэмиплирования, хотя счетчик тактов увеличивается на адкватные величины.
>>284713Ну дебаггинг это дело такое, точки остановки зависят от того, что там навалял компилятор
Поясните за/против libopencm3.
>>284747Компилируй с -Og
>>284920-O0 -g ты имел в виду?
>>284817дерьмо типа cmsys, только для stm32
Аноны, моему другу очень понравилось программировать на asm для avr. У нас в университете был семестр микроконтроллеров, и мой дружок так упоролся, что решил лабы всем девчонкам просто так парни сами почти все сделали Через два месяца у него др. Я думаю, может, купить ему что-нибудь помощнее atmega16?Проблема в том, что я решал лабы на си и отладчиком пояснял преподу, что да как работает. Выебнулся, да - потому что преподаватель хотел, чтобы я на асме писал. Так вот, мой друг си не любит, и вообще от программирования не в восторге пытался заманить его изучать си шарп вместе с собой, да разные книжки по программированию читать. Несмотря на это, атмега с асмом ему понравилась. Понравится ли ему что-нибудь на более производительном арме? Хочу купить девборд, программатор и рассыпухи до кучи
>>284967двачую сисярп. стм8 с другом попробуйте, обязательно на асме
>>284967Дело в том, что на асме дальше лаб особо не уедешь. Он охуеет писать и потом отлавливать дохуища багов с утечками памяти в более менее серьезном приложении.
>>284968Думаю, сразу stm32 взять. Мощности больше, цена та же. Единственное, чего бы хотел попросить - ссылку на годный diy-набор, потому что те, что я нашёл - лютая хуета. Думаю, нужно купить маленький oled-дисплей, динамики, диоды, рассыпуху (резисторы, конденсаторы, катушки), плату для травления Хочется как можно меньше паять, потому что в наличии один здоровый батин паяльник >>284982Так это даже хорошо, может, насчёт писать код на С. Некрасиво решать за друга, но я хочу себе союзника
>>284986STM32 ftw
>>284986Эту бери тогда, паять не придетсяhttps://ru.aliexpress.com/store/product/ARM-Minisystem-Development-Board-STM32-Development-Board-Core-Board-ESP-Network-STM32F103C8T6/1829717_32725174720.html?spm=2114.12010612.0.0.MoSJfA
>>285003Да, можешь взять STM32F103C8T6 и заодно попроще 20-ногую STM32F030F4P6. Но я б еще взял STM32F030C8T6, мне он даже больше чем STM32F103 нравится, да нету USB и батарейного питания для внутренних часов (которые все равно отстают и надо дрочиться с регистром подстройки), зато в 2 раза больше таймеров, что для меня обычно важнее в большинстве задач.
>>284987Я что-то не могу определить масштаб по фотке, самая мелкая размером с дип-40?
>>285020Сама плата в правом верхнем углу? Да где-то такого размера лол, только чуть шире.
>>285030Если плата чуть шире, то похоже дырки должны точно совпадать с дип40 пинами.Блин, как это называется? Буду гуглить даташит. Эта штука точно подойдет в один девайс, прямо в сокет.
>>285034Это называется 2.54мм
>>285045Но вот вопрос как ее в колыбельку дип40 воткнуть и есть ли даташит
>>284937Не -O0, а -Og. http://www.phoronix.com/scan.php?page=news_item&px=MTE3NDg
>>285045Ясно что 2.54, хм, расстояние между рядами должно быть кратно 2.54, так что 99% что подойдет.
Armщикам по масти, вэбмакакам по пасти, господа. Приобрел китайскую ардуиноподобную платку с стм32 на борту, вроде даже подружил с ардуино ИДЕ, но хочется освоить IAR, нет ли гайда годного на эту тему (или не стоит вскрывать эту тему?), короч буду очень признателен.
>>285097лучше юзай куб+кейл связочку
>>285107Спасибо, антоша, ты избавил меня от страданий
>>285107На генту перехожу, там кубик есть, а кейла нет. Как там с отладкой?
>>285135я только из-за кейла и сижу под виндой, потому что 10 из 10 идешка с отладкой, навигацией по статусам регистров, просмотром памяти во время отладки и прочими ништяками, она даже лучше чем AtmelStudio для avr
>>285157Первые 3 пикчи - кейл (2 и 3 в режиме отладки), я обвел интересные инструменты, но их там в несколько раз больше вплоть до софтверного осцилографа, который во время отладки будет рисовать че там на входе/выходе ножек.4 пикча - STM Studio, отдельный интсрумент для отладки с визуализацией данных, очень удобно если надо проверить стабильность работы чего-нибуть (например как часто i2c отпадает или датчик отправляет неверный CRC, просто запускаешь, добавляешь переменную и через некоторое время смотришь график с провалами)
>>285160Ты так пишешь, будто всего этого в других IDE нет. А все это, кроме разве что STM Studio, имеется даже в эклипсе в виде плагинов.>>285135Отладка под линуксом ничем не отличается от отладки под виндовсом при использовании gcc. Для GNU GDB есть разные gdb-сервера для разных отладчиков. OpenOCD - поддерживает много разных, и есть проприетарные st-util и J-Link GDB. И все они работают почти одинаково под разными операционными системами.
>>285165>Ты так пишешь, будто всего этого в других IDE нет.Скрины в студию (хотя бы просмотр состояния регистров и оперативной памяти)
>>285169http://gnuarmeclipse.github.io/debug/peripheral-registers/>оперативной памятиЭто вообще в любой IDE для С/С++ должно быть.В любом случае, просмотром содержимого регистров приходится заниматься крайне редко. Это скорее начинающим более полезно.
>>285176Ну тогда все ок.
Мне нужно подключить беспроводной PS2 геймпад к stm32f4discovery. Существует ли готовая библиотека?
>>284490Тащемта, девайс-девайс есть в определенных мк
Так анон. Хочу вкатиться в эти ваши микроконтроллеры. Начать хочу с футсвича для компа. Типа кнопки, которые нажимаются ногой, но для компа как нажатия на клавиши. http://www.ebay.com/itm/321569700934Вот к этой хреновине нужен конвертер usb<->uart? Кроме этой платы, диодов и диодов, что еще нужно, чтоб начать пользоваться?
>>285633Диодов и диодов XDРезисторов и диодовБыстрофикс
>>285633Кроме платы диоды нужны
>>285636Ещё ДИДЫ нужны!
>>285636>>285650Спасибо, двач.
>>285698Да я не знаю, анон. Сам захожу в тред, потому что осенью закажу stm32
>>284959Он не только для stm32 же. Ок, а чем заменить говнохал на стмках? Самому велик изобретать не охота, а хал - говно.
>>285767>а хал - говно.Поясни плз. Мимо 2 года уже использую хал, некоторые девайсы на нем работают с нагрузками 220, управляют симисторами и т.д. Все это время никаких нареканий. Фо фан делал обработку изображения с камеры и типа слежение за объектом заданного цвета, работало как часы. Код писать на нем очень приятно, при этом не раз лазил в исходники хал, там все написано четко и красиво.
>>285768>четко и красивоПо мне так нихуя не красиво и много какого-то лишнего говна внутри. Наличие поллинга в обработчиках прерываний -- это вообще пушка по-моему да и вообще именно обработчики прерываний мне там больше всего не нравятся. Да, с ним писать намного проще, потому что зачастую можно даже мануал не открывать на камень, но случись чего разобраться в этой куче будет тяжелее, чем в их старом spl, который тоже был не конфета.Хер знает, насколько четко оно работает, но мне кажется, что любая более простая либа типа libopencm3 будет работать быстрее, и в ней будет проще ковыряться, если возникнут какие-то проблемы.
>>285770Ниразу не видел поллинга в халовских функциях обработки прерываний, как минимум в таймерах, I2C, UART, SPI для последних версий F0 и F1 (в них больше всего ковырялся) их точно нет. Там просто набор проверок с выставлением флагов в регистры и вызовом __weak методов. Есть while в методах типа HAL_UART_Transmit, но они там и должны быть, потому что это не передача через прерывание или DMA. Про отладку я вообще молчу, достаточно взглянуть на метод и сразу понятно где ставить точки остановки и какие переменные мониторить, потому что нормальные названия + комментарии.
>>285770Всё правильно говоришь.Также хал - это оверхед (тяжеловесная ебола, всё-таки); это высокая нижняя граница сложности (weak-callback меня не пугают, по сути те же irq-handler, но они не нужны в простейших задачах, а хал бывает только с ними); это баги (sdio под STM32L правил весьма основательно); это уродливый DSL (микс из __MACROSOFF(hyoba) и HAL_YOBA_Off(&hyoba)); ну много ещё вопросов к халу, его архитектуре и документации.Но вот для больших проектов с FreeRTOS, USB-CDC, SDIO+FAT32, RMII+LwIP и т.п. я бы настоятельно рекомендовал именно HAL и именно в связке с Cube. Охуительно упрощает.
>>285774Еще забыл упомянуть главную фишку в виде возможности легкого переноса кода с одного ядра на другое, пару раз сталкивался, когда писал что-то на F0, а потом переносил на F1 из-за не хватки периферии или памяти, перенос занимал от силы 5-10 минут.
>>285774>Там просто набор проверок с выставлением флагов в регистрыСейчас работаю с f7, там в SPI в цикле проверяются флаги, по-моему это не норм. По крайней мере в железе там был косяк: в режиме слейва как будто в какой-то момент клок проебывался. Данные принимались, но флаг bsy в периферии не сбрасывался, он у меня так и оставался в этом цикле крутиться. Колбэк по tx/rx complete предполагает конец передачи, по факту же он вываливается туда по мере опустошения fifo, то есть, передача еще идёт, и отключать периферию нельзя.Да, насчет комментариев не могу поспорить, но есть слабо описанные места, наприме, usb device. Ковырять его тяжко. С другой стороны, писать всё это самому было бы гораздо хуже.>>285776С точки зрения переноса хал действительно очень крут, тут не поспоришь.>>285775>Охуительно упрощает.Упрощает, но вопрос в том насколько он будет медленнее работать, чем что-нибудь куда более лёгкое? Есть ли вообще какие-то альтернативы, кроме libopencm3 и старого spl?Короче, на работе встал вопрос ребром на эту тему. Я не хочу изобретать велик и не считаю, что монструозность хала сильно снизит производительность, хоть он мне и не очень нравится. С дургой стороны альтернативы две: писать самому и убить кучу времени на отладку, либо взять что-то лёгкое и низкоуровневое типа libopencm3, но я и другие разработчики в отделе никогда ей не пользовались, и если накидаю говна в проект, то вряд ли меня за это поблагодарят. Вот я и думаю, что делать.
>>285777>Сейчас работаю с f7У меня похожие проблемы были пару лет назад с F4 (я тогда на нем делал обработку изображения с камеры и были проблемы с DCMI, пришлось поковыряться и поправить ручками), тут ничего не поделаешь баги в любой области присутствуют (посмотри на тот же ESP32, помимо багов в железе, часть которых исправлена в новой ревизии, присутствуют еще и в их SDK + сам SDK не полный, как и мануал на периферию, который допиливают на коленке). Но их в любом случае правят, хал для F4 который был до какого-то времени с багами стал все-таки стабильным, тоже самое будет и с F7 со временем.
>>285777>вопрос в том насколько он будет медленнее работатьПо-моему такие вот нагруженные периферией проекты - это всяко сплошные DMA, где всех вычислений - парсинг да простая логика, т.е. без какого-то жёсткого реалтайма, потому и хал допустим. При этом делал однажды проект USB-осциллограф с параллельным логированием на microSD с FAT и россыпью медленных датчиков на i2c и spi, так вот безотносительно производительности я просто не представляю, как бы я заебался без куба, скорее всего просто даже не взялся бы начинать. Ну а куб - это только хал.другое дело, что такие вещи надо на малиноподобной хуйне делать, а не стм32
>>285779DMA действительно упрощает работу в плане быстроты чтения данных, а если надо кучу всякого говна слепить в единое целое, то в любом случае нужна RTOS. Ну и не стоит забывать, что даже самый медленный STM32 это 48МГц, что в 3 раза быстрее среднестатистической Атмеги с 16МГц, на таких частотах можно уступить парой циклов в пользу быстроты и простоты написания кода.
>>285778>их в любом случае правятВот поясни, как с этим быть вообще? Запилил я проект на хале, нашёл там пару багов, пофиксил. Стм выпустили новую версию, где что-то пофиксено. Мне что в такой ситуации делать? Обновляться или нет?
>>285781Я б обновил, это ж просто уровень абстракции, перегенерил проект в кубе, скомпилировал, если надо переименовал функции и все работает. Но при этом я б не гнался за новыми версиями, если все норм работает на старой, они в основном для новых МК типа F7 и могут содержать потенциальные баги, после "оптимизации" общих методов, для их совместимости со всеми ядрами.
>>285783Вот в том-то и вопрос; на переименования похуям, а вот не нахватаешься ли новых багов и не откатишь ли собственные изменения не понять, так что вынь да положь регрессионное тестирование. Как было просто при коммунизме SPL.
>>285784Я сейчас сижу на кубе 4.19 (4.20 был с багом инициализации чего-то там, который поправили в 4.21, но мне и на старом норм) и последними FW для F0 и F1, которые последний раз обновлялись в конце и начале 2016 соответственно. Пока не сталкивался вообще ни с какими багами, работал со всей периферией, кроме разве что CAN.
>>285779DMA везде используется, где только можно, это даже не обсуждалось. Жесткого реалтайма в проекте вроде как нет, поэтому мне кажется, что хал там применим будет. Мне вообще кажется, что при использовании freertos с его переключениями и прочей малафьей пытаться угнаться за тактами убрав хал -- бессмыслица. Да и вообще стоит ли пытаться выиграть 10 строк кода на проце с частотой 216 МГц?Ладно, спасибо, аноны, буду пытаться настаивать на использовании хала.>>285784Можно посмотреть на предмет исправления известных тебе багов. Если ничего не изменилось, то и смысла обновляться может не быть. Так или иначе когда периферию поднимаешь, пишешь ведь какие-то тесты, чтобы понять, что всё верно работает. Можно в отдельной ветке обновить либы, погонять тесты, если ничего не отвалилось еще помимо старого, то оставить, в противном случае просто забить хер до выхода следующей версии. Но просто так херачить новую либу в проект не надо, я как-то раз много времени потратил на поиск и исправление косяка в i2c. А в старой все как часы работало.
>>285777>либо взять что-то лёгкое и низкоуровневоеМожешь еще посмотреть в сторону этой штуки: STM32Cube Low-Layer Application Program Interface (LL API)http://www.st.com/content/st_com/en/about/media-center/press-item.html/n3837.htmlЯ правда ей никогда не пользовался и ничего не могу сказать, но она позиционируется как облегченная версия хала для высокой производительности, что-то среднее между регистродрочем и абстракцией. Также его можно использовать вместе с хал.
>>285767dosikus, залогинься!
Котаны, помогите. Решил слезть с блядоардуино.Заказал у пиздогазых пикрелейтеды.Программатор именно с такой распиновкой. Собстенно, подключил 2, 4, 8 и 8-й выходы программатора на IO, GND, CLK и 3,3 выходы платки соответственно.В кубике выбрал STM32F103C8T6. PC13 - output. Собрал в кокосе стандартный блинк. Все компилится. Заливаю прошивку - и нихуя! Причем, пробовал заливать и через STM32 ST-LINK Utility. Что-то туда заливается, т.к. если в ST-LINK Utility слелать Erase а потом залить кокосом - то там появляется что-то. Кодяра лупа ниже. Что я делаю не так? while (1) { int i; for (i=0; i<3; i++){ HAL_GPIO_WritePin(GPIOC, GPIO_PIN_13, GPIO_PIN_SET); HAL_Delay(1000); HAL_GPIO_WritePin(GPIOC, GPIO_PIN_13, GPIO_PIN_RESET); } HAL_Delay(1000); for (i=0; i<5; i++){ HAL_GPIO_WritePin(GPIOC, GPIO_PIN_13, GPIO_PIN_SET); HAL_Delay(300); HAL_GPIO_WritePin(GPIOC, GPIO_PIN_13, GPIO_PIN_RESET); } }
>>286170Дополню конфигурацией тактирования и тем фактом, что обе перемычке на плате находятся в положении, как на пике в предыдущем посте.
>>286170>>286174А вот это работает. Выходит, куб какую-то хуйню генерит?
>>286182Хз, пользуюсь кейлом, под него все норм генерит.
>>286183Аноний, спасибо, в кейл все гуд - завелось с полтычка. Алсо, правильно ли я понимаю, что HAL_GPIO_WritePin(GPIOC, GPIO_PIN_13, GPIO_PIN_SET);устанавливает пин не в HIGH, а в то значение, которое было сконфигурено в кубике в GPIO Output Level?
>>286214нет, SET устанавливает в HIGH, RESET в LOW, а то что ты в кубе установил, это каким оно будет после инициализации GPIO.
>>187094Пришёл сюда узнать об этом. Об AT91, досталась парочка, посмотрел у китайцев цена минимум за шт. 250, решил поехать мозги. Смотрел смотрел - Flash и еепрома нуль, как и куда прошивать его?
Соррян, два раза запилил, и"Решил поебать"*
>>187056 (OP)Анон, перекатываюсь с пердуино на арм и охуел от его возможностей.Можно советов по книгам. Лучше на финоугрском конечно, но англ IFT.
>>187056 (OP)
>>286792По-гугли писателя Ю.
>>286810>писателя ЮЭто шутка? Просто ^поебались^ Ю и все?
>>286810ЯДРО CORTEX-МЗ КОМПАНИИ ARM. ПОЛНОЕ РУКОВОДСТВО. ДЖОЗЕФ Ю. 2012 ГВот что нашел.
>>286820А ссылку чо? Зажал?
>>286823Я пока и не нашел.
>>286825Нада?
>>286827http://rgho.st/6XgznKGWV
>>286827Кидай сюда всю папку
>>286875Двачну. Анону книг зажал!
ептыть неужели так сложнаhttp://www.twirpx.com/library/comp/microcontrollers/arm/
Помогите советом. Хочу подключить беспроводной геймпад Logitech F710 к stm32f4discovery. Нужно обрабатывать нажатия всех кнопок и движения стиков. При подключении к компьютеру геймпад определяется как HID-совместимый игровой контроллер. Правильно ли я понял, что мне нужно настроить на stm32-плате USB host? Как потом отследить нажатия кнопок? Где можно про это почитать, по какому запросу искать? Спасибо!
Малины и прочие оранж пи это сюда?
>>286997https://2ch.hk/t/res/746931.html
Анон, поясни нуфагу за CMSIS. Помигал светодиодом, сначала с CMSIS, потом с StdPeriph. Пишу в Keil. Так вот, лучше писать на чистом CMSIS или как?
>>287006DI HALT хорошо пояснил.Для обучения CMSIS онли. Потом SPL, если нужно будет что то сейчас и немедленно.Зачем? В SPL куча косяков, которые не зная CMSIS и не разбираясь регистрах ты не найдешь.Мимонюфак.
>>287044Зойчем spl если есть ll(HAL)?
>>286997Кстати почему не? Тот же линупс поставить как? Как свой собрать для платки
Двач, поясни плиз. Для инициализации ножек своей дискавери юзаю SPL с их ебучими структурами и прочим. так вот, понадобилось мне прихуярить 1-wire свой, немного отличающийся от далласа (DHT22). Так вот, насколько это всё хуёво и насколько проще и быстрее это с CMSIS? (т.е. мне недо быстро посадить ножку на минус, а через микросекунду уже настроить её на вход). ардуинопараша вроде mbed не катит. Ньюфаг, с ардуино не знаком.
>>287117Поидее ты можешь настроить ножку open drain и включить подтяжку вверх/вниз, чтоб не переключать ее режим работы, тогда можно по ней и передавать данные и читать.
>>187056 (OP)Вопрос к знатокам. С помощью куба забахал проект с lwip и freertos, прописал пути в эклипсе, начинаю компилировать. вылезает пикрил. если приглядеться, то можно увидеть, что в описании ошибки указан путь STM32F4xx_HAL_Diver. Понятное дело, что он неправильный, но почему то поиск объектного файла происходит по нему. создается нормальный объектный файл по нормальному пути. кто и почему коверкает мои пути? у меня такой искаженный путь нигде не фигурирует
>>187056 (OP)Ананасы поясните как прописать на keil 5 malloc. stdlib.h какой надо инклудить?Если с примером так вообще нихуя дам.
>>287597НАЧАЛЬНИК! Пораша протекла. Иди залатывай нахуй, я с говном в одной камере сидеть не будут!.
Блэть, парни, посоветуйте нормальный курс по проганью STM32.Какие не находил статьи - нигде адекватно не расписывают что к чему. Тупо показывают, как надо сделать, чтоб в такой IDE с таким проектом плата замигала лампочкой.Как? Почему? Что происходит? По минимуму объяснений. А приходится срочно вкатываться в MCU.Что почитать-то?
>>288624Если бы ты осилил учебник по Си, у тебя бы осталось два вопроса: какой кнопкой компилировать и где документация на микроконтроллер.Те статьи которые ты находил, как раз про то "какой кнопкой компилировать".
>>288632>осилил учебник по СиБезусловно, в каждом учебнике по си описаны тонкости конфигурации МК STM.
>>288633в даташитах все расписано тащем то. Как че конфигурировать, а если не можешь читать даташиты на английском то надо заходить с другого конца к проблеме ииииииии учить английский.
>>288638Не, с даташитами как раз проблем нет.Просто концепция в целом не осознаётся на 100%.Сложно сформулировать в чём именно мне не хватает знаний, но подошедших уроков найти не смог.
>>288640>>288633Тогда перед учебником по Си прочти эту книгу для школьников.>МК STMЯ бы не сказал, что STM в чем-то существенно отличаются от других микроконтроллеров.
>>288640P.S. >>288641Хорошо. Спрошу иначе.Есть пример программирования контроллера с момента создания проекта до момента прошивки с более/менее полным пояснением каждого действия?
>>288642Смотря что понимать под более/менее полным пояснением.В книге >>288641 объясняется что такое процессор, память, как происходит управление периферией. Остается только изучить Си.Не зная что ты осилил, трудно советовать что-то конкретное. Например, что тебе не понятно в примере https://github.com/kcuzner/stm32f103c8-blink/blob/master/src/main.c ?
>>288624Если имел опыт с AVR, то никаких проблем не должно воникнуть, вся периферия работает так же (дрыганье ножками, прерывания, АЦП, таймеры, ШИМ, ...), только их больше и у некоторых появился расширенный функционал (передача данных черех DMA, интерфейсы для памяти и дисплеев, 2-х канальный АЦП со всякими плюшками, применимыми для DSP и т.д.).Прогать можно используя CMSIS, либо HAL (SPL устарел и не поддерживается на новых камнях). Я предпочитаю HAL, так как с ним быстрее генерить пустой проект с инициализированной периферией и есть возможность быстро перенести проект с одного камня на другой, остается лишь писать сишный код. Подавляющее большинство примеров написаны с использованием SPL либо HAL, что упрощает поиск инфы, если что-то не получается.Вобщем не вижу никаких проблем во вкатывании, если имел опыт работы с 8-битными МК, другое дело вкатываться в контроллеры типа ESP32, который китайцы поленились сделать на ядре Cortex, а даташит ограничивается лишь общим описанием того как работает та или иная периферия. Хорошо хоть для SDK состряпали доки.
>>288661Не, до этого не прогал микросхем.Впрочем, наткнулся на канал Sappise на ютубе - он хорошо разъясняет.
>>288661Я правильно понимаю, что CMSIS - это менее абстрактная и более низкоуровневая библиотека, а SPL и HAL - аналоги по этому критерию и более высокоуровневые, чем CMSIS?Мне сейчас самому надо определиться на чём начинать.
>>288863В первом приближении CMSIS - это описание регистров периферии. Другими словами CMSIS - это прямой доступ к регистрам периферии. Соответственно, если ты осилил Си и документацию микроконтроллера, ты автоматически осилил CMSIS.Если ты не смог осилить Си и/или документацию микроконтроллера, у тебя получится освоить HAL только на уровне копипаста и прочего ардуинства.В любом случае для начала тебе требуется понять как процессор взаимодействует со своей памятью и периферией, а это доступным языком изложено в >>288641После этого тебе будет необходимо осилить Си. Причем при программировании микроконтроллеров не используются какие-либо особенности языка Си, не изложенные в учебниках. Рекомендую один из этих двух учебников:1) Керниган Б.В. Язык программирования С.2) Подбельский В.В. Программирование на языке Си.Если бы ты не поленился и хотя бы бегло прочел >>288641 , а потом прорешал бы примеры из учебника по Си, то множество всяких глупых вопросов наверняка бы не возникало.
>>288878Ок, спасибо.КМК архитектуру на уровне юзера я понимаю, т.е. когда смотрю примеры на CMSIS вопросов по работе регистрами не возникает.Скажем так: основным вопросом было то, что я не знал, с какой стороны взяться за изучение.Сейчас, когда худо-бедно начал, вопросов меньше.
>>288861Ну тогда придется поднапрячься если захочешь писать с CMSIS, проще б было начать с 8-битных МК AVR типа Atmega16, у них неплохой набор периферии, можно дебажить и смотреть что происходит в регистрах, если есть необходимость разобраться как что-работает. У STM32 референс мануалы на 1000+ страниц, сразу охуеваешь от количества информации. У AVR мануалы в 3-4 раза меньше, по ним легко прогать и изучать как работают всякие базовые штуки типа таймеров, ШИМ, АЦП и т.д.
>>288888Как недавно перебравшийся с AVR, скажу, понятного разбора архитектуры ARM сейчас по горло. Все таки перелезая с архаичных avr происходят некоторые разрывы шаблона.
>>288879>с какой стороны взяться за изучение1) Основ электроники, хотя бы до транзистора.2) Основ цифры3) Общей архитектуры МК4) Покупки макетной платы5) Конкретной архитектуры вместе с ассемблером.6) СИА дальше сам уже будешь понимать. Главное не лезь в пердуины.
>>2889073, 5 - не нужно.1, 2 - достаточно знать что есть цифровой и аналоговый сигнал + зачем нужны резисторы, транзисторы и конденсаторы.4, 6 - пожалуй хватило бы только этого.Практическое знание ассемблера нахуй не нужно, только зря потратишь время на изучение этих ебучих микрокоманд, чтоб забыть их через пару месяцев. Архитектура МК тоже не несет никакой пользы, ну знаешь ты что там есть блок памяти какого-то размера, мультиплексоры и еще всякая хуита, но при написании программ ты даже не вспомнишь об этом.Интересно кем работают или что делают те, кто советует дрочить архитектуру МК и ассемблер, наверное уженестуденты каких-ниубть тех. вузов, в которых им забивали мозги устаревшим дерьмом
>>288907>Общей архитектуры МКЧто об этом почитать?
>>187056 (OP)Хочу вкатиться в ARM, у меня есть плата STM32VL, но я не умею пользоваться даташитом. Посоветуйте статей, где бы параллельно с написанием кода велась работа с даташитом типа "А эта константа имеет такое значение, потому что в даташите в такой-то главе такой-то порт расположен по такому-то адресу".
Столкнулся с тем, что трЪ-stm'щики кроют хуями HAL и SPL.Понятно, что каждый, кто прохавал проганье с регистров, получает +5 к ЧСВ, но всё же есть конструктивные аргументы в пользу отказа от библиотек?Видел комменты, мол, библиотеки ограничивают гибкость работы. Но в чём заключается это ограничение понять не могу.
>>288941Ну вот тута немного этого есть:https://youtu.be/7CotisrQvsc
>>288966HAL по сути надстройка над CMSIS, которая наоборот добавляет гибкости, потому что ты можешь претаскивать куски кода с одного камня на другой, не тратя кучу времени на переписываенрие CMSIS функций к КАЖДОЙ инициализации, вызову, обработке и т.д. Хз почему все так рьяно дрочат на CMSIS, ведь он не дает никаких преимуществ, только гемор с запоминанием важных кусков кода и постоянным лазанием в референс мануал.
>>288995А по моему разницы по трудозатратам почти нет, потому что обычно код инициализации периферии намного меньше остального кода программы.>>288938>достаточно знать что есть цифровой и аналоговый сигнал + зачем нужны резисторы, транзисторы и конденсаторы.Для программирования микроконтроллеров самих по себе, даже это не нужно. Но для разработки более-менее сложных устройств с микроконтроллерами этого не хватит.>Практическое знание ассемблера нахуй не нужноС этим скорее соглашусь. Но некоторые подробности будет не лишним знать, например наличие/отсутствие аппаратного умножения, деления и прочего.>Архитектура МК тоже не несет никакой пользыКак минимум, без поверхностного понимания не получится понять откуда берется выравнивание данных. Знания о том как работают всякие процессоры помогут при программировании ПЛИС.>дрочить архитектуру МК и ассемблерДостаточно для расширения кругозора почитать >>288641 или что-нибудь подобное.
>>289002>Для программирования микроконтроллеров самих по себе, даже это не нужно.Отчасти да, но часто приходится между МК и подключаемым девайсом лепить всякие элементы: транзисторы для управления 12/24В нагрузкой, резисторы и конденсаторы на I2C шину, делитель для АЦП и т.д. по мелочи.Многое зависит от того, какими навыками обладает вкатывальщик, изучал он радиоэлектронику или программирование в универе:>Но некоторые подробности будет не лишним знатьДля радиоэлектронщика - да, для программиста так себе инфа в конечном итоге, на многих ИТ специальностях есть курс по комплюктерам и их процессорам, где рассказывается про устройство внутренней памяти, конвееры и прочее.>помогут при программировании ПЛИСЭто уже совсем другая категория разработки устройств, чаще крупный проект богатого заказчика, для вкатывания и разработки чего-то своего МК получше выглядят. А поверхностное понимание, при необходимости, можно получить, прочитав за вечер пару статей по устройству и работе тех же AVR, которые очень хорошо разжеваны. На самом деле достаточно знать как работают регистры, оба типа памяти, тактирование (считай таймеры, шим, вочдоги) и аналоговое преобразование, все остальное это цифровые интерфейсы "высокого уровня", для которых нужно больше знать программирование, чем работу МК.>почитать >>288641Я открыл в середине и осили только пару глав, не могу в эти сокращения на русском, в англоязычной документации по МК как-то все понятнее и привычнее.Считаю что лучше все-таки поиграться для начала с AVR, по статьям в инете либо по книге пикрилейтед. Я больше предпочитаю статьи, потому что изучал так пхп, питон, руби и после 6 лет работы, когда все это заебало так же изучал Си и AVR а затем перекатился на STM32, никаких проблем во время их изучения не возникало, особенно если у тебя под рукой есть отладчик, который при любых непонятках позволяет во всем разобраться самому.
>>289002> код инициализации периферии намного меньше остального кода программыДело не только в инициализации, но и во всех обращениях к портам, регистрам таймеров, шинам данных, оработках прерываний и тому подобного. Используя HAL их не надо искать и переписывать по всему проекту, потому что написанный код будет совместим с любым другим камнем STM32, можно написать проект на STM32F1 и потом за 5-10 минут перенести его весь или частично на STM32F7.
>>288966Конкретно с HAL/SPL проблема одна единственная: их писали рукожопые индусы. Но, поскольку писать на чистом CMSIS что-то сложнее морганияя светодиодами это тот ещё чемпионат по фигурному зигхайлю, то все плюются но пользуются, дорабатывая напильником.P.S. Ну или не пользуются, а берут какой-нибудь opencm3 или HAL от ChibiOS.
>>289017HAL от STM очень даже ничего, как минимум проверял абсолютно всю периферию на F0 и F1 + многое на F4 - ни одной проблемы не возникало.
>>288938>4, 6 - пожалуй хватило бы только этого.Для помограть диодом да.1, 2 - достаточно знать что есть цифровой и аналоговый сигнал + зачем нужны резисторы, транзисторы и конденсаторы.Диоды, стабилитроны, тиристоры, индуктивности....А так же знать как они работают, иначе, даже сраный силовой ключ не сделаешь. >3, 5 - не нужно.Кроме попсы описанной в туториалах нихуя не изучит, будет сидеть каждую детскую проблему решать на форумах. Никто не говорит, что надо все вызубрено знать, но некий сферический вакуумный перемалыватель команд надо. Нужно знать так, что бы в если потребуется, в конкретной можно было разобраться.>>288940Просто изучить архитектуру любого попсового контроллера. >>288966> кто прохавал проганье с регистровЧто там прохавывать то?
Кто-нибудь использовал датчики пыли Plantower PMS5003 и PMS5007 а так же их 2-х канальный NDIR CO2 датчик DS-CO2-20?
смотрите, есть такая штука на плате старого дивидюка mt8105ee arm не могу никакой документации по ней нарыть. что это?
>>2906963003 было дело.
>>292006> что это? Медиатековский мультимедийный процессор.
>>292214с ним можно что-нибудь сварганить? даташит существует в открытом доступе?
>>292320> в открытом доступеDA TY OHUEL SHTOLE?
>>292382шо, не? я просто из деревни
Поясните про все эти ARM'ы, SoCи, стоящие в смартфонах, роутерах и всем таком.Я правильно понимаю, что практически это как бы аналоги десктопных камней от интел/амд? Т.е. вокруг камня собирается базовый набор периферии (озу-пзу-дисплей-управление), в камень заливается типовой загрузчик, который грузит с флешки, на которую заливается некий базовый дистрибутив линукса в качестве ОС, который впоследствии допиливается доп. софтом и драйверами.Однако все же не могу найти инфы, как такое смахараить с нуля? То есть собрать некую минимальную платформу, на которой, грубо говоря, запустить тетрис. Или же продаваемые малинки и их аналоги - это и есть такие минимальные платформы?
>>292413Это уже не минимальные платформы, а вполне себе самостоятельные
есть у кого книжка Joseph Yiu - The Definitive Guide to ARM® Cortex®-M3 and Cortex®-M4 Processors?
>>292480> The Definitive Guide to ARM® Cortex®-M3 and Cortex®-M4 Processorshttps://www.eecs.umich.edu/courses/eecs373/labs/refs/M3%20Guide.pdf
>>292500спасибо конечно, но я просил про M4.
>>292592На рутрекере тогда
>>292594Ок, посмотрю там.
Господа хорошие, не обоссывайте. Вкатываюсь в ARM, купил себе плату NUCLEO-F446RE. Нагенерировал под себя инициализацию в CUBE и попробовал отправить в уарт массив чисел. Ожидаемо соснул хуйца, так как подключаю переходник USB-UART и в терминале мне ничего не приходит. Почему?
>>292597Как ты вообще умудряешься по клавишам попадать, если книгу найти и скачать не можешь?
>>292592Отсосешь?
>>292602> Почему?Тому що ты аутист и не можешь грамотно изложить чего ты там нагенерировал?
>>292618вот и все. предыдущий пикрил - собственно код, который я туда добавил. больше ничего. ловить пытаюсь преобразователем USB-UART на микросхеме pl2303. пользуюсь терминалом с остроумным названием Terminal. драйверы все в порядке, прошивается нормально (дополнительно после отправки дрыгал светодиодом - он благополучно дрыгался). терминал работал нормально (подключал SIM800L). я уже не знаю на что грешить.
>>292617Ладно. Сжалюсь над Антоном. https://yadi.sk/i/4VupqI5w3M7e5h
>>292604Он примитивист. Кайфует от двачгугла.
Аноны, с чего начать изучение STM? Двигать байты в асме? Дрючить CMSIS? SPL? HAL? Что вообще это такое? За что ухватиться?
Алсо как вообще быстро стартануть на этих МК?
>>292867> Двигать байты в асме? Дрючить CMSIS? SPL? HAL?Да с того к чему душенька больше лежит.
>>292872Условно - есть задача сделать достаточно сложный девайс. Надо сделать это сейчас с перспективой дальнейшей работы с STM32. Посмотрел на HAL и огорчился - проинициализировал все в Cube, написал прошивку - не влезло в контроллер. Тыкался в SPL и не понял толком - поддерживается ли он до сих пор или ST занимается сейчас только HAL? CMSIS - вообще не догнал как с ним работать, а нормальных обучалок не нашел. Во все вникал только читая сами либы, а это долго. Вопрос в том, есть ли какое-нибудь развернутое руководство к действию?
>>292884Дрочи arduinu
>>292884> не влезло в контроллерКак бы у ST есть контроллеры с 2Мб на борту. Может тебе призадуматься об использовании малины/апельсины для таких йоба-проектов?
>>292913Больше вопросов вызывают библиотеки HAL, подключение которых по моему мнению раздувает объем прошивки. Плюс надо уместиться в минимальное пространство и минимальное потребление. Вдобавок я не понимаю как HAL работает, а читать код и комментарии к нему дело неблагодарное. User manual на самом деле догадался искать нашел только сейчас, но там, вроде только описание структур и функций, а не то, как оно работает.
>>292919>библиотеки HAL, подключение которых по моему мнению раздувает объем прошивкиДумаю при включении оптимизации компилятора всё будет неплохо.>>292884>Вопрос в том, есть ли какое-нибудь развернутое руководство к действию?Я не видел.Скажи, хоть, какой контроллер. У тебя каша в голове. SPL и HAL -- это ПО одного уровня. Мне HAL нравится меньше, ибо частенько работает с указателями и достаточно громоздкий, однако при ужимании прошивки и SPL тоже требует частичного переписывания, по моему мнению, но значительно меньшего.CMSIS -- это приблуда от ядра Cortex (Cortex Microcontroller Software Interface Standard), она сама по себе SPL и HAL не заменяет. CMSIS присутствует в проектах как с SPL, так и с HAL (после куба).Задавай вопросы, постараюсь помочь, мимо инженер-программист-электронщик 4 года в эмбэде.
>>292919>читать код и комментарии к нему дело неблагодарноеАлсо, ты не поверишь, но в эмбэде тебе не только читать код и комментарии приходится, но ещё и понимать как железо работает. Иногда индусы херню пишут в HAL-е, например... Да и разрабы камня тоже часто упускают важные моменты в документации по периферии, так что приходится пробовать опытным путём с использованием осциллографа (хотя сегодня то я понимаю, что можно было и без него, на голом камне).Так что если ты хочешь положится на софт, тебе не в эмбэд надо...>>292924-кун
>>292884>CMSIS - вообще не догнал как с ним работатьТогда тебе для начала необходимо ознакомиться с >>288641 или чем-то подобным, даже если будешь использовать высокоуровневые библиотеки.
>>292924>У тебя каша в голове.Ты не представляешь насколько ты прав. Подскажи литературу, может блоги лол, сколько ни смотрел - дилетанты одни их пишут чтобы степ-бай-степ раскурить что к чему.Вообще для чего нужен и нужен ли CMSIS и можно ли обойтись без него?
>>292936>Вообще для чего нужен и нужен ли CMSIS и можно ли обойтись без него? Это база, применимо к CMSIS для STM32 и любых ARM контроллеров. Заморачиваться не стоит, ибо один хуй придётся, но лучше применительно на практике. Может и не придётся. Ребята, которые приходят в эмбэд, либо приживаются, либо нахуй идут...Литературы не подскажу, ибо сам начал работать с IAR Embedded Workbench for ARM. Пробовал всякие Atollic True Studio, не впечатлило. В любом случае, тебе надо понимать, как работает железо, иначе никак. Я думал, что за меня всё сделали, пользуйся и не бухти, но хер там плавал... Если ангельский не разумеешь -- вон их профессии, проверено. Напарник меня устраивал на нынешнюю работу, сам по пизде пошёл, ибо не разумел ангельского. А я читаю маны как сказки детям на ночь, и всё разумею. Увы, нужна квалификация. Но, чем смогу -- помогу. Задавай вопросы, если чё...
>>292936>Вообще для чего нужен и нужен ли CMSIS и можно ли обойтись без него? Извини, я тебе не ответил. Не обязательно нужен, но рано или поздно ты на это выйдешь.
>>292936Почему игнорируешь >>292928 ? В этой книге рассказывается о том что такое процессор и как он взаимодействует с периферией. Рассказывается доступно, для школьников. После прочтения этой книги вопрос "что такое CMSIS?" может возникнуть только при нулевых знаниях Си.
>>292939Курс ОргЭВМ в ВУЗе выл потому что.
>был.быстрофикс
Программирование STM8 как-то кардинально отличается от программирования STM32?
>>292970Значит либо там ничего не рассказывали, либо ты все прослушал, либо ты не знаешь Си. Иначе это:>CMSIS - вообще не догнал как с ним работатьникак не объяснить, т.к. CMSIS это всего лишь прописанные адреса регистров периферии (в первом приближении).Поэтому можно подумать что ты не понимаешь как ядро взаимодействует с периферией или не знаешь Си.>>293001Если программировать на Си, то все различия в программировании любых микроконтроллеров сводятся практически только к разной периферии. А периферия у STM8 и STM32 похожая.
Аноны, какие есть варианты с 24-х битным АЦП? Реально в ~5к уложиться?
>>293105Например есть MAX11202 SPI, 24 разряда, 120 Гц, в розницу будет стоить около 300 рублей.
>>292919>раздувает объем прошивки.нет. в выходной бинарь включается только то что используется в твоем коде.
>>293107 а если надо 5ГГц?
>>293228> 5ГГц> АЦП> 24 разрядаКакую там частоту выборки нужно? Вы ебанулись тут совсем?
>>293231потому что нужно быстрее блять, ещё быстрее
Ребятки, у кого какой опыт в скриптовании голых контроллеров типа православного stm32f103c8t6? Т.е. задача ясная: есть девайс с хорошо определённым "железным" окружением, но блядски плавающей "логикой", ну не переделывать же ему прошивку постоянно - хочется иметь возможность иметь 90% хард-кодед функционала, который точно всегда нужен и оставшиеся 10% ммммакисмально легко и быстро подправлять "по месту".Я так понимаю, диды тут использовали Forth.Сам сейчас сажусь за изучение Lua/eLua.Другие слова мне в голову не приходят, так что параллельно вот на харкачик заглянул ответы спросить.
>>293241>православного stm32f103c8t6Это не православный микроконтроллер. Православный микроконтроллер это К1986ВЕ92QI.>ммммакисмально легко и быстро подправлять "по месту".Все равно для изменения программы требуется компьютер, чем тогда поможет луа?>диды тут использовали Forth.Нет. Forth в общем случае является скорее компилируемым чем интерпретируемым. И писать на нем не быстрее чем на Си.
>>293274Не, о том чтобы интерпретатор встроить речи не идёт. Т.е. в случае луа - одна виртуальная машина, без лексера/парсера/конпелятора. Как в общих чертах я это вижу: быдлокодится простой загрузчик байт-кода в известную область флеш-памяти, из которой тот и исполняется виртуальной машиной; загрузчик можно сделать например через UART или SPI (Wiznet/Enc28j60 или даже карточка SD); конечно, это по сути будет тот же swd самопальный, но предполагается, что профит будет именно в том, что самая переменчивая нагруженная логикой часть прошивки будет на гибком скриптовом языке, а не на топорной няшносишечке, причём корректность логики будет элементарно тестируемой на компе разработчика.Разве так нигде не делают?
>>293311делают конечно? всякая хуета типа nodemcu, в ПЛК вместо программ используют всякие МЭК 61131-3, но это тред про ARM а значит только хардкор и байтоёбство, так что уёбывай
>>293311>загрузчик можно сделать например через UART или SPI (Wiznet/Enc28j60 или даже карточка SD)Там и так есть SWD/JTAG и встроенный загрузчик через UART, зачем делать еще один с той же функциональностью? Только для того чтобы каждый раз не перепрошивать неизменяемую часть и сэкономить на этом секунду?>на гибком скриптовом языкеЧего гибкого в луа? Какой-нибудь питон на компе еще можно назвать гибким благодаря множеству модулей. При этом из Си несложно макросами сделать простенький forth.>причём корректность логики будет элементарно тестируемой на компе разработчика.Будто на Си это нельзя.
Аноны, на днях купил себе стм32ф407 дискавери, так возник вопрос, какой IDE лучше для нюфага-быдлоардуинщика?
>>293463SublimeText 3
>>293463Недавно начал изучать STM по этому МК. Использую IAR + STM32Cube, библиотеки HAL. Мне нравится, даже очень.
>>293615>IAR>STM32Cube>HALговноед
>>293672>>STM32Cube>>HALпук
>>293463STM32Cube + KeilНе слушай поехавших, которые поносят HAL, просто они не осилили понятие абстракции и зачем она нужна, ведь этому не учат в их быдло техникумах. Им проще хуесосить то чего они не понимают, чем принять тот факт, что это всего лишь удобный инструмент.
>>293700>Не слушай поехавших, которые поносят HAL, просто они не осилили понятие абстракции и зачем она нужна, ведь этому не учат в их быдло техникумах. Двачую.Сам начинал ещё с AVR и PIC на ASM, потом начал работать с C. Параллельно программировал под Linux (там было чистое ООП).Потом, когда начал работать c STM32 понял, что наелся битоёбства.Когда сейчас всякие интересные личности рассказывают охуительные истории про то, как охуенно быть байтослесарем, мне становится смешно. Ещё лет 15-20 назад я бы мог это понять, но не сейчас. Сейчас программировать в стиле "внук допишет" при таких вычислительных мощностях означает исключительно одно - ты тупо не впишешься в рынок. Кому нахуй нужно, чтобы ты писал на CMSIS месяц то, что я могу написать на HAL за неделю и при этом получить много плюшек в плане переносимости и прочего, при этом потери в памяти и производительности у меня никак не будут фатальными.Напомню, что у серии F4 частота от 80МГц у самых начальных моделей до 180 МГц у топовых при 64КБ-2МБ флеша и 32КБ-384КБ оперативной памяти. Я просто физически не вижу смысла тратить много времени на слишком низкоуровневую ерунду. Времени жалко.Короче, разобраться с азами конечно нужно, чтобы не стать макакой, не понимающей что такое бит. Но всю жизнь вариться в этом дерьме я смысла не вижу.
>>293808>Но всю жизнь вариться в этом дерьметы просто непонимаешь кайфа от продвинутого хардкорного байтоёбстваесли тебе нужно быстренько заебенить хуету уровня китай+ конечно нужно зашквариться в IDE + анальные библиотеки, но в ни нет души они неправаславны и ибически анальны
>>293827>ты просто непонимаешь кайфа от продвинутого хардкорного байтоёбстваЯ бы так не сказал. Когда я был юн и мне казалось, что жизнь продолжается бесконечно, я кайфовал от байтоебства, всячески изъебывался, чтобы выжать дополнительный процент и так далее. Потом меня заебало. Сейчас же я не вижу в этом смысла. Хочется больше попробовать, больше сделать. Вычислительные средства позволяют. Олимпийские дисциплины, аля игра в 58 байт меня не интересуют. Кому-то интересно изъебываться и колупать свою девятку в гараже, а кто-то загоняет свою бнв в автосервис, чтобы ему колеса накачали. А цель одна - ездить. Каждому своё, короче.Насчет души в библиотеках - ну как тебе сказать. Когда-то я думал абсолютно так же, когда программировал под десктопные системы на C++. Когда пересел на Python, у меня возникло странное ощущение. Что вроде да, он медленнее. Но я могу сосредоточиться на решении самой задачи, а не на приспособлении своих инструментов к задаче. И решить задачу гораздо компактнее, и разработать её в гораздо меньшие сроки. А время - деньги.Хотя в целом, одно другого не отменяет. Узкие моменты в Python можно реализовать вставками С++, с STM то же самое.
>>293808>Сам начинал ещё с AVR и PIC на ASM, потом начал работать с C. Параллельно программировал под Linux (там было чистое ООП).Завидую тебе
>>293859короче ты стал старый и желание зарабатывать превысило быть правым, но новичков всеравно нужно гнобить байтоёбством а не спойлерить годными штуками
>>293861Тут не столько желание зарабатывать, сколько желание работать с новыми штуками.Понимаешь, какое дело. Кто-то покупает у дедов бесконечные КТ315 и делает светодиодные мигалки на мультивибраторе годами, или какие-нибудь некро-К155-микросхемы и из них чего-нибудь городит, вроде реле времени. Но блядь, время то идёт! Можно всё сделать проще, миниатюрнее, купив у китайцев за бесценок всё, что угодно! И пока ебёшься со старьём, со старыми технологиями, со старыми деталями, время-то тикает.15 лет назад я мог предполагать, что один чип, который влезет мне на ноготь большого пальца, за 3 доллара, сможет скопировать с маленькой флешки данные и запулить TCP пакетом в Ethernet без обвязки? Нет. Это были какие-то абстракции. Которые уже несколько лет назад как осуществились.Технологии бегут так быстро, что охуеть можно, и надо успевать. А то навыпускают чипов на 5 гигагерц и 1гб ром/рам за доллар, а ты до сих пор будешь как "правый" (радикальный консерватор, скорее) делать всё на ASM\без пиздатых библиотек, не используя и 10% возможностей.Короче, байтоёбство - это нужно и здорово на начальном этапе, но самое главное - вовремя соскочить и пойти дальше, иначе застрянешь там надолго.
Как всешда одна и та же бредятина, как будто и не было ничего дельного в русском нете. Переливание говна успешных программистов из пустого в порожнее. Только капча забавная в этот день
>>293877приходится порог входа держать выше, иначе поналезут ардуинщеги и засерут все интернеты мигалками
>>293463> какой IDE лучше для нюфага«линух популярнее»(ц) В том смысле, что скорее всего очередное пособие «моргаем светодиодом за пять минут» будет написано про связку Eclipse+gcc.
>>293868>какие-нибудь некро-К155-микросхемыПопробуй заменить своим STM32 хотя бы К155ИЕ7.>Кому нахуй нужно, чтобы ты писал на CMSIS месяц то, что я могу написать на HAL за неделюТвои программы на 90% состоят из инициализации периферии? Это наверное довольно простые программы, без каких-либо сложных алгоритмов.
>>293979>К155ИЕ7Деды поналезли в тред, ща будут канифолить со спиртом
>>293979>Попробуй заменить своим STM32 хотя бы К155ИЕ7.И чтоб быстродействие не хуже.
Как нaeбeнить такого тематического бота
Привет, армач. Есть одно устройство, в составе которого AT91SAM9260-QU в качестве процессора и MT48LC16M16A2TG-75 в качестве ОЗУ. Работает устройство под линуксом с ядром 2.6.22. Нужно снять дамп ОЗУ. Как это можно сделать?
>>294119зачем?
>>294123Есть предположение что во время работы в ОЗУ хранятся нужные данные.
Анонасы, есть ли смысл покупать ардуино, если уже пробовал играться с стм32ф103? Светодиодом моргал, таймер и шим запустил. Едут с китая стм32ф4, 1602, 2812B, 7-ми сегментники и гироскопы. Может ли мне ардуина дать больше чем стм32ф4 или ф7?
>>294361>Может ли мне ардуина дать больше чем стм32ф4 или ф7?Так сильно орнул с этого, что наверное даже сосед услышал, который в этот момент стену сверлил.
>>294377Начинаю понимать...
И чего получается, ардуина не нужна? Там же скетчи, шилды, комьюнити, вот это все. Просто стартер кит ардуины стоит 32 доллара с али + к нему ещё лежит набор 37in1 около 13. На офсайте стм 32F746GDISCOVERY стоит 55 бачей. Что брать?
>>294418Ну для каких-то элементарных задач ардуино подойдет, но серьезных проектов ты на ней не склепаешь. >Просто стартер кит ардуины стоит 32 доллара Нафиг ты стартер киты покупаешь-то? Отдельно все дешевле стоит же.
>>294428Я пока просто вкатиться хочу, поэтому мне нужно говна кучу и разом. Но я так понимаю по тредам, что вместо ардуины лучше ф103 брать. Я и ардуину хотел-то только потому, что много о ней читал когда не знал про стмки, а с avrdude многого не достиг. Сейчас же пришел к мысли, что хочу ардуину не для проектов, а просто чтоб была, и решил узнать у опытных арм-господ, есть ли смысл в это влезать.Олсо есть вопрос, с самого st.com можно что-нибудь заказать? Или только через дистрибьютора? Просто цены на 10-20 долларов разнятся.
>>294429>32F746GDISCOVERY Это, как и F4, для всяких задач с обработкой аудио/видео с использованием DSP, охуенного многослойного графического интерфейса и прочих штук для которых требуются производительные вычисления.Аналог пердуины - STM32F030 (20/32/48/64 ноги)F103 если тебе нужен нормальный USB и часы реального времени с питанием от батарейкиF2/F3 для всяких специфических штук с параллельными АЦП для обрабоки сигналов, подключением памяти по FSMC и т.д.На али отладочных плат как говна (даже всякие 144-ногие F4 по 16$). Купи себе F030 и F103 - их тебе хватит с головой.Есть еще STM8, но это для поехавших долбоебов и STM32L где требуется реально низкое энергопотребление (наноамперы в режиме сна и микроампера в работе)
>>294431Спасибо, анон. Едет ко мне твой третий и четвертый пик.
>>294432Закажи еще с первого пика (stm32f030f4p6) - стоит реально копейки и на нем можно много чего сделать.
>>294431>для поехавших долбоебов Stm8 ясный понятный язык ассемблера на подобие 6502 в отличие от запутанного си stm32
>>294464> понятный язык ассемблера> запутанного сикак я и сказал - для поехавших.
>>294467Если без библиотек то си тот же асм. Разбираться с говном насранным индусами нормальному человеку то же не к чему.
>>294471Мне, как человеку, который 10 лет писал на C++, ПХП, Руби и Питоне, С и любые либы к нему кажутся простыми как палка. К тому же STM либы написаны разрабами с учетом тонкостей архитектуры их камней в отличии от говноподелий пердуино комьюнити, где их пишут реально индусы, не делающие даже элементарных код ревью на банальные ошибки переполнения стека или бесконечных циклов. Асм же удел прошлого (когда нужно было экономить память, оптимизировать чего-то там чтоб вписаться в параметры МК) и является бесполезным в наше время, когда МК 50-70 МГц с кучей памяти стоят 1-2$, имеют кучу плюшек, которые раньше даже представить не могли (DMA, FSMC, DCMI, DSP, аппаратные графические модули и прочее) и всем этим желательно рулить через RTOS. Он годится только в исторически-образовательных целях помигать светодиодом или передать чего-нибудь по I2C.
>>294477За десять лет Вы все перепробовали, я Вас услышал. По работе с стм32 eбeтесь?
>>294488Не надо ко мне на Вы, мне 27 лол. Просто заебало работать на всяких хуесосов и тратить свое время, поэтому разарботал пару стабилизаторов (1/2 канала) и пид регулятор с управлением симисторами. Всякие челики с заводов по производству ПЭТ бутылок покупают в основном (потому что работает лучше чем то, что они покупали у местных производителей) ну и просто рандомы. На очереди 8-и канальный стабилизатор, чтоб выйти на производителя термопласт автоматов (они тоже закупают говно у местных, собранное на пиках). Трачу времени 1-2 дня в неделю чтоб спаять все, фрезернуть отверстия в корпусе на чпу, напечатать вставки и кнопки на 3д принтере и отправить в магазин или сразу заказчику, такие дела.
>>294492+ еще вкатываюсь в IoT, уже пару месяцев работает дома монитор качества воздуха на ссаном ESP8266 (меряет температуру, влажность, CO2, VOC, пыль PM1.0/2.5/10.0, записывает логи на флешку каждую минут и выдает все через веб интерфейс в виде красивых графиков), сейчас переношу все это на нормальный контроллер ESP32 с RTOS на двух ядрах, автономным питанием и прочими плюшками.
>>294477>когда нужно было экономить памятьНаписал часть некоторой цифровой обработки сигнала на cortex-M1 с тактовой 140 МГц, т.к. было лень все делать на FPGA. Но микроконтроллер все-таки немного не успевает. По твоему я должен переделывать плату под более производительный микроконтроллер? Или переносить в FPGA? Так по моему быстрее этот кусок на ассемблере переписать, чем на верилоге.
>>294500Соглашусь, ассемблерные вставки никто не отменял, но пердолить на нем весь проект - бред, тем более для всяких тривиальных задач с автоматизацией.
Интернет не читай@Вопрос задавай. Есть одна плата стм32ф103 и шаговик NEMA17, конкретнее 17HS4401S. Какой можно поставить между ними драйвер? Их вообще можно связать?
>>294522Как вариант A4988, который ставят в дешевые 3д принтеры, но я б советовал DRV8825 - у него микрошаг выставляется до 1/32, он может выдать больше тока + имеет некоторые фишки, о которых можно прочесть в даташите.
>>294525Спасибо. А ему нужен RAMPS или какая-то подложка? Или можно сигнальные пины мк сразу на вход драйвера подключать?
>>294545На таких платах можно сразу к МК, только аккуратно клей радиатор, чтоб не замкнуть контакты и разберись с потенциометром, который выставляет ток (в какую сторону крутить и до какого предела, про это все в инете есть) как вариант можно купить цифровой потенциометр, типа MCP444X, которому задаешь значение тока по I2C
>>294548И ещё раз спасибо, анон.
Здравствуйте господа. Есть несколько манядевайсов. Соединенных по асинхронному последовательному интерфейсу. Мастер один (но было бы не плохо мультимастер).Нужно разродится протоколом. И тут, я, откладывая это "на последок" как самое легкое, впал в ступор.Сделать на отъебись не получится, вроде и CRC8 надо бы и инициализацию обмена слейвом хочется.Сел писать велосипед, понял что получится хуйня и пол года ошибки отлавливать потом.Что изучить\запихнуть туда для этой цели? Не в ModBus же закатыватся на самом деле?
Котоны, помогите. Есть код на C, нужно скомпилировать под ARM архитектуру. Как это сделать? Нашел тулчейн arm-linux-gnueabi-gcc, но objdump по объектному файлу выдает архитектуру elf32-little.
>>294796>ARM архитектуруИх много разных, тебе под какой конкретно процессор?>elf32-littleЧто тебя смущает?
Господа ARM-щики, объясните пожалуйста, чем плохи STM8? Почему они некоторыми господинами >>294431 считаются, что долбоебов?Если мне нужно решать тривиальные задачи, вроде управления движком через I2C\UART, зачем мне брать STM32 если должно хватить STM8? С STM32 я поверхностно знаком, изучаю его. Решить эту задачу на F4-борде я могу. Но это нерационально в плане цены. А STM8 у меня только 103 плата валяется где-то, на AX купил когда-то за полбакса, но пока не колупал (программатор едет). Про разрядность и маленький объём понятно, но чем они настолько сильно отличаются, чтобы их применение было нецелесообразным? Вроде стм8куб даже завезли, на C можно программировать. В чем проблема?
>>294836Если gcc не поддерживает какую либо архитектуру то логично условно считать что данной архитектуры не существует? поэтому непонятно о чем идёт речь, stm8? но извените что это за неведомая ёбаная хуета?
>>294841Видеокарты тоже будешь игнорировать?>>294836>Но это нерационально в плане цены.https://www.chipdip.ru/product/stm32f030k6t6-2https://www.chipdip.ru/product/stm8l051f3p6Аналогичный Cortex-M0 дороже всего лишь в полтора раза, при этом имеет некоторые преимущества: быстрее считает, есть JTAG/SWD, есть gcc. Кроме чуть меньшей цены, у STM8 нет преимуществ, а недостатки есть. По сравнению с ценой остальных деталей (хотя бы корпусом), разница в 26 рублей будет вообще незаметна.>на C можно программироватьНа C11 нельзя вроде как. К тому же в SDCC не все работает и он багнутый, а остальные компиляторы воровать надо.
>>294813Мне под процессор AT91SAM9260-QU. Смущает то, что бинарник не запускается, вместо этого пикрил.
>>294848Можно найти 25 против 55 рублей, но абсолютная разница такая же.Ну во первых, 25р, для какого нибудь маня-мелкосерийного устройства вполне себе деньги. Особенно, если компоненты остальные выходят в 25р то же.Во вторых корпус, STM32 резко увеличит размеры платы и может обязать делать 2х стороннюю, если не получится разгуляться по площади. (За исключением того, что ты скинул в том же TSSOP, но тут есть пункт 3)В третьих STM8 умеет питаться от 5В. Что иногда сильно облегчает жизнь и стоимость.Так, что для некоторых случаев STM8 не лучше, но проще и имеет право жить. Что трудно сказать про всякие PIC\AVR
>>294848Во-первых ты сравниваешь STM8L с STM32F (аналог F - STM8S), что в корне не верно. Во-вторых, нашел где цены смотреть блядь, вот держи:https://ru.aliexpress.com/item/Free-shipping-10pcs-STM8S003F3P6-Value-line-16-MHz-STM8S-8-bit-MCU-STM8S003F3P6TR/32399834476.htmlhttps://ru.aliexpress.com/item/STM32F030F4P6-STM32F030F4-STM32F030-IC-MCU-ARM-16K-FLASH-TSSOP20-10pcs-lot-Free-shipping/32748098689.htmlА так действительно STM8 не стоит того, чтоб сними возиться - в них все хуже (частота, разрядность ацп, памяти и периферии кот наплакал). Их есть смысл применять в серийном производстве, если тебе надо сэкономить пару рублей на елочных гирляндах, которые будут тебе собирать китайцы.
Традиционно жопа с пальцем
Спасибо за пояснения! Сейчас сам посмотрел повнимательнее на характеристики младших серий и понял, что STM8 того не строят, если нет крупного производства. Тогда буду колупать мелкие 32-разрядные.>>294836 - анон
>>294882>если компоненты остальные выходят в 25р то же.Только если этих компонентов за 25 рублей не больше десятка. И найди мне нормальный корпус за 25 рублей.>Во вторых корпус, STM32 резко увеличит размеры платыОни есть в одинаковом корпусе, например TSSOP-20.Как я заметил, тут многие что-то делают мелкими сериями, при этом стараясь сэкономить даже на микроконтроллере. Что делаете, если не секрет?>>294883>аналог F - STM8SТо есть аналог STM32F1, STM32F2, STM32F3 и т.д. это STM8S? С чего бы это? В тех что я привел, хотя бы периферия аналогична.>разрядность ацпГде? У них одинаково максимум 12 разрядов.>Во-вторых, нашел где цены смотреть блядьТам хоть месяц ждать не надо.
>>294856Наверное нужно -march=armv5tej -msoft-float
>>294906L (STM8 и STM32) - низкое энергопотреблениеу STM8S. STM8A - для машин, STM8S - общего назначения.У STM8S АЦП 10 бит.Как буд-то ты их будешь по 1шт в месяц заказывать.
>>294906>Они есть в одинаковом корпусе, например TSSOP-20.Нет 5В. А все вместе дает кумулятивный эффект, при не благоприятных обстоятельствах.Дороже сам контроллер, нужен DC\DC, нужна более детальная разводка и пошло поехало, в итоге уже не 25р а 125р.>тут многие что-то делают мелкими сериями>Что делаете, если не секрет?Ничего, но я делаю всякую залупу, которую не купишь или купишь за слишком дохуя и делаю всегда с расчетом, что ее можно будет продемонстрировать и продавать.Людей делающих всякие часы, искренне не понимаю. Думаю не я один такой.А чем все компактнее и технологичнее выглядит, тем более презентабельно. Маняфантазии? Наверно. Но заниматься разработкой залупы, кладя хуй на ее стоимость и технологичность по мне так хуита, сразу -50% челенджа.
Ладно буду поколупать стм32, говно пики и стм8 для уродов байтов овощи мазохистов
>>294917В общем, если компилить бинарник на убунте с этими флагами, то на плате при запуске пишет "not found". Если компилить с флагом -static, то пишет "illegal instruction".Вообще, утилита file показывает по скомпилированному бинарнику следующее: "test_arm: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), statically linked, for GNU/Linux 3.2.0, BuildID[sha1]=034430c17b1ac94f8d8c3cf45c913691ba66b730, not stripped".Также, у меня есть бинарник, который работает на этой плате, информация по нему следующая: "ctrl: ELF 32-bit LSB executable, ARM, version 1 (ARM), dynamically linked, interpreter /lib/ld-uClibc.so.0, not stripped".Как мне скомпилировать свой бинарник, чтобы вывод file по нему был такой же? Я так понимаю нужно использовать тулчейн uClibs? А то я использую arm-linux-gnueabi-gcc.
>>294944>"ctrl: ELF 32-bit LSB executable, ARM, version 1 (ARM), dynamically linked, interpreter /lib/ld-uClibc.so.0, not stripped>interpreter /lib/ld-uClibc.so.0Тебе сюда https://www.uclibc.org/toolchains.htmlПопробуй собрать собрать тулчейн под uclibc, target указывай unknown-linux.
>>294947Тулчейн собрать не получилось, но я скачал готовый для ARM. Теперь у меня есть файл root_fs_arm.ext2, на котором я снова застрял. В мануале написано следующее:Download root_fs_i386.bz2 from uclibc.orgbunzip2 root_fs_i386.bz2mkdir root_fssu rootmount -o loop root_fs_i386 root_fschroot root_fs /bin/su -Проблема возникла на последнем шаге, на команду "chroot root_fs /bin/su" - терминал говорит "chroot: failed to run command ‘/bin/su’: Exec format error". Гугл говорит что это из-за разницы в архитектурах систем и т.д. У меня на виртуалке убунту x64, что мне сделать чтобы оно заработало?
>>294948Так, решил проблему с помощью qemu. Скомпилировал бинарник, теперь вывод file у него такой:"test_arm: ELF 32-bit LSB executable, ARM, version 1 (ARM), dynamically linked, interpreter /lib/ld-uClibc.so.0, for GNU/Linux 2.0.0, not stripped".Однако запускаться на целевой системе он все равно не хочет:"./test_arm: can't resolve symbol '__uClibc_start_main'".Я сейчас головой поеду.
>>294954С флагом -static все скомпилировалось и работает. Спасибо за помощь.
Привет, Аноны!Я тут STM постигаю, и столкнулся с проблемой.Сгенерировал проект под HAL из-под куба под STM32F407. Проблема вот в чем - мне нужно вызвать небольшую задержку, в 5-10мс перед выходом из прерывания по кнопке. В дальнейшем сделаю либо на таймере, либо с железом немного пошаманю, но сейчас нужно сделать именно так. (Т.к. хочу разобраться, почему не работает).Вызываю HAL_Delay внутри прерывания и всё виснет намертво в цикле. Поставил приоритет SysTickTimer = 15 - ничего не изменилось, хотя в интернетах пишут, что должно. Ничего не понимаю. Объясните, пожалуйста, как заставить это заработать.
>>295505>HAL_Delay внутри прерываниякрутой тролиг
>>295542Я понимаю, что задержка в обработчике прерывания - это плохо и так далее. Но пока вся моя программа состоит из обработки одного прерывания и пустого цикла и я могу себе это позволить. И я хочу узнать, какого черта это не работает.Ведь здесь дело не в том, что задержка в прерывании это плохой тон, а в том, как правильно настроить приоритеты прерываний.
>>295560Пробовал вызывать HAL_Delay вне прерывания? Может оно вообще у тебя не работает.
>>295565Пробовал. Работает, как и должно работать.Я хочу прикрутить энкодер к дев.борде и обрабатывать его топорно, прерыванием по спаду одного из выводов. Этот HAL_Delay нужен исключительно для того, чтобы убрать явление неопределенности при переключении. За один щелчок энкодера переменная, считающая щелчки, вместо 1 изменяется на 10-30.
>>295572> обрабатывать его топорноОбрабатывай его в конечных автоматах, а не прерываниями с дэлеями.
>>295505Может оптимизация тебе какаху подложила?
>>295560>задержка в обработчике прерывания - это плохо и так далееэто плохо если ты продвинутый байтоёб и пишеш без всяких HAL, cmsis, cube и прочего дерьма, тогда можешь поругать себя и продолжать, всё будет работать как надо, но если ты сраный ардуинщег-библиотекарь то задежки в прерываниях не просто плохо а недопустимыа вообще просто нужно прерывание от SysTick сделать выше твоего прерывания, https://electronics.stackexchange.com/questions/212194/stm32f7-gets-stuck-in-external-interrupt-callback-function
>>295608>>295602Разобрался. Тупо ошибся и в упор её не замечал в дальнейшем, даже стыдно признаться.Перепутал Preemption priority с Sub priority, когда выставлял биты приоритета. Сейчас всё работает как и хотел. Косячно, но работает. Больше мне и не требовалось от этой задачи.>>295597Я так и реализовал в итоге. Подумал, что так логичнее. Но хотел всё-таки узнать, как вызывать прерывание внутри прерывания. Не мог пропустить факт того, что я вроде как задаю приоритет прерывания, а он ни на что не влияет.>>295608Это понятно, Анон. Тут дело немного не в этом.Спасибо за ответы, господа! Добра!
Сап, армач. Есть вопрос по светодиодам WS2812b. Я недавно занялся программированием под АРМ, в качестве подготовки к диплому, ну там светодиодом поморгал, ШИМ запустил, с EXTI поигрался. Недавно пришли мне 10 WS2812b и я попытался спаять свою первую махарайку. Нашел в гугле типичную схему подключения(пик 1), посмотрел как они распаяны на лентах, нарисовал свою плату в Eagle(пик 2), вытравил все и припаял как предписано(пик 3). Дальше скачал IAR'овский проект под ленту, который нашел на Ютубе, канал "Электроника в объективе", залил его на свой STM32F103 и нухуя не работает как в видео.Дело в том, что диоды получают и напряжение и данные(пик 4), но не применяют их, только первый применяет цвет и дальше не двигается и не меняет его. Если выдергивать минусовой провод, то все 10 штук горят рандомным светом, каждый раз разным. До пайки компонентов, но после лужения я прозванивал все дорожки, после пайки компонентов я все мерил, дороги от кондёров, шины +5 и землю, между ними, сигнальные дорожки. Отдельно проверил конденсаторы, купленные в соседнем радиомаге - 104, как и нужно. Попробовал запитать плату не от 5В, а от 3,3В чтобы Vупр > 0,7*Vпит, та же хуйня. IAR'овский проект правда под старую версию, и при открытии требует обновить проект до новой. Аноны, что может быть за хуйня? Дорожки слиплись? Поставить IAR младших версий? Какие-то настройки IAR которые я проебал? Косяк в плате?
>>295833Проводок перепаял, БЫСТРО БЛЯ !
>>295834Анон, я три раза проверил.
АРМоёбы, скажите, а вы защищаете свою профессию и специальность, как написано тут?http://labor-union.wikia.com/wiki/LifehacksВ-третьих, не помогать российским бизнесменам убивать рынок труда. Не стоит выкладывать в интернет готовые решения и подробную документацию и разжевывать все до состояния каши. Если вас заставляют писать документацию к вашему проекту или к части проекта, то не стоит разжевывать все такого состояния, чтобы понял первый встречный. Еще нужно создавать неформальные профсоюзы во всех городах, объединяться в Facebook Messenger, Google Hangouts, Google Plus, Signal, Tox, Jabber, группироваться по профессиям и проводить разъяснительные работы с идиотами, которые готовы бесплатно создавать продукты или оказывать бесплатные консультации ради стажа, лайков в карму, репутации и так далее. Нужно объяснять молодежи, что абсолютно любая работа на дядю должна оплачиваться. Также нужно коллективно осуждать тех, кто выкладывает на YouTube самоучители по диагностике и ремонту любых неисправностей материнских плат ноутбуков или диагностике жестких дисков, или профессиональному восстановлению данных, например. Нужно препятствовать опусканию любых инженерно-технических специальностей на дно и уничтожению рынка труда экономически безграмотными инженерами, которые хорошо разбираются в своих областях (электротехника, электроника, VHDL, сетевые протоколы, восстановление данных), но являются профанами в экономике и не понимают, что своими деяниями они уничтожают свою же профессию. Выкладывание максимально разжеванных материалов плодит дилетантов и мошенников на рынке труда, которые одновременно и позорят профессию, формируя общественное мнение о том, что типичный городской специалист в данной конкретной области - это мошенник, и сбивают цены на услуги, поскольку все клиенты начинают утверждать, что данная сложная работа должна стоить намного дешевле, "...потому что бизнесмен Васян вон за 270 рублей то же самое предлагает". Иначе вам придется тратить уйму времени на объяснение каждому клиенту того, почему после неудачного восстановления данных у Васяна вы не сможете ничем помочь.В-четвертых, не раздавать направо и налево свои знания и опыт. Российские бизнесмены навязывают всем мысль о том, что профессионал должен активно делиться знаниями и обучать других, а иначе это не профессионал. Они заставляют профессионалов преподавать на организованных бизнесменами курсах для студентов или доучивать выпускников. Если инженер не особо усердно обучает других людей, то бизнесмен, умело дергая за ниточки самолюбия инженера, будет подкалывать его, что тот якобы испугался каких-то жалких студентов, конкуренции с их стороны. Вам нужно понять одну простую вещь: раздача ваших знаний и опыта - это инвестиция в ваше будущее со знаком "минус", даже если это обучение вам прямо сейчас бизнесмен очень хорошо оплачивает. Даже если 40% студентов последнего курса на конкретной кафедре - глупцы, то из оставшихся 60% студентов еще через 3 года 30% смогут успешно справляться с абсолютно любой работой младшего инженера, 20% - с инженерными задачами, требующими средней квалификации, а остальные 10% смогут успешно справляться с задачами старшего инженера на проекте, продавливая вниз цены на труд и наступая вам на пятки. А еще через 3 года некоторые из бывших студентов оставят вас позади. Поэтому преодолейте в себе гордыню и самолюбие, отбросьте мысли о вашей якобы незаменимости и прекратите дарить всем ваши знания и опыт, плодя молодых конкурентов и создавая для владельцев предприятий промышленную резервную армию труда (как ее называл Карл Маркс).
>>295854Сразу чувствуется какой то манагер. Без опен сорс сообщества был бы такой пиздецовый застой, что страшно представить. Ну да, из 100 - 99 ардуинщеги.Кому нужен ардуинщег, его найдет и заплатит 270р. ВОТ ЕСЛИ БЫ КОК ПОК ЗАКРЫТОСТЬ, ТО ЗА РАБОТУ УРОВНЯ АРДУИНА Я БЫ ИМЕЛ 1000000 БАКСОВ В ЧАС.Но увы, не имеешь и не будешь. А профессиональные люди свое место найдут.
>>295863У них там вся агитация упрощена до предела, в такие моменты они не вникают, обсасывают заговор который тред безрезультатно.
На педерашьечем есть годные ресурсы по ARM? Недоумки плодят недоумков же. Если перестанут публиковать - ровным счетом ничего не изменится.
>>295904Походу нету. Однотипное перепечатывание "уроков". На хаброгиктаймсе попадается пара статей, остальное пытался своим пропитым мозгом догонять, надоело, забросил свою стм32ф429i, скоро плесенью порастет. ПС. чота импортозамещение не работает, покупал ее за 1.2к, сечас 3+к
>>295904То, что любой более менее адекватный разработчик ARM умеет в инглиш и сидит на более массовых ресурсах, не думал?>>295926Вот поясни мне, дурному, что там догонять? Проблема МК не в том, что их сложно изучить, а в том, что сложно решать прикладные задачи.
>>295932> что там догонять?Вот если бы ты кодил только на Бейсике сидя за Robotron1715, потом 25 лет ебашил на стройке в паре парсеков от программирования, а потом тебе приспичило обтряхнуть старину и попробовать поиграться с современными железками, а тут йоба-битовые операции, инициализация тактирования на порядок больше чем ты за всю жизнь строк кода написал и прочие ништяки. На русском ресурсов чуть меньше чем нихуя. На тех которые есть все описывается по принципу: 2 + 2=4, а теперь вы поняли математику и давайте по быстрому разберем пару уравнений описывающих теорию струн.
>>295932>>295926>>295904Единственный нормальный источник - это документация. Все эти статейки в во всяких блогах одинаково бесполезны вне зависимости от языка на котором они написаны.И как я понял, тот анон >>295854 предлагает не выкладывать документацию именно производителям микросхем.>Не стоит выкладывать в интернет готовые решения и подробную документацию
>>295941Ну вот не скажи. Статейки помогают найти точку опоры, от которой можно уже двигаться. Да, ее можно найти и офф доках. Вот только что все эти офф доки, РМ и тысяча аппнотов.
>>295854такая хуета есть в любой профессии в любой стране, теже сервис центры, не в восторге от сраных ютуб блогеров, которые показывают как прожарить проц чтобы он еще пару недель/лет проработал, но обсирать ардуинщеков это не цель а процесс который просто доставляет, ктомуже правило гнобить новичков никто не отменял и это полезно иногда
Совок уже так обосрался. Сейчас же это просто маразм, доставшийся от совков - скрывать инфу изначально предназначенную для юзеров. Анон правильно сказал всё есть в доках. Смешно, Шариков дает советы вселенской глупости.
в реестр Роскомнадзора пускай внесут infocenter.arm.com st.com и ti.com думаю этого будет достаточно
>>187056 (OP)Ткните меня в STM8-тред. Помню, что видел, а найти не могу. Утонул штоле? Там чювак знакосинтезирующий индикатор к стм-ке подключил и у него работал. Я бьюсь уже 15 секунд и никак.
>>295863>Сразу чувствуется какой то манагер. Скорее неосилятор, который хочет, чтобы тот мизер знаний - который он имеет, приносил ему хоть какой-то доход. А для этого он предлагает сделать его мизер знаний конкурентноспособным, ограничив остальным доступ к информации.
up
>>295966> up > 1659 сообщениеПилите перекот, черти арм-ные
>>295967Зачем, если не тонет.
>>187056 (OP)Есть смысл качать Keil 5.24 если пользуюсь 4.73?
>>296100Тхред настолько быстрый, что уже успели удалить раздачу 5.24 пока вы отвечали.
>>296140Ты инвалид что ли?https://rutracker.cr/forum/viewtopic.php?pg=1&t=2305709Я бы скачивал с официального сайта, а то мало ли чего понапихают в торрентах. Кейгены вроде как подходят и от старых версий.Но лучше использовать gcc с eclipse.
>>296147> rutrackerА это законно?
>>296148в некоторых штатах незаконно
>>296147Спасибо. Я в основном на ноунейме тусуюсь.
>>296147> Но лучше использовать gcc с eclipse.армяне лучше чем грузины
Аноны, поясните за обучение. Купил я демоборд на стм32ф103, поморгал диодом, освоил таймеры и шим, ацп и внешние прерывания. Под диктовку подключил 1602 через I2C. Дальше мне их Китая приехали WS2812B и акселерометры, я смотрю как их подключить и нихуя не понимаю. Что почитать-посмотреть про DMA, SPI, CCR, FreeRTOS чтоб хотя бы представлять о чем идет речь?
>>296668>Под диктовку подключил 1602 через I2C.Надеюсь ты понимаешь, что в этих дисплеях I2C приделан через дополнительную плату с микросхемой I2C-GPIO? Нужно было читать документацию на сам дисплей и на эту микросхему.>Что почитать-посмотреть про DMA, SPI, CCR, FreeRTOS чтоб хотя бы представлять о чем идет речь?Для начала нужно узнать какие интерфейсы у твоих светодиодов и акселерометров. Единственный нормальный способ это узнать - читать документацию.>WS2812Bhttps://www.parallax.com/sites/default/files/downloads/28085-WS2812B-RGB-LED-Datasheet.pdfНа четвертой странице нарисованы временные диаграммы. Какому интерфейсу из STM32 они соответствуют? Да никакому. Соответственно есть два варианта:1) Светодиодом мигать умеешь? Вот и намигай в соответствии с этими временными диаграммами. Для задания задержек использовать таймеры.2) То же самое, но с использованием ПДП.>и акселерометрыРазные акселерометры имеют разные интерфейсы. Неожиданно?>>296613В eclipse хотя бы рефракторинг имеется. Как IDE, eclipse по возможностям превосходит Keil. Кейловский компилятор вроде как лучше gcc, но какой смысл использовать его с эклипсом?
>>296682>I2C приделан через дополнительную платуЗнаю.>Нужно было читать документациюЕужно. Потому, что я смог его запустить только от 16Мгц тактирования, на 72МГц дисплей не инициализируется. И хуй знает почему, хотя коэффициенты в функциях я менял.>какие интерфейсыУ акселерометра I2C - он MPU-6050. И когда я глянул проекты с ним, и как на комп снимать данные, я мягко говоря, охуел.Вот и интересно, что дальше читать? Почему в примере с дисплеем биты двигают например? Как, какие и куда?
>>296704>хотя коэффициенты в функциях я менял.Там два типа коэффициентов:1) Для задания частоты I2C.2) Для задержек самого дисплея.Если правильно выставляются заданные значения на выходе микросхемы I2C-GPIO, то первый тип коэффициентов установлен правильно. Для этой проверки хватит мультиметра или даже простого светодиода.Для проверки задержек второго типа потребуется осциллограф или логический анализатор, но можно просто внимательнее писать код.>Вот и интересно, что дальше читать?Только документацию.>Почему в примере с дисплеем биты двигают например? Как, какие и куда?Например, когда дисплей подключен по четырехбитному интерфейсу. Без схемы и кода можно только догадываться.Если тебе непонятен какой-то код, то можешь дать на него ссылку, желательно со схемой.
>>187056 (OP)Что надо, чтобы прошить ARM проц от Atmel? Желательно любой.Понадобился мне двух-ядерный проц - надо записывать видео и звук одновременно. Но одноядерное говно не вывозит эту хрень.
>>297033зная фирму Atmel предполагаю, что решение будет стоит охулиард рублей
>>297033>AtmelТеперь это Microchip.>двух-ядерный процНе проц, а микроконтроллер.Прошивать через J-Link, который можно сделать из ST-Link.
>>297036>...
>>236320А добавить нельзя?
>>297036Поправь. А что, бывают 2х ядерные МК?
>>297121LPC43xx например, но они немного про другое
>>297121ESP32 - 2 ядра, 240Мгц суммарная частота, есть даже I2S для работы с аудио.
>>297133>240Мгц суммарная частотаа у меня комп 16 ГГЦ в сумме лалНУ ты лашара лооооолкрузис то пайдет?нуб ебаный азазаз
>>297133Заманчиво.Одно НО - пишут, что сдк пиздец сырой.И можно ли повесить на каждое ядро по задаче? Не нашёл.
>>297133>ESP32w2k на такой бы поставить кок раз двух ядерные системы поддерживает. А линух отстой это вчерашний день.
>>297141Сказать то чего хотел, уебище, ммм?
>>297143SDK сейчас 2.1 стабильная версия и пилят 3.0Можно через RTOS вешать задачи на любое ядро.Первое ядро всегда включено (на частоте 80/160), второе можно включать/выключать когда надо (частота 80).
>>297121Атмел-микрочип ATSAM4C, два ядра Cortex®-M4(F).По моему процем можно назвать то у чего есть MMU. Разве у атмела-микрочипа есть такие двухъядерные?>>297147А документация на всю периферию полностью открыта или как в esp8266, где вроде бы до сих пор документация на DMA открыта лишь частично?
>>297150http://esp-idf.readthedocs.io/en/v2.1/api-reference/index.html - API реф 2.1http://esp-idf.readthedocs.io/en/v2.1/api-guides/index.html - API гайды 2.1Насчет DMA, вот кусок из описания SPI Master драйвера:The spi_master driver allows easy communicating with SPI slave devices, even in a multithreaded environment. It fully transparently handles DMA transfers to read and write data and automatically takes care of multiplexing between different SPI slaves on the same master.Ну и палю годноту: https://leanpub.com/kolban-ESP32
>>297151А что, DMA у нас ограничивается SPI?
>>297152Нет, просто не будут же тебе делать раздел о DMA, где будет описание отдельно для каждой периферии, логично, что его описание будет в разделе самой периферии.
>>297151Это документация на API, а не микроконтроллер. Если брать тот же SPI, то можешь ли сказать на каких частотах входного сигнала гарантируется прием в режиме ведомого?>>297152Вот этого удваиваю.>>297153Это может быть логично только в документации на API.А если я захочу разгрузить DMA для чего-нибудь более критичного? Но документации то нет (возможно), соответственно никак не выйдет.
>>297154Какого хуя я должен все искать за тебя, бери качай док и читай уебище:http://espressif.com/sites/default/files/documentation/esp32_technical_reference_manual_en.pdfРазделы 6 - DMA и 7.4 - SPI clock.
>>297156Ладно, ладно. Уговорил. Купил пару ESP32-PICO-D4. Попробую на нём вкорячить задуманное.
>>297156>Какого хуя я должен все искать за тебяПотому что стал тыкать в API, который не имеет никакого отношения к вопросу >>297150А мог бы просто сказать что в этот раз китайцы сразу открыли документацию на все кроме радиомодулей.
Дали изучать плату с atmel sam e70. Погуглил, уроков никаких не нашел. Что почитать чтобы хотя бы светодиодом поморгать?
>>187056 (OP)пока вы тут скачиваете кейл с торентов и объясняете всяким дегенератам-ардунщикам как настроить прерывания, биглибоард выпустил йобуhttps://beagleboard.org/pocketоснованную на октавосистемсhttp://octavosystems.com/octavo_products/osd335x-sm/которая в свою очередь основана на инструментах из техаса (Texas Instruments Sitara)Из годноты стоить отметить PRU-ICSS, два 32 битных 200Mhz встроенных risc ядра для кастомной переферии, только огорачает что 200Mhz хули так мало то блятькто уже юзал? сколько светодиодов можно одновременно замигать?
>>297599Нахер оно нужно?Все эти микро пк - тупиковая хуйня. Все эти малинки, апельсинки.Народ ставит туда дистры линуха, непонятно кем собранные, дабы с помощью GPIO мигать светодиодами и смывать бачок унитаза удаленно.Работать там нереально, если нужно что-то сложнее текстового редактора.Медиаплеер из этих девайсов тоже практически никакой.
>>297626>непонятно кем собранныеардуинщеги так и поступаю конечно, медиа плейир типа захуячить ашдимиай с андроидом или пидорой с дебианом, это нормально и охуительно, быдло спрос сбивает ценник на йобаштуки, китайцы с радостью штампуют всё что покупается, жаль что медленные атмеги всё ищо популярны, поэтому нужно гнобить ардуинщигов чтобы покупали йобоштуки и делать им всякие медиагавно проигривателия сам ядро сибираю для йобоштук, с реалтаймовыми расширениями и прочими ништяками, модули ядра у меня пока хуёво получаются, а вообще такие штуки норм когда нужно быстро блять, штука со спичечный коробок может одновременно держать тысячи соединений по https это охуенно же
>>297626Двачую, бро. На волне хайпа прикупил Апельсину-2Г-ИоТ. Закинул к хуям в дальний ящик через пару дней.
>>297626Ну так никто не запрещает самому собрать ядро и накатить слаку или арч, если впадлу от васяна сборку ставитьмимо_обожаю_малинку
>>297636бро, купи ещё одну, похуй что хуйня, можешь выкинуть нахуй или засунуть куда, просто купи они охуенны же, скочай пидору, там есть охуенные обои и медиаплейер
>>297638Еще есть гцц сразу арм и вим, опноцд и ддд, отдадка через гпио Не напрягаясь все есть для кортехов
>>297639тсс, ненадо сразу про йоба штуки рассказывать, испугаются и не будут покупать
>>297599Оверпрайс, как по мне. Понравился только тем, что у него есть немало HW интерфейсов.>>297626Ты использовал, или "не читал, но осуждаю"?Я вот использовал RPI1 и RPI3. Первый вкорячил в одну smart-home приблудину, которая написана на Python, кстати. Работает и нормально, хотя программа вышла тяжеловесной. GUI подтормаживал, конечно. А вот видео воспроизводит нормально через VLC. Медиаплееры пилили ещё на 1B и не жаловались. Аппаратное декодирование видео реализовано. RPI3B уже работает очень здорово. Часто использую как UART терминал, или как I2C слэйв/мастер при работе с ARM-ами. Через Python в GUI, либо через терминальные программы. Понятное дело, что GPIO у RPI гораздо слабее, нежели у ARM. Это логично. Но у RPI есть SPI/(2)xI2C/(2)xUART, и есть GPIO, достаточный для управления с некритической точностью.GUI работает очень бодро. В третью кваку играл на максималках с FPS около 50. Ютубчик через браузер конечно в FullHD не покажет, но что можно хотеть за 35$? А дистров дохуя. Есть минимальные образы, где все пакеты сам сверху накидываешь, если так пичот от популярных дистров. Я же довольствуюсь Raspbian Lite.
>>297641>GPIO у RPI гораздо слабее, нежели у ARMясно понятно
>>297641да прайс пока не радует, всё из за ардуинщегов ебаных покупают устаревшее железо за оверпрайс, а норм железо без спроса лежит
>>297644Для меня ардуино это вообще нонсенс. Единственная польза - огромное количество всевозможных датчиков и прочих приблуд, которые идут к ардуине.
>>297645Потому что просто начать в Ардуино
>>297645Просто ты профи технарь, а для гуманитариев лучше ардуины ничего не придумаешь.
>>297645Ну смотри, если тебе надо заебашить разовому клиенту автоматизацию толчка. Есть вариант, сделать на твоем любимом МКнейм, потратив время на схему, изготовление и монтаж или взять, купить ардуину, купить расширения, написать код за денек (на си, не скетч) и получить деньги?Не любил ардуину, пока не начал заваливаться из любительства в мелкосерийку. И заказчик рад, т.к. нет каких то уникальных частей, которые хуй найдешь если ты помрешь.
>>297599>Из годноты стоить отметить PRU-ICSS, два 32 битных 200Mhz встроенных risc ядра для кастомной переферииЧем это лучше CPLD или пересылок DMA-GPIO? По моему всем хуже, бесполезная штука.
>>297653кукаркать вздумал ардуинщег ебаные?ну вообще в данном случае зависит от аргаизации шыны ну в данном случае реализация гавно конечо, но люди стремились сделость как можно лучше, щенок ибаный
>>297674да не обращай внимания на школьников бро
>>297675Еще раз спрашиваю, для чего нужно:>Из годноты стоить отметить PRU-ICSS, два 32 битных 200Mhz встроенных risc ядра для кастомной переферииКак пишет сам производитель, это сделано для мигания светодиодами. То есть для программной реализации разных интерфейсов.Но зачем? В простых случаях можно использовать DMA для пересылок между памятью и GPIO. Что-то более сложное целесообразнее делать на ПЛИС. С помощью мелкой CPLD можно мигать куда большим количеством светодиодов, причем еще и с большей частотой.И этот ваш PRU-ICSS - шаг назад по сравнению с древними AT94K.
>>297682ну хорошо, нужно гигагерцовый cortex-A8, 512MB DDR3, CPLD интегрированый должен сидеть на шине кортекса, размер 5x5 см, 30$ где купить?
>>297692>размер 5x5 см, 30$ где купить? Ты про https://beagleboard.org/pocket ? Но это же плата совсем без ничего, все равно придется к ней что-то припаивать.Причем плата OSD3358-SM-RED, на которой есть хоть какая-то периферия, стоит как аналогичная плата с Zynq.>должен сидеть на шине кортексаУ большинства подобных процессоров есть шина для подключения параллельных флешек и SRAM. Можно устройства хоть на серии К155 вешать.Кстати заметил что на digikey.com эту плату продают дешевле чем стоящий на ней OSD3358-512M-BSM.
>>297695PRU-ICSS это FPGA для бедных, Zynq насколько я знаю девборды в 100$ непомещаются
>>297838Нет, это максимум часть функций CPLD.С Zynq эти PRU сравнивать нет смысла, т.к. в самом простеньком Zynq есть 66 умножителей 25х18 разрядов, которые могут работать параллельно на частоте несколько сотен мегагерц.>Zynq насколько я знаю девборды в 100$ непомещаютсяДа, но это из-за того что для Zynq нет плат без ничего вообще, как >>297599Но плата OSD3358-SM-RED на которой есть хоть какая-то периферия, стоит уже $200, так же как самые дешевые платы с Zynq, например http://store.digilentinc.com/zybo-zynq-7000-arm-fpga-soc-trainer-board/
>>187056 (OP)ладно уговорил, zynq рулиту xilinx на сайте есть какието простые девборды для мигания светодиодамиhttps://www.xilinx.com/products/boards-and-kits/1-9od2h3.htmlhttps://www.xilinx.com/products/boards-and-kits/1-odbhjd.htmlтолько непонятно как там покупать
Господa, подскaжите. Есть инструкция видatst R1, R2Где R2 = 0x1010a для R1 три случaя1. 0x10102. 0x11103. 0x1000Кaкие флaги будут выстaвляться в результaте выполнения кaждого из случaев?Если есть кaкой-то онлaйн-эмулятор бaйтоёбствa, в котором можно нaблюдaть зa регистрaми было б ещё лучше.STM32F103C8T6
>>298248нахуя ты в универ притащил ARM?быстро блять обратно на x86
>>298248http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0552a/BABIHJGA.htmlЭта инструкция выполняет поразрядное И, результат никуда не записывается. Флаг N устанавливается при отрицательном результате (старший бит - 1). Флаг Z устанавливается при нулевом результате. Флаг C может установиться только при использовании "Flexible second operand", которое у тебя не используется.Получается во всех случаях все флаги будут сброшены. Хотя может и ошибаюсь, давно не трогал ассемблер.Онлайн эмуляторов не знаю, но все это неплохо симулируется в keil или IAR.
>>298303Рассчитали в оном ещё 3 года назад.>>298313Спасибо, я, в принципе сам разобрался. Меня беспокоил тот момент, что флаги, возможно, выставляются и при совпадении одного из битов. По факту же, успешными будут первые два случая, но при этом флаг Z будет сброшен, в третьем он будет выставлен. А я ставил переходы наоборот.Нашел это в книжке по ассемблеру х86, лол.
Посоны, можно ли в прерывании от таймера остановить этот самый таймер?
>>298461Сам себе отвечу: можно.
Как используя HAL определить состояние таймера - считает он или остановлен?
>>298470LL_TIM_IsEnabledCounter>>298469Существует много разных ARM микроконтроллеров. Не факт что это возможно в любых ARM микроконтроллерах.
>>298474>ARMARM не причем здесь
>>298503конкретно в моём случае это stm32f103 - там можно.
>>298474>LL_TIM_IsEnabledCounterСпасибо, бро!
Аноны, как ебучий кеш тестировать? Всегда как-то в примерах он отключен был, а ща, в гитхабовской ветке Атмела, везде кеш прикручен, и у меня работает po pizde всё. Видимо, на кастомной плате оперативка не до конца верно настроена.Алсо, Ваше, анонимусы, мнение о российских процах, особенно интересует Элкус и НИИЭТ.
>>298857>о российских процах, особенно интересует ЭлкусДавно Элкус стал процессоры производить? С Элвисом не спутал случайно?
>>298949С Элвисом случайно и спутал, бувае.Алсо, с кешем придется мне лезть в арм, что нехотет.
>>299096В АрМовские документы, я именно в виду, в даташите нет
>>299096>С Элвисом случайно и спутал, бувае.Про Элвисы могу пояснить немного, благо на работе как раз используем один их старый процессор.Документация говно, несколько примеры на ассемблере, имеют "собственную" IDE с gccшными компиляторами. Вроде как сейчас отказались от собственной IDE и просто используют Eclipse с нескучными обоями.Ещё есть JTAG-дебагер, аж в двух исполнениях: LPT EPP и USB. USBшный с родной IDE так и не завёлся, LPTшный периодически вылетал, теряя связь с процом. Поэтому отладка более-менее возможна только с помощью их же консольной утилитки mdb.Хотя IDE все равно не нужны, настоящие кулхацкеры программируют в nano.В старых процессорах типа того, что мы используем ещё и не было третьего состояния для addr и data шин. Мне то похуй, а вот схемотехники ругались.Короче после того, как мы перешли с TigerSHARCов и Blackfinов на элвисовские поделия, жить стало грустнее.
Есть такой вопрос. Имеется прошивка для проца Cortex M3.Надо в ней разобраться извлечь некотороые данные. В IDA кое как разобрался. Проблема в отыскании данных внутри прошивки. Например есть коммандаLDR R1,=2000300То есть когда проц запускатся в этой точке памяти хранится интересующая меня переменная. Однако вопрос -как отыскать ее в статической прошивке в iDA? Я так понимаю компилятор как-то размещает данные в прошивке в каком-то сегменте. Но как в этом сегменте отыскать?
>>299179Какой-то странный адрес. У Cortex M3 по этому адресу ничего не должно быть.>Я так понимаю компилятор как-то размещает данные в прошивке в каком-то сегменте. Но как в этом сегменте отыскать? В самом начале это копируется в цикле, смотри в качестве примера https://github.com/pichenettes/stmlib/blob/master/third_party/STM/CMSIS/CM3_f10x/startup/gcc/startup_stm32f10x_md.sПо аналогии наверное несложно выявить этот цикл в других случаях.Либо можно считать ОЗУ с работающего устройства и добавить в секцию.
>>299142Старый Элвис на ваших кортексах? Там же житаг тоже купленный и, наверное, работающий.У нас использовали Миландровский ве1т, очень долго ебались ребята с и2с или spi, чем-то таким, оказалось, что проблема в ревизии была. Сырые они, слишком молодое производство, хотя у атмелов точно так же бывает. Сейчас прикрутили гсс с эклипсом к ве1т.
>>299185С количеством ноликов ошибся, адрес вот такойLDR R2, =0x20000B9B>В самом начале это копируется в циклеЧто то я такое предполагал. Но я думал,что все эти данные копируются одним блоком из одной точки памяти в другую. То есть из области flash в область RAM. А видимо для каждой объявляемой и инициализируемой переменной происходит отдельная операция записи. То есть видимо расположение данных в сегменте флеша не соответствет тому в каком порядке они будут в RAM.>Либо можно считать ОЗУ с работающего устройства и добавить в секцию.Мне такая иде я приходила в голову. Я только не знаю точно как это сделать. Я предполагаю что например с Jlink'ом можно запустить какойто отладчик, но не знаю будет ли он работать не с соурсом,а с hex или bin
Аноны, а как можно использовать наносекунды? Милли есть в HAL, микро сторонней библиотекой или делением систика. А нано?
>>299222Настрой один из таймеров на нужную частоту и считай свои нано секунды. STM32F334 позволяет считать таймером по 217 пикосекунд.
>>299225Но как, Холмс? 72МГц таковой частоты и пикосекунды?
>>299242Сам себе отвечу:HRTIM1 timer is made of a digital kernel clocked at 144MHz followed by delay lines. Delay lines with closed loop control guarantee a 217ps resolution whatever the voltage, temperature or chip-to-chip manufacturing process deviation
>>299206>Старый Элвис на ваших кортексах? Там же житаг тоже купленный и, наверное, работающий.Это у них последний проц с арм-ядром. До этого был MIPS пердолинг чем я по сей день и занимаюсьВот буквально прямо сейчас, LPTшный jtag перестал определять процессор, просто вот С НИХУЯ. Ещё вчера вечером работал как надо. А мне нужно баг в программке найти, и вот хуй. Придётся сидеть и ждать, когда jtag внезапно начнёт снова работать ведь так уже было, лол.
>>299258Хуею с твоей квалификации
>>299258>LPTшный jtag перестал определять процессор, просто вот С НИХУЯ.Попробуй соединить корпус компьютера с землей платы. Мне это помогало для клона USB-Blaster.>на кастомной плате оперативкаКакая оперативка? Отечественной SDRAM нормальных объемов вроде как нет, выходит статическая память?>MIPSDSP в них не трогал? Мне интересны возможности DSP ядер в этих процессорах. Например декодер Витерби они с какой скоростью потянут?
>>299280>ddrТот проект на Атмеле и американщине. На самом деле я разобрался и локализовал проблему, неверно определен некий tlb был.
>>299280>Мне интересны возможности DSP ядер в этих процессорах. http://multicore.ru/mc/data_sheets/Manual_DELcore-30M_App1_031210.pdfhttp://multicore.ru/mc/data_sheets/Manual_DELcore-30M_App2_031210.pdf
Братаны, на руках случайно появился дев-кит с кортекс А9, как мне вкатиться в вашу парашу, до этого никогда не программировал МК. Знаю C++ с пар в универе.
>>299310Ну качай с сайта софтпаки, девкиты без них не делают. А вообще, обычно на а9 накатывают линуксы
>>299310>A9>Знаю C++ с пар в универевыкатывайся обратно в phpтут C нужен и продвинутое байтоёбство
>>299306Зачем мне система команд? Ну изучу я это, угробив много времени, а потом окажется что оно и близко это не тянет. Мне нужно понять, стоит ли браться за изучение или целесообразнее продолжать все делать на воронежских ПЛИС.
>>299319> Cortex A9> продвинутое байтоёбство>Расчеты >Расчеты >Расчеты >Расчеты Ты из какого НИИ им. тов. Подзалупкина вылез? Кому впёрлись твои расчёты когда у нас аппликашка календарика на мобиле загружает под 100% 4 ядра по 1.4Ггц просто красивенькими анимациями и полупрозрачными 3д переходами? Здесь другие ребята, анон, не стоит шутить про расчёты, это тебе не шиндоус 3.1, здесь абстрагируются по-крупному. Здесь пишут на языке богов, где любая сущность объект, где всё наследуется от всего, где просто хэллоуворлд может занимать тысячи строк кода и при внесении пары изменений в коде управлять заодно ядерным распадом в коллайдере, здесь шаблон погоняет кодогенерацией, здесь просто приложение с показом времени отжирает 2 гига оперативы на старте и занимает 500 мегабайт на диске. Тут используют Анриал Енджин только чтобы перемножать пару матриц в его математической библиотеке, здесь гарбадж коллектор трахают прямо в анус, создавая тысячи объектов в каждом кадре и не освобождая ручками ни один.Забудь ты про свой найтивный код. Здесь совсем другая тема. Тут программируют совсем на другом уровне.
>>299319Ты как мой начальник, такой же ограниченный еблан, который с института знаний не получал больше
>>299341для начальника это нормально
>>299319я могу в байтоёбство, я работаю программистом-плис.>>299318есть DS-5 Studio Altera EditionЯ бы хотел накатить линукс, но почитав тред, понял, что анон советует сначала освоить bare-metal, понять структуру контроллера, а потом накатывать
>>299264Я сам хуею. Оказалось, что я просто забыл подключить отладчик к jtag-разъёму.
привет, прошу помощи, с полного нуля(имея опыт, программирования, java,c) решил занятся этим делом и купил STM32F103C8T6, но гдето полгода бродил по различным сайтам в потугах хотябы лампочкой помигать, но раз за разом выполняя похожие действия ничего не получалось, я уже в отчаянии, может я просто не с того начал? подскажите что делать, мб есть статья на просторах иннета типо "как помигать лампочкой, пособие для аутистов"? для прошивки пользуюсь ST-LINK V2 stm8 & stm 32https://arduino-kit.ru/catalog/id/st-link-v2-programmator-stm8-stm32.-rc050
>>299775Что ты конкретно не понимаешь или не можешь сделать?
>>299791пробовал прошивать в cocoox, iar, keil. и вроде все чудесно работало (ну в смысле подключение st-link -а видит)при прошивке ошибок никаких не выходило, а в конечном итоге ничего не происходит, скажу сразу, брал экзамплы, и если верить статьям экзамплы рабочие (залей и радуйся), я каким только светодиодом я мигать не пытался(ну всмысле и внешний подключал, и тот что на самой плате присутствует). короче диод на плате просто загарается при подключении питания, но не как не мигает.
>>299792У тебя блядь ST-Link, возьми и пошаговую отладку проведи.
>>299775Поищи на ютубах каналы narod stream и sappise. Первый использует HAL, второй CMSIS.
Привет, Аноны! Мне мне нужно реализовать программную реализацию ликвидации дребезга контактов кнопки, подключенному к входу, по которому осуществляется прерывание.МК - STM32F407, использую HAL.Как это сделать?Я инициализировал таймер, настроил на 100 мс/прерывание. Дальше придумал вот что:Нажимаю кнопку -> идет прерывание по кнопке -> выполняю всё что нужно в обработчике прерываний и в конце включаю таймер и прерывания по нему и запрещаю прерывание по кнопке -> срабатывает прерывание по таймеру, разрешается прерывание по кнопке, выключается таймер и прерывание по этому же таймеру (спорный момент, так и не понял, как это реализовать, чтобы работало), потом происходит выход из функции обработчика прерывания -> ожидание нажатия кнопки. void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin){ if(GPIO_Pin == GPIO_PIN_0) { extern uint32_t temp; temp++; HAL_TIM_Base_Start_IT(&htim9); HAL_NVIC_DisableIRQ(EXTI0_IRQn); }}void TIM1_BRK_TIM9_IRQHandler(void){ HAL_TIM_IRQHandler(&htim9); extern uint32_t timer_temp; timer_temp++; HAL_NVIC_EnableIRQ(EXTI0_IRQn); //HAL_TIM_Base_Stop_IT(&htim9);} Таймер хочу отключать после каждой обработки, чтобы он не смущал МК своими частыми ненужными прерываниями.Но так ничего не работает. Вот кажется, что ошибка тупая, но в упор не вижу, но ничего не приходит в голову. Через HAL_NVIC_Dis(En)ableIRQ(TIM1_BRK_TIM9_IRQn); пробовал, тоже не получается.
>>299805пздц просто нет слоа
>>299863А что если реализовать по-другому? Если нажата кнопка, то запустить таймер и считать до 0.2 секунды например, если досчитал то сработало прерывание.
>>299863Реализуется так же, как и для любых других МК: после срабатывания прерывания в переменной ставится флаг, что кнопка нажата, но не проверена и запускается таймер на 50-100мс, после которых проверяется, если кнопка все еще нажата - ставится флаг, что кнопка действительно нажата и выполняется действие.флаг = 0прерывание: флаг = 1 таймер = 0таймер: если флаг == 1 и кнопка нажата и таймер >= 50 флаг = 2 таймер = 0 если флаг == 3 и кнопка НЕ нажата и таймер >= 50 флаг = 0 таймер = 0флаг: если флаг == 2 выполнить действие флаг = 3
Котаны, срочно нужна ваша помощь.Плата STM32F429I-DISC1Когда подключаю к пека через порт USB-ST Link, всё работает замечательно. Но когда подключаю в розеку, программа не выполняется.Пробовал и свой код, и пример из Кейла, результат одинаков. Может надо переключить какую-то перемычку?Алсо, как правильно запитывать плату? То что я подключаю её в дебаггер для питания, это вообще правильно?
>>299912Reset жал? Чота хуйня якась, у меня работает всйо.
>>299922Жал конечно.В итоге оказалось что прошивка глючная, обновился до последней - всё работает.
Кто знает как в HAL поморгать ws2812b используя связку дма+шим? В кубе включил четвертый таймер, выставил счёт до 90 без предделителя, это при частоте 72МГц получилось 800 кГц или 1,25 мкс, настроил шим выход на третий канал, подключил дма. В коде создал массив из 24 элементов uint32_t, пишу HAL_TIM_PWM_Start_DMA, в обработке прерывания дма ставлю остановку счета. По задумке первый диод должен загораться синим. В итоге нихуя. В дебаггере CCR3 таймера меняется, пятый канал дма работает. Где я мудак?
Хелп, гайз. Пытаюсь приклеить проект из CubeMX в EmBlocks 1.11, кое-как прилепил, в итоге сборка проходит без ошибок, а пересборка вываливает несколько несоответствий типов переменных. Сталкивался кто-нибудь?Офигел, кстати, от жирноты кода, генерируемого кубом, пустышка 30кило, когда в тех же условиях готовый семпл USB-HID от Raja весит около 24х. Пытаюсь хбох джой сделать, но местных правок дескрипторов в семпле Раджи недостаточно, а от попыток понять как сие инициализируется в базирующихся на MX 1,5 проектах мозги в трубочку сворачиваются.
>>300757>EmBlocksНи разу не трогал это. Но могу посоветовать попробовать тебе использовать мейкфайлы, генерируемые кубом. Или использовать https://github.com/ObKo/stm32-cmake
>>300757это ты передаешь char туда где просят uint8 ?
>>300780А какая разница, дебс?
>>300781>А какая разницаардуинщек?
>>300780Нет, это чистый код кубика, сгенерированный под SW4STM32.
>>300782Значения принимаемые char и uint8_t мне написал, быстрабля.
>>300788char - Contains at least the [0, 255] rangeuint8 - 8bitat least - знаешь как переводится или ардуиншек?
>>300788платформы меняются, стандарты меняются, компиляторы меняются, одно остаётся неизменным программы нужно стараться писать правильно а не как ардуинщек
>>300789Посмотри ещё перевод как правило заодно. Кейл вот, в своём мониторе переменных тип uint8 отображает как unsigned char.>>300791То что там char вместо uint8, не очень хорошо конечно, но если речь идёт о передаче именно символа на 1602 например, то почему бы и нет.
>>300796>Кейл отображаетгде скочать правЕльный, как крякать?
>>300797В интернете. Как утка.
>>300782Тащемта на бытовых МК никакой разницы маня, потому что uint8_t это переопределение типа unsigned char. Разница может быть только в системах, где char не является 8битным. А компилятор ругается, потому что ему положено, ведь язык Си со слабой типизацией и компилятору надо выплюнуть хотя бы ворнинг о том, что ты хуйню написал.
>>300796наверно нет ничего плохого в передачи char в uint8_t плохо задавать тупой вопрос когда компилятор явно кидает варнинг и умывает руки
>>300800Тут двачую, да.
>>300800передача char в uint8_t является как раз ошыбкой, потому что надо передавать unsigned char
>>300803блять ищо один ардуинщеготкуда вы лезите то
>>300807>ардуинщегопачки, шизик теоретик программирования из стм треда прикатился
>>300813>шизик теоретикну это слишком громкое определения для моей скромной персоны, хотя ладно продолжай
>>300800Я всего-лишь присрал выхлоб куба к блоксу, а вы тут бучу подняли...Так-то итак понятно было, что типы разные, но вдруг это нормально. Раз уж в кубе такая хрень.
>>300839иди отсюда нахер ,не до тебя сейчас
есть целая гора АРМов (ATSAM4S И AT91SAM7S), надо их обнулить, проверить и продать. чем посоветуете это сделать?
>>300936> чем это сделатьМожешь ногами попробовать или в очко себе затусуй их, бизнесмен мамкин.
>>300789>char - Contains at least the [0, 255] rangec вики пытался скопировать и промахнулся?Это unsigned char. Он же uint8_tА char это -128 +127на "at least" вообще насрать.
>>300949>>300789Вот открыл я стандарт C99 и ничего подобного не вижу:>An object declared as type char is large enough to store any member of the basic execution character set. If a member of the basic execution character set is stored in a char object, its value is guaranteed to be nonnegative. If any o ther character is stored in a char object, the resulting value is implementation-defined but shall be within the range of values that can be represented in that type.То есть возможная знаковость char-а определяется используемой кодировкой (исходников). А разрядность вообще нигде не прописана.Но мне кажется что у того анона просто инклюдится что-то не то, тем более что это вылезает только при пересборке.
>>300952Там насколько мне известно, проблема не в том, что char может быть знаковым, а в том, что он может быть 16 и более бит. Это надуманная проблема и если ты пишешь под 1 архитектуру это все хуйня.
>>300956Добавлю, что насколько мне известно uchar\char пользовались в старом стандарте, когда еще не было uintX всяких.
Кто-нибудь поднимал на мк usb хост для подключения к нему другого мк stm32 с запущенным на нём dfu? Не понимаю, что я делаю не так. Энумерация выполняется, но при попытке с хоста отправить какую-либо команду, дфу выставляет на шине stall, хотя вроде всё по их протоколу делаю.
>>300957>Добавлю, что насколько мне известно uchar\char пользовались в старом стандарте, когда еще не было uintX всяких. В таких случаях ручками писали макролапшу вроде#if sizeof(int) == 4typedef int int32и.т.д.
>>300972нахуя всё это учитывать? стандарты-хуярты, можно просто нахуярить кода да и всё
>>300982Нет, надо обратиться к услугам юриста, чтобы он растолковал что там за "аt least" и "large enough" в стандарте. Без этого даже не начинать код писать.
>>301035>char - Contains at least the [0, 255] rangeТолько это не из стандарта, а копипаста с лживой википедии. В стандарте ничего даже отдаленно похожего не написано.
Хуй знает - кто, поэтому спрошу там...Нужен WiFi мост (пушо WiFi уже есть по хате): что-то типа USB-UART переходника, чтобы команды и данные передавать с ПК на устройство и с устройства на ПК.В навороченных 3D принтерах такая хуйня есть.На чём можно запилить? Может какой WiFi модуль, вроде ESP8266 или похожий.Как тяжело будет написать виндо-софт под это дело (аналог Putty для WiFi, например)?
>>301055>аналог Putty для WiFiТы придумываешь что-то странное. Putty и так умеет в telnet, ssh, rs-232. Может сделать ssh будет сложновато, но telnet сделать точно несложно. Ну и хватает готовых мостов uart-wifi и uart-ethernet.
>>301068>Ты придумываешь что-то странное.Я просто не знаю, как реализовать то, что я хочу: а именно хотелось бы избавиться от проводов для своей приблуды. А то опять придётся лепить 232-ую микру.Кажется, нашёл то, что мне нужно:https://esp8266.ru/forum/threads/proshivka-tcp2uart-perexodnika-s-nastrojkoj-po-web.146/Но там много вскукареков, что esp8266 устарел и пока подробно не разбирался, бо нету есп.
>>301077В таком случае может тебе будет проще взять https://ru.aliexpress.com/item/HLK-RM04/32770432200.html ?
>>301055ESP8266 должен работать как мост. Ты ему данные и IP конца моста, а он МК данные.
>>301083Хм, а вот это интерсная хуйня, первый раз слышу про нее. У меня есть парочка esp8266, у которых внутри какой-то экзотический core и писать под него ну его нах. Поэтому я планировал его использовать в AT mode, просто как UART. И подключать к STM32 так как пишу под него. А эта новая хуйня и есть STM32F4. Это же охуенно. Спасибо за линк. Весь вопрос - есть ли у них свой внутренний TCP стек как у ESP8266. Но должен быть.
>>187056 (OP)а зачем собирать ядро?простотак
>>301178К слову с всякими GPIO малинопроблемами сюда или к красноглазым в /s/?
>>301211я спец по малинопроблемам, задавай свои ответы
>>301315Ну я свои насущные проблемы +\- решил.Но есть несколько долгосрончых вопросов.Запуск linux в приближенном к RTOS режиме или достойные RTOS на малину, с которыми не надо пердолится что бы запустить на всяких клонах малины.Смогу ли я найти инфу в +\- разобранном виде по всяким серьезным интерфейсам (LVDS\NAND) линуксо библиотеки к ним?А то голые даташиты читать не охота, на это уйдет вечность.Я начал ебать малину не ради смыва туалета с ПК, но планируется более серьезная задача, с которой самой по себе будет много ебли, добавлять уберпердоливание линукса, который я знаю почти не как - не очень охота.(тут имеется ввиду какие нибудь его глубокие ковыряния\пересборка\написание драйверов).
>>301345>RTOS linux может в RT немногоhttps://rt.wiki.kernel.org/index.php/Main_Page>Смогу ли янет>серьезная задача>не очень охотану купи лучше ардуину
>>301347>ну купи лучше ардуинуЗачем, у меня 3 отладки с ARM есть. А если серьезно, я не хочу растягивать на годы, а с ебля с своими драйверами на GPIO или еше что, я боюсь только этим и обернется.
>>301345> линукса, который я знаю почти не как>но планируется более серьезная задачаСинхронный смыв двух туалетов с пк?
>>301348а что за задачи?дешовые CPLD стоят дешевле ардуиныа предиктобал у них лучше любой RTOSрешают любые малинопроблемы
>>301357This >>301350Что то вроде промежуточного сервера для связи разных интерфейсов в сеть.С выборкой и выводом информации на GUI. Не считая создания самих устройств.P.S. тут серьезное != профессиональное, серьезно это для меня, м.б. для вас это и на пару дней.
>>301360очередной раковый безумный дом с вещевым интернетомбесполезная никому ненужная хуета без задач
>>301372Нет. Но близко. Безумное рабочее место
>>301360>Запуск linux в приближенном к RTOS режиме или достойные RTOS на малинуЗачем?>С выборкой и выводом информации на GUI.Пиши на питоне.
>>301378>Пиши на питоне.GUI и дисплей отдельная отдаленная задача. Если вообще понадобится. И я слишком люблю фигурные скобки.>Зачем?А зачем вообще нужны RTOS? Для того, что бы у меня было гарантированное время реакции на событие.
>>301388И какое же это гарантированное время? Как ты его посчитаешь? Как ты вообще сможешь гарантировать, что твой код выполнится за определенное время?Анонам в ЧПУ и 3Д тредах хватает времени реакции обычного виндовса. Ну будет у тебя под обычным линуксом время реакции не более 0,1 с с вероятностью 99,995%, тебе этого мало?
Привет, анон.STM32F429 (Discovery).Не могу понять, как рисовать на экране? Создаю массив с цветами для пикселей, оно один раз рисуется и всё. Когда изменяю массив, вызываю HAL_LTDC_Redraw - ничего не происходит.
>>301412>Я двачер, я знаю, что тебе нужно больше тебя.Ну серьезно?>И какое же это гарантированное время? Необходимо получить, обработать и переправить сигнал с интерфейса на интерфейс, за время не влияющее на время человеческой реакции. Т.е. наверно 10мс, м.б. меньше. Причем получать и обрабатывать надо в тысячу раз чаще, чем пересылать.>99,995% Для этого Синхросмыва нужны 100%.
>>301437>Для этого Синхросмыва нужны 100%. 100% не будет никогда. Причем даже ардуина будет надежнее, хотя бы из-за меньшего количества деталей.>на время человеческой реакции. Т.е. наверно 10мс, м.б. меньше.25 кадров в секунду, не слышал?
>>301433> HAL_LTDC_RedrawЯ нашел только HAL_LTDC_Reload, но она не про то
>>301433И при чем тут массив с цветами пикселей? Ты прямиком в видеопамять хуячишь?
>>301433> STM32F429 (Discovery)Мажор ебучий. Я только начал почитывать книги "Си на селе", "Программирование на Си в СССР", а он тут рисувать хочет. Да и вообще, этой йобы хватит ядерным реактором управлять.
>>301492400мс время простейшей реакции. 100мс - замедление на 25%.Какой нахуй 25 кадр? О чем ты вообще? Что твой мозг сам доводит их до беспрерывного движения ты не слыхал? А вставка картинок даже с 60 и больше герцами будет вполне себе заметна.>100% не будет никогда.Ну давай еще в философию ударимся.>Причем даже ардуина будет надежнее, хотя бы из-за меньшего количества деталей.При этом тормознутее и реализация мульитзадачности отдельная ебля. А писать на CИ все что я хочу это вообще охуеешь.
>>301501>начал почитыватьИх уже я прочитывал.А на пистон пересесть нельзя?Может знает кто, есть пистон для АРМов.
>>301537на джабу переходи ардуиншек
>>301501Ну мне на "работе" её дали. А хули, она же вроде на авито 1.5к стоит, не?>>301500Там нет такого понятия как видеопамять, она общая.Но вообще да, как оказалось надо просто перерисовывать прямо тот массив по-пиксельно (но видимо ещё мемкопи работает хуйпойми как на этой железке).А вообще как мне подсказали, там у DMA есть функция сдвига массива.
>>301777> у DMA есть функция сдвига массива.Чо, блядь?
>>301777> просто перерисовывать прямо тот массив по-пиксельноДа ты ебанись. Там целая либа есть с рисовалками линий, кругов, квадратов, заливкой, прозрачностью, слоями, окнами, кнопками, графиками.> буду рисовать массив попиксельноБольной ублюдок
>>301780Мне вот интересно, как ты битмапы этой либой собрался рисовать, тем более в реалтайме.>>301779Ну в ChromeArt есть функция аппаратного скролла. Что тебе не нравится?
Реквестирую помощь с иаром, двач. На атмеловских либах проект РЕДКО улетает в software_fault_handler(), стек вызовов пустой, точнее, только этот хендлер содержит. Как правильно найти функцию, из которой эксепшон вылетел?
Аноны, посоветуйте, пожалуйста, интересную книгу для изучения STM32. Библиотека - HAL. Мануалы как-то тяжковато идут. Хотелось бы сначала чего-нибудь попроще, а потом и за мануалы взяться. Язык английский/русский, без разницы.
Carmine Noviello - Mastering STM32, для общего ознакомления. Канал на youtube под названием narod stream.
>>302247narod stream иногда ересь полную гонит - я ему пару замечаний уже писал по поводу или явных ошибоки, или бессмыслицы. Но там дядька адекватный, в залупу не лезет
>>302260Ну пока что это самый полный канал про HAL, из тех что я знаю. Буржуи им больше пользуются, но особо делиться не хотят.
>>300757Проект прилепил, три минимальных правки на дескрипторы и посылку данных сделал - контроллер инициализируется, но выпадает в hardfaul при отправке нужной строки. Пересоздал на всякий случай - один хер падает. Плюнул, перенёс https://github.com/alextrof94/STM32_CUBE_HAL_TRUESTUDIO_HID_XInput со всеми потрохами, собираю, запихиваю - да ёб её в рот, и тут зависон! Что я делаю не так?Перенос проще некуда - ручное указывание папок с инклудами, девайн контроллёра и использование сгенерированого кубиком .ld файла.
>>302247>>302260>>302288Спасибо, Аноны.Narodstream знаю, пользуюсь им. Но я не люблю смотреть видеогайды, а статьи у него достаточно сумбурные. В общем, он мне понравился, но я хотел чего-то подобного, но получше. За книгу спасибо! Очень классная!
сап радиач! Осваиваюсь с stm32f105, наигравшись с более младшими моделями типо f072, 103 и т.п. Столкнулся с проблемой заливки прошивки через STM'овский бутлодырь по UART. Вроде как отличия от младших мк от ст в общем то и нету, стандартно:1. BOOT0 на VDD2. Reset3. Льем прошивку посредством Demonstrator через USB-TTL.Да вот не тут то было... Demonstrator на отрез отказывается видеть МК. Пробовал различные скорости, менял таймауты, пропаивал контакты, пробовал другой адаптер USB-TTL. НИХУЯ.При этом, данный мк ДО заливки и отладки основной программы, на этой же самой макетке определялся без труда. На аналогичном камне, та же ситуация. До прошивки основной программы(через SWD, среда KEIL5, CUBEMX, ULINK2) он определялся, после работает только через отладчик, через бутлодырь не видится. В даташитах читал, что для работы DFU, прошивка через USB, CAN на Connectivity line МК тактируется от внешенго кварца, и он должен быть на 8 либо 25 Мгц, при загрузке по уарт тактируется от внутреннего на 8, я уже от безвыходки и тот и другой попробовал, результат: ничего. Каким хуем это происходит?! Возможно ли, что при работе через SWD бутлодер затерся? Или же проблема в том что в основной программе тактируюсь я от HSE 12МГц, и UART от PLL?
>>303833уебал в мануалыскажи спасибо маче что похерила тот пост.
проблема в том что в основной программе тактируюсь я от HSE 12МГц, и UART от PLL?кто тебе виноват что ты пишеш быдло код?и твое понятие к битам контроллера сводица к вкл/вкл.
>>303836Мануалы скурены уже. везде одинакого:1. BOOT0 на VDD2. Reset3. Demonstrator
>>303838схему нарисуй ка кты подключаеш
шизик за тебя пидора должен прощитывать защиту от дебила?
>>303840Питание и кварц разрисовывать лень, все стандартно, на каждой ноге VDD по кондеру 100n, на кварце висят 2 кондера по 27pF.
>>303837А по делу слабо, Мань?
>>300026Понизь частоту и проверь осцилом, что у тебя генерится. Делов-то.
>>303833А свд тоже не работает?
>>303883Отладка по СВД работает, все шьется, отладка тоже функционирует.
>>303911Зашей какую-нибудь мигалку и проверь после этого.
Есть тут те, кто сталкивался с SMBus протоколом на STM32 или вообще? Я делал связь между двумя STM по I2C, но там есть некоторые проблемы, с блокировкой шины слейвом, решил попробовать SMBus из-за наличия таймаута в режиме прерываний, по которому сбрасывается соединение + PEC и ALERT. Для мастера был пример и там впринципе все довольно просто (вызовы приема и передачи, как у I2C), но для слейва примера нету и вариант приема/передачи, как на I2C не работает: после подтверждения слейвом адреса он удерживает SCK до таймаута.
>>303915Зашил, мигалку. В отладке все ок. Загрузчик не работает.
>>303833>внешенго кварца, и он должен быть на 8 либо 25 Мгц, при загрузке по уарт тактируется от внутреннего на 8Я понял не так. Делается попытка включить HSE, если включается то определяется относительно HSI к какой из стандартных частот ближе частота кварца. Если кварца нет, то загрузчик сначала подстраивает скорость UART по минимуму ошибок и только потом выдает готовность.BOOT1 не забыл подключить?
>>303954Сейчас отпаял кварц, залил проект из CUBEMX с мигалкой, где тактирование от HSI. BOOT1 нога PB2 припаяна к земле. Мигалка работает, делаю ресет зажимаю BOOT0, мигать прекращает. Парралельно смотрю в ком порт адаптера usb-ttl туда ничего не приходит.
>>303955>Парралельно смотрю в ком порт адаптера usb-ttl туда ничего не приходит. А разве бут-лоадер сам будет что-то слать?
>>303955>туда ничего не приходит.С чего бы должно что-то приходить пока оно не подстроит скорость? А скорость оно не подстроит пока не отправишь какую-то комбинацию достаточное количество раз.Как вариант можно не ресет жать, а питание передергивать. Я только так и делал (но не с STM32), потому что кнопки на ресете не было.
>>303959на 115200 подключился через putty, просто по клаве постучал, в ответ приходит всякий мусор. Попробовал на разных скоростях подключиться через Demonstrator ничего не вышло..
>>303967Значит бутлоадер что-то отвечает, ищи проблему или в разводке или в подключении или в юсб-2-сериал
>>303969Уже блять реально всё перепробовал. Если uart1 проинициализировать сообщения отправляются и принимеются. Уже реально всё варианты перепробовал.
Тред не читал, есть тут кто в техасовских TMS320 понимает? Пикколо или дельфино, например.
>>303833Была как-то проблема с бутлоадером через usb.Он при перезагрузке перебирает интерфейсы по-очереди, поэтому проверь входные линии остальных возможных интерфейсов, они должны быть подтянуты.
>>304121Проблема решались. Макетку я питал от того же самого usb-ttl. Попробовал запитать отдельно с БП, от переходника только RX TX подключил, все определилось и заработало.
>>304138лох
Анон, подмогни.48МГц настройка дефолтная CMSIS, предделители 1/1/2, f103c8 int main(void){ //Set_System(); // USB_Interrupts_Config(); // Set_USBClock(); // USB_Init();RCC_APB1PeriphClockCmd((RCC_APB1Periph_PWR|RCC_APB1Periph_TIM4), ENABLE);RCC_APB2PeriphClockCmd((RCC_GPIO|RCC_APB2Periph_GPIOA|RCC_APB2Periph_AFIO), ENABLE); GPIOA->CRL |= GPIO_CRL_MODE3; TIM4->DIER |= TIM_DIER_UIE; TIM4->PSC = 767; TIM4->CR1 |= TIM_CR1_CEN; NVIC_EnableIRQ(TIM4_IRQn); while (1) { }}void TIM4_IRQHandler(void){TIM4->SR &= ~TIM_SR_UIF; GPIOA->ODR=GPIO_ODR_ODR3 & ~(GPIOA->IDR & GPIO_IDR_IDR3);return;Проблема в том, что ожидаю интервал между прерываниями в 768 тактов (16мксек, 48МГц/62500Гц), а получаю невменяемую хуйню. Где я проебался? Второй пик прямо на 0сек.
>>304255...в общем, стмка попросту не вывозила подтягивать пин с подвешенным к нему контроллёром.
>>187056 (OP)Пагни, насобирал наконец денег на STM32L152, купил, возрадовался, а на сайте ST пишут NRND (нирикамендуют в общем). Как жыть дальше?
>>304637Учи и работай то, что есть. Следующие поколения похожи на предыдущие, так что всё путём.
>>304637Не рекомендовано для новых разработок.Ты же не собираешься тиражировать?
>>304670>Ты же не собираешься тиражировать? Да тут хоть бы с одним совладать, а не закинуть в ящик.
>>304683Это предупреждение в основном для тех, кто разрабатывает устройства для производства.Чтобы не получилось так что для свежеразработанной хуитки не найти деталей.
Ананасы, тихо вкатываюсь в STM32, и сразу оно меня пытается наебать.Простейшая хуйня без HAL - работает, всё кристально понятно.Беру рантайм либы для 32F429 discovery, хочу ПРОСТО ПОДКЛЮЧИТЬ дисплей по SPI.Оно вместе с дисплеем тянет кучу всякого говна, включая SPI (логично), DMA, DMA2D, RTOS и кучу прочей хуйни.После добавления всего-всего попытка собрать проект, и сразу - хуй.Получаю три десятка ошибок RTE\Graphics_Display\STM32F429ZITx\LCDConf.c(556): error: #20: identifier "LTDC_PIXEL_FORMAT_ARGB4444" is undefinedПричина - дисплей опирается на либу LTDC (пикрил), которая подключена, в проекте файл есть (пикрил 2), определения констант там есть, толку - нет.Что за хуйня. препятствующая вкатыванию? Это кривой HAL или мои кривые руки?
>>305571Йохохо.Отлично, нашел файл .h конфигурации HAL, там закомменчены модули DMA2D, LTDC и еще пару, несмотря на то, что в енвайронменте они есть.Ок, раскомментил. Новая ошибка двойного определения обработчика прерывания систик, охуенно!Одна - в сгенерированной CubeMX рыбе, а вторая - в недрах библиотек.Закомментил, закомментил, скомпилировался пустой проект. Залил - не работает нихуя, даже помигать светодиодом, лол. Порты, помеченные как output в CubeMX таковыми не являются, например. Потер тестовый проект, ушел спать. Нахуй такое говнокодие?
>>305585> Нахуй такое говнокодие?В стм32 своя атмосфера, ты просто еще не проникся. Я не стал проникаться и закинул девборду нахуй.
>>305571>Это кривой HAL или мои кривые руки?На счет HAL не знаю, т.к. не пробовал. Но сейчас проблемы явно не в нем, а с руками.>в проекте файл есть (пикрил 2)Что-то я никакого файла не вижу. Это на кейловский device pack похоже. Проблема может быть из-за того что в этом девайс паке старая версия библиотеки, либо этот девайс пак неправильно работает или он просто не рассчитан на использование с кубом. По моему кейловский девайс пак нельзя использовать вместе с кубом, хотя бы потому что могут не совпадать версии.Если бы ты пользовался CMake или просто make, то таких проблем точно не было бы.
>>305585скочай кейл потом крякой
>>305607кря-кря-кряниработает!!!
>>305605С компиляцией разобрался, только толку мало (см. >>305585).Есть еще вопрос - потянул рабочий пример работы дисплея, там довольно компактно всё и работает.Пикрил:Я уже выкупил, что пример они собирают с использованием Cube classic, где всё ручками.Но повторить тот же набор модулей у меня не получается, тянет за дисплеем гору говна.Как это превозмочь? Про CMake слышал, но как-то ж блядь работают с кейлом?
>>305626> Cube classic, где всё ручками.Эт чо за хуйня?
>>305637Это конфигурация процессора через RTE_Device.h, где руками правишь конфигурацию периферии. Настраивать GPIO и таймеры там нельзя, но остальное - можно.
>>305626Дисплей запустил на чистом проекте, ура, бля.Как запустил - выяснил, что приложение падает в переполнение стека (дебаггер это хорошо), и скопировал RTE_Device.h с примера.Разницы между ними я не очень то нашел, но блядь заработало.
>>305656В шоке от ардуино-стиля осваивания новых железок
>>305607Поддерживаю этого анона.>>305626>Про CMake слышал, но как-то ж блядь работают с кейлом?На всякий случай скажу, что кейл использует компилятор http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0472k/index.html Ничто не мешает использовать этот компилятор отдельно.
>>305660Будь в шоке и дальше, но на сюда я пришел из божественно простого avrasm и avrc, из леса понятных даташитов, без пердуинских библиотек.А в среде стм32 мне немного неприятно.Но это не по теме. Инициализация дисплея проходит, он чернеет, и дальше - нихуя.Установка цвета, вывод текста - не происходит ничего.Ладно, перекидываю все исходники из примера в свой проект, включая мейн.сИ... Нет отображения на дисплее.Как так то?В ходе экспериментов выяснил, что мой проект компилируется и линкуется любым компилятором, в т.ч. и GCC11, а пример, который работает, НЕ линкуется в gcc11 с таким матюком:.\Output\Example.axf: Error: L6242E: Cannot link object __gui_sprite.o__ as its attributes are incompatible with the image attributes. Тихонько подозреваю что у меня все функции гуишной библиотеки заглушены.>>305607Вот это что означает? Да, сначала скачал, потом крякал.
>>305675это означает что ты ардуинщек
>>305571>>305675Ояебу, у самого где-то пылится 429я в блистере, никогда не возникало с ней проблем при использовании куба+кейла. Дисплей как по FSMC так и по SPI работал без проблем с HAL либами, подключал к ней разные камеры по DCMI - тоже никаких проблем, а DMA так это вообще дар божий после 8-битных AVR. Но я в итоге заказал у китайцев кучу разных F0 и F1 20/48/64 и пару 100-ногих , потому что оригинальные платы обвешаны дисплеями и датчиками, которые в большинстве ситуаций нахуй не нужны и проще их на проводках цеплять.
>>305675>А в среде стм32 мне немного неприятно.Видно, как ты разбираешься в документации, таская файлы мышкой туда сюда. Ардуинщик это навсегда.
>>305678Для чего в Кейле кучка дополнительных файлов RHE? Костыль для кейлокомпилятора?
>>305682>файлов RHE?Где ты их увидел?>кейлокомпилятора>>305670У них вроде как нет своего компилятора для армов. Хотя возможно какое-то участие в разработке armcc они принимают.
>>305709https://en.wikipedia.org/wiki/Keil_(company)Keil provides a broad range of development tools like ANSI C compiler, macro assemblers...In October 2005, Keil (Keil Elektronik GmbH in Munich, Germany, and Keil Software, Inc. in Plano, Texas) were acquired by ARMТащемто armcc теперь их собственный компилятор, а вернее сказать keil это ide армовского компилятора.
>>305709RTE, прошу прощения.К примеру, здесь есть >>305626Аттачится к любому проекту.>The Run-Time Environment (RTE) in MDK Version 5 enables you to use validated Software Components in your project.Я так и не смог понять, зачем мне этот рантайм.
>>305714Это хорошо, но все равно непонятно кто именно теперь разрабатывает этот компилятор. Так то armcc можно скачать с arm.com отдельно от кейла.>>305719Это потому что >>305678 Так-то у них на сайте и в справке все это расписано.>Software Packs may be added any time to MDK-Core or DS-MDK making new device support and middleware updates independent from the toolchain. They contain device support, CMSIS libraries, middleware, board support, code templates, and example projects.И когда ты выбираешь в кейле свой микроконтроллер, автоматически подключается этот пак, как видно на твоих скриншотах.Наверное единственный способ не использовать этот пак, это http://www2.keil.com/mdk5/legacy либо использовать armcc отдельно от кейла.Тебе в:>либу LTDC (пикрил), которая подключена, в проекте файл есть (пикрил 2)ничего странным не показалось? Почему это библиотека вдруг подключается одной галочкой?
>>305737Теперь arm == keil, у них даже в логотипах на сайте "arm" одинаковым шрифтом написано, ведь arm поглотил keil и сделал свой компилятор официальным для него со всей вытекающей поддержкой.
>>305737Спасибо, анончик, с паками и либами на меня более-менее снизошло просветление, разобрался.Основная проблема вкатывания (а я только вкатываюсь) в STM32 это, сука, три разных подхода к написанию всего. Первые пишут в Standart Perefireal Library, и не пишут, что подход устарел, и даже повторить за ними какой-то пердолинг сегодня невозможно, ибо SPL уже не входит в стандартный пак.Другие говорят HAL - говно, не предлагая ничего взамен, дрыгают регистрами.Третьи запускают CubeMX, тыкают мышкой, не публику при этом даже исходников.
CubeMX + HAL Остальное от лукавого.
>>305853> Первые пишут в Standart Perefireal Library, и не пишут, что подход устарелМоё мнение, надо выбрать один подход. Но если ты работаешь с Кубом, будь готов дёргать регистрами, ибо прерывания надо писать короткими, а не как в HAL-е. Если же быстродействие тебе не нужно, и всё, что ты делаешь -- термостатируешь чайники, тогда бога ради, HAL -- это твоё всё. Быстро и удобно.Моя практика показывает, что в более-менее серьёзных проектах приходится бороться за время выполнения, а значит придётся оптимизировать, т.е. отказываться от лишних абстракций в виде HALа, и даже SPLя, как ни странно.
>>305872>отказываться от лишних абстракций в виде HALа, и даже SPLя, как ни странноЯ тебе больше скажу, чтобы понизить частоту с 24 до 16 МГц, при этом уверенно ловить событие, мне пришлось банальный опрос внешнего порта переписать на ассемблере. Такой пердолинг нужен не каждому. Мне был нужен, дабы снизить потребление контроллера. Был вариант использовать NVIC и EXTI, чтобы ловить событие, но тогда, во первых, снизить частоту с 48 (максимума) удалось только до 24... Во вторых, при одной и той же частоте, программный опрос без использования NVIC и EXTI оказался энергетически эффективнее, потребление контроллера что-то в районе 3мА на фоне 5мА (при включенных NVIC EXTI).
openstm32.org вообще легитимный сайт? Почему они вообще настолько открытые, что полсайта скрыто за логином?
>>306618>openstm32.orgсам факт того что можно писать код лучше чем индусо-обезьяны, может стригерить арм-консорциум против них, а пока вроде норм всё
Накатил lwip, хочу сделать нормальную отправку json браузеру. Как это сделать, не меняя http_server.c? Разработчики сделали ssi, но это какое-то говно. Собираюсь передавать статусы устройств.
Народ, есть ли у использования realloc какие-либо нюансы? Маллок отрабатывает нормально до конца кучи, реаллок же выделяет пока мк в хардфолт не свалится.Кейл 5, стм32, компилятор тоже пятой версии. BuffArray->Pointer = malloc (5 + i + 1); int l = 0; for (int n = 5 + i; n != 0; n--) { BuffArray->Pointer[l] = l + 0x30; l++; if (n == 1) { char *k = BuffArray->Pointer; k = realloc(k, (n + 5 + 1)); l--; if (k) { BuffArray->Pointer = k; n += 5; l++; } } }
>>306851>Народ, есть ли у использования realloc какие-либо нюансы? Маллок отрабатывает нормально до конца кучи, реаллок же выделяет пока мк в хардфолт не свалится.>>Кейл 5, стм32, Расскажи ка мне, нахуя тебе там понадобилась динамическая память?
>>306999Обработка ответов по юарту. Есть идеи получше?
>>307051>Обработка ответов по юарту. Есть идеи получше? Вообще, динамическая память, это плохой тон, ибо ресурсов отжирает кучу. Если у тебя не стоит более-менее нормальной ОСи, то в этом нет никакого смысла. Вангую, что у тебя не выше STM32F4xx, а значит и нормальной оси у тебя нет.Размещай буфер статически такого размера, чтобы тебе хватало. Всё равно у тебя длина ответа не произвольная.
>>307051Фрагментации кучи не боишься? Вроде как любой аллокатор не может гарантировать что память со временем не фрагментируется полностью.>Есть идеи получше?Без понятия что за ответы тебе нужно обрабатывать, но наверняка можно обойтись каким-нибудь FIFO или стеком.>>307086>не выше STM32F4xx, а значит и нормальной оси у тебя нет.А на F7 значит есть? Там MMU есть что ли?
>>307086>Всё равно у тебя длина ответа не произвольнаяНа некоторые команды я имею примерное представление о длине ответа. Некоторые команды выдают списки зависимого от внешних условий количества строк. И ещё ответ, у которого в начале прописана длина входящих данных, может выпасть в любое время после инициализации.>>307089>Фрагментации кучи не боишься?Подолгу там залёживаться не будет ничего, запросил, получил кучку строк, вывел на экран, юзер выбрал одну, сформировал из неё запрос и очистил всё сразу.
>>307089>А на F7 значит есть? Там MMU есть что ли? На самом деле, вроде даже на 373 можно линух накатить (могу ошибаться), но на 4xx -- точно, у них уже имеется контроллер внешней памяти (а-ля твой MMU), встраивающий её адресно "внутрь" системы, что позволяет процессору не думать, что он работает с внешней памятью. Отсюда появляется возможность понавесить там туеву хучу оперативки и не заморачиваться с её выделением. Соответственно и какой-никакой бизибокс поставить, с менеджером памяти, планировщиком и куртизанками.>>307112>ответ, у которого в начале прописана длина входящих данных, может выпасть в любое время после инициализации.Я вот что тебе скажу про передачу данных. TCP/IP придуман давно и не зря, так же как и RS-232. Я это к чему веду: длина пакета ограничена и не может превышать некоторого значения (это из TCP/IP), а так же существуют методы уведомления вашего собеседника о готовности к принятию новых данных (это от RS-232). Таким образом, всё же известна некоторая максимальная длина пакета. Вот её и надо статически выделить и использовать.Тебе товарищ выше про фрагментацию кучи всё правильно сказал... Даже если ты программируешь в реальной "ПИсюковой" системе, за такими делами лучше следить.Касательно "над UART" системой обмена сообщениями: ты сам определяешь протокол, или кто-то его за тебя определил. Невозможно не ограничивать размер сообщения практически, только теоретически. Поэтому проблема высосана из пальца.Задавай вопросы, аргументируй, спорь, если не всё понятно, я буду рад тебе помочь, Бро! Люблю людей ДУМАЮЩИХ!
>у них уже имеется контроллер внешней памяти (а-ля твой MMU)Ты все перепутал.1) У STM32 (и других) контроллер внешней памяти есть почти во всех сериях, но только для многоногих (от 100 выводов) корпусов. Только со SDRAM они работают начиная с F4, но ничего не мешает приделать PSRAM хоть к стоногому STM32F103 и запускать там uclinux.2) MMU не имеет никакого отношения к контроллеру внешней памяти. Это для организации виртуальной памяти, без которой нормальный линукс не работает. Почитай хотя бы википедию.3) Хотя через контроллер внешней статической памяти можно цеплять память, чаще его используют для взаимодействия с периферией, например с дисплеем или ПЛИС.
>>307213Сюда >>307166
>>307166Отвечающее устройство - стороннего производства. RTS/CTS у него при должном подходе заводится, так что подумаю, как это можно использовать если вышестоящие согласятся использовать в проектах более чем 3 ноги, конечно, это разом решит чуть ли не половину проблем.Тут даже не в длине дело. При большом желании девайс может засрать всю память мк и не пукнуть. Я бы с радостью не использовал аллокейт, но в моих знаниях дыра, а аллокейт предоставляет довольно простой метод выдачи массивов под строки без возни с десятком указателей за присест. Если выделить статику под 5 строк максимальной длины - выйдет 10кб памяти, которая будет пустовать большую часть времени, при этом под случай с выдачей 20 относительно коротких строк он на подходит. Если же готовиться к 20 строкам - это, простите, уже 40 килобайт просранного места, к тому же, столько не будет в мк. Можно, конечно, парсить прямо в FIFO-буфере, отдавая указатели сторонним функциям, но тогда придется следить, чтоб сверху чего не прилетело. Так что я дунно, подвязываешь в одном месте - коптишь в другом. Пара советов были бы хороши, конечно.
>>307264>Если выделить статику под 5 строк максимальной длины - выйдет 10кб памятиНичоси! Это до 2048 символов в каждой строке??? С трудом представляю нахера такое кому-то надо (и, самое главное, нахера так убого сделано).
>>307315Вот поэтому я все больше склоняюсь к применению управления потоком.
>>307318>я все больше склоняюсь к применению управления потокомНо вот что я тебе скажу. Скорость по UART вероятно небольшая, и тебе, вероятно, надо не всю строку? Если так -- можно DMA и кольцевой буфер с обработкой по мере заполнения, либо вообще налету обрабатывать прерываниями, но это не так красиво.
Всем здравия! Вопрос такой: кто-нибудь делал временную синхронизацию с помощью GPS приемника и Raspberry? То есть используя сообщения NMEA и интерфейс PPS. Суть в том, что я не смог найти информацию будет ли данная синхронизация (например с помощью ntpd) мешать записи самих сырых данных с приемника с помощью например RTKLIB?
>>307710Если в Raspberry есть два UART, то почему бы не соединить их входы вместе? Если UART один, то наверное можно через socat, но это вопрос наверное для /s/.
>>307712Там просто от приемника идет только один USB провод. Слушай, что-то я совсем туплю сегодня. Можно же обычный разветвитель поставить. Приказать ntpd использовать данные с USB1, а через разветвитель подавать сигналы приемника на USB2 и с него записывать на флеш-накопитель. Пф.. Что-то совсем от постоянного переедания мозги не работают. Спасибо анон.
Приветствую Армчан!)Чуть разобрался с таймерами STM32F030F4, pwm работает, но хочется большего. Можно без участия ядра застабилизировать частоту вращения допустим кулера получая от него период вращения с тахометра (1 или 2 имп на оборот) ? И если да, то усложнить - когда на переключении тахометра по фронтам и спадам висит борода?
>>308480>без участия ядра застабилизировать частоту вращения допустим кулераНет. Допустим один таймер в режиме ШИМ-выход формирует заполнение для питания, а другой в режиме PWM-input или CC-input, замеряет период вращения. То процессор, всё равно должен читать со входного таймера и корректировать выходной. Можно оптимизировать, обрабатывая это дело в прерывании по Update, а RepetitionCounter сделать таким, как вздумается, чтобы Update происходил не каждый Reset...
>>187056 (OP)Парни, через сколько лет изучения ARM можно начинать подключать дисплей к stm32f429?
>>308571Подключил дисплей спустя три дня ебли на ассемблере. Забил хуй и пошел учить Си.
>>308499понял... не критично пока, но думалдля саморазвития покопать
>>308572>спустя три дня ебли на ассемблере.до этого ассемблерный институт закончил?
>>308681Из ассемблерного садика сбежал в ассемблерный монастырь, постигать суть величия ассемблера.
Интересные вопросы в тред: я у мамы нищеброд, но мне нужен один из топовых чипов stm32, с частотами не ниже 200 мгц. как можно сэкономить?
>>308712заказать у китайцевМК F4 (180 МГц): 10-15$отладочные платы с МК F4 (180 МГц): 27-37$МК F7 (216 МГц): 14$ и больше, если получится найти поштучные лотыотладочные платы с МК F7 (216 МГц): 26 и 38$ это 2 самые дешевые (платы для мультикоптера с барометром и еще всякими приблудами на них)
>>308727а самая дешевая отладочная плата с приличным F7 без всяких дисплеев и прочего стоит 42$+https://ru.aliexpress.com/item/Spot-NUCLEO-F767ZI-Nucleo-development-board-STM32F7-series-development-board-new-original-ST/32788206872.html
>>308571Совсем больной...Со стороны контроллера тебе понадобится в зависимости от интерфейса дисплея GPIO с таймером / i2c / FSMC или как там его, LED модуль есть какой-то на старших чипах.Главное - очень внимательно прочитать доку на дисплей, особенно пример конфигурации. По опыту, большая часть проблем - от криво прочитанного описания интерфейса. Перепутана модель, подтип 8080, неправильное питание - вот это все.
>>308727чет дорого, тут вон на алике https://ru.aliexpress.com/item/STM32-Core-Board-Core746I-for-STM32F746IGT6-JTAG-SWD-programming-debugging-interface/32610058702.html?spm=a2g0v.search0104.3.79.8IjgPh&ws_ab_test=searchweb0_0,searchweb201602_2_10152_10151_10065_10344_10068_10342_10343_10340_10341_10543_10084_10083_10307_10301_10059_10314_10534_100031_10604_10103_10607_10606_10142_10125,searchweb201603_25,ppcSwitch_5&algo_expid=e4b23eaf-773f-4ee6-89f6-906208961d4e-15&algo_pvid=e4b23eaf-773f-4ee6-89f6-906208961d4e&priceBeautifyAB=0 есть и за 1.5 или в чем-то подвох?
>>308765К такой плате надо отдельно отладчик покупать. А вообще правильно говорили про нуклео, за примерно 2,2к берешь почти топовый камень без лишней обвязки, только кварц, сетка и юсб.
>>308767Когда-нибудь отдельный отладчик все равно понадобится, а пользоваться отломанным от той платы ст-линком без корпуса по моему неудобно. Тем более китайский J-Link стоит недорого и поддерживает не только стм.>>308765Там шаг между выводами вроде бы 2 мм, а не 2,54 — очень неудобно будет.
Использую под линупсом arm-none-eabi и openocd. GDB выполняет step/next хуеву тьму времени (несколько секунд иногда), при этом в IAR такой хуйни на том же камне с тем же отладчиком не наблюдал. Если в gdb ставить брейк на следующую строку или просто переходить к строке с указанным номером (> u 42 например), то выполняется быстро. Ещё при step или next я вижу как openocd выводит значение PC при его каждом изменении. Гуглить не помогло, нашел только на форуме без ответа тред с такой же проблемой. Что я делаю не так, как ускорить отладку? Заёбывает ждать по полчаса.
>>309046Попробуй J-Link GDB server, у меня нормально работает, правда под виндой. Лет пять назад я пытался пользоваться openocd с эклипсом под виндой - тоже все тормозило.Возможно неплохим вариантом будет https://www.segger.com/products/development-tools/ozone-j-link-debugger/
сап, раданы, такой вопрос, удалось организовать обмен данными между ПК и stm32 посредством создания виртуального последовательного порта на базе USB (USB CDC Virtual com port). Какой самый простой способ организовать такой же обмен данными, но на базе ethernet, т.е. по витой паре? В дальнейшем допились обработчик и делать что-то при получении каких то команд.Плата Nucleo-F767ZI, rj45 на борту.
>>309284Самый простой способ это слать фреймы с собственным произвольным форматом. На компе для приема/передачи таких пакетов можно использовать pcap.
>>309284Для начала тебе понадобиться сетевой стек.Под контроллеры довольно популярные uip и lwip.lwip мне нравится больше, под него есть годная документация и примеры, а также форум с баг-трекером и вопросами, очень выручал в свое время.Также у ST есть апноты с использованием lwip в разных режимах, типа TCP-серврер, TFTP и т.д.Если хочешь обмениваться простыми сообщениями с ПК, то на контроллере подними TCP-сервер, на ПК сделай клиент на удобном ЯПе, подключайся к контроллеру и шли на него свои пакеты.Сразу хочу предупредить про алгоритм Нейгла. Это такая штука, которая повышает КПД работы сети. Для этого она ждет пока накопится некоторое количество данных на передачу и только потом передает. То есть если твои пакеты будут мелкого размера, то они:а) не будут отправляться сразу;б) когда отправятся, они будут склеены в один большой пакет.Поэтому иногда его надо будет вырубать.
>>309296спасибо, пошукаю в эту сторону
>>309303Значит таки сервер поднять придется, хорошо, и да, я тоже смотрел в сторону LWIP. Отдельное спасибо за напоминания алгоритма Нейгла, для моих задач как раз принципиальна моментальная реакция МК на получаемые с ПК команд. Команды как правило не более 20 символов.Мог бы ты анончик, написать мне в телегу @krounis, дабы я не плодил треды и вопросы в дальнейшем?
>>309315Для таких требований, кстати, лучше подходит USB hid. У него в отличие от CDC гарантированное время отклика, т.к. он работает на interrupt фреймах, при размере пакета от 32 байт - на USB fs
>>309315Сорян, у меня нет телеги.Насчет Нейгла - это просто мой вьетнамский флешбек.
>>309327так блять кто сказал алгоритм Нейгла? это ёбаная хуета кототорую нужно постоянно отключать опцией nodelay? Нахуй это нужно применительно к микроконтролерам?
>>309324согласен, но мне нужна передача именно по витой паре, т.к. пк и устройство на мк может находиться достаточно далеко друг от друга, USB такую длину не выдержит
>>309327а на мыло напишешь?) [email protected]
>>309376RS485
>>309382USART надо использовать для организации связи по интерфейсу RS485?
>>309383UART-a хватит
>>309382ТЗ обязывает организовать связь именно по сети
>>308765> в чем-то подвох?«2.0mm header pitch» Заебёшься искать подходящие ответные разъёмы. Плюс вставлять/вытаскивать их надо аккуратно — из-за трения оно получается очень тугое и можно легко ножки погнуть.Мимовладелец похожих платок от WaveShare
Есть Orange pi zero на armbian, я к нему прицепил дисплей на чипе ili9325, инициализировал и в терминальном режиме все работает как надо. Но мне нужно выводить на него изображения. Можно использовать утилиту fbi:sudo fbi -d /dev/fb8 -T 1 -noverbose -a 1-img.jpgА можно писать во фреймбуфер напрямую:tail --bytes 153600 img.565 > /dev/fb8только картинка должна быть 16-битной и в формате RGB565.Но с цветами какая-то проблема, будто половина их съедается. Может проблема в битности, никто не знает?Второй пик для сравнения с оригиналом.
>>305872А что насчёт libopencm3? Выглядит на первый взгляд неплохо -- нет монструозных обработчиков с опросами регистров, кучи обёрток и прочих прелестей hal'а, там вроде даже и обработчики прерываний самому писать придётся. Но при этом функций для работы с периферией достаточно. Чем-то на spl старый похоже, по-моему. Мне пока не доводилось использовать.
>>309768Может быть, нужно проверь другие варианты (например, 555)
Почему передача по spi/qspi (на остальных не проверял) может завершиться с ошибкой dma, если код исполняется из sram? То же самое из внутренней флешки работает, а если линковать на ram, копировать туда при старте и исполняться оттуда, то в какой-то момент hal дёргает errorCallback, а в коде ошибки стоит ошибка dma. В документации ничего такого не нашёл касательно использования dma при выполнении из оперативки, что я не так делаю? Проц stm32f7.
>>187056 (OP)Начал ваять ЙОБУ на стм32а429 и ожидаемо обосрался. Подрубил SDRAM, LCD RGB666, собрался подрубать Ethernet, а тут вылезли конфликты пинов. Даже в RMII-режиме TX_EN либо конфликтует с В3-дисплея, либо с шиной данных SDRAM. Шо делать-тоооо?
>>309808>Шо делать-тоооо? Пробуй разрешить конфликты, используй STM32CubeMX. Если не удаётся разрешить в выбранном корпусе -- бери корпус с бОльшим количеством ног.
>>309818>с бОльшим количеством ног. Уже допер. 429ZIT уже лежит в коробке, а с большими ногами покупать надо. Захуярю пробу без Ethernet, подрублю ESP для сети. Следующую полоумную избу буду делать на более многоногом.
Аноны, кто-нибудь использует плюсы на микроконтроллерах? Почему-то часто слышал, что это не тру и вообще смерть мерзкая от них, а тут наткнулся на статью на embedded.com, там автор поясняет, что плюсов от плюсов больше, чем минусов, и вообще большую часть минусов можно обойти.
>>309822Благодаря ардуино, плюсы нынче - самый популярный язык для мк, лол.
>>309826Эка я отстал от жизни, на армы тоже распространяется?
>>309822Основная проблема плюсов на мк - менеджмент кучи. А для этого хочется иметь мму и операционную систему.
>>309827Да, ты и впрямь из криокамеры.Гугли stm32 arduino.
ST для части своих железок предоставляет X-CUBE-* пакеты; их принципиально возможно подцепить к STMCubeMX (чтобы хотя бы Middlewares можно было галкой включать) или все нужно руками рассовывать по проекту?
>>309838Да я просто сидел на пропёрженной кафедре и писал простое говно под совсем простые мк, а сейчас ушёл в другое место, а тут и железки другие, и задачи другие, а я блять как только что с пальмы слез.
>>187056 (OP)Снова мудило с полоумной избой выходит на связь. Нашел два стула:1. 180Махов, 176 пинов, 2Мб флеша2. 216Махов, 208 пинов, но с 1Мб флеш?
>>309909>Нашел два стулаДа поставь ты ему внешнюю память уже, если тебя она напрягает...
>>309909Не забудь про периферию, чтоб было нормальное колличество таймеров (хотя бы больше 8) и всего остального что тебе нужно.
>>309909>176 пинов>208 пиновНахуя? Вы чо тут, ебанулись?мимоардуинщик_хватает_пинов_на_всё
>>310002>Нахуя? Вы чо тут, ебанулись?Не всё можно делать софтверно в определённых условиях, мой юный друг!
>>309990Нашел третий: 400Мгц, 2Мб, 176 пинов. Думаю это то что надо для моей йобы.
>>310016Охуеть, а расскажи, зачем тебе такая частота для избы? Ты там распознавание образов делать собираешься что ли?
>>310042>тебе такая частота для избы?RTOS шоб быстрый был. Есть еще материнка древнего промкомпа с РС/104, думаю может не ебать моск и на нем собрать. Спаять только дочерние платки, изучить х86 ASM + С++ и ну его нахуй эти контроллеры.
>>310045Тебе для умного дома вайфик или блутус не нужен будет? Наверняка нужен будет. Почему не выбрал esp какой-нибудь новый? Там вроде весьма мощный камень, памяти на борту достаточно и прямо в чипе wifi и Bluetooth трансиверы. В библиотеках стек протоколов реализован даже, только там закрыто всё, как я понял.
>>310046>Там вроде весьма мощный каменьМне нужен LCD-контроллер для управления 7" дисплеем + тачскрином. Вайфик и блютус даром не надь. Мне его главное к свитчу домовой сети подрубить.
Сап, Анон, есть ESP8266Нужно прицепить к нему 3 rgb светодиода, без внешнего блока питания. Напряжение максимум 5V (вообще 3,7 от аккумулятора, ну да пофиг, плата под всё это будет напечатана, но не сильно больше esp по размерам. Так что контроллерами напряжения можно обмазаться). Какие светодиоды брать и как подключать?
Анон, срочно. Я прошу прощения, что забиваю тред таким мусором, просто обстоятельства на меня давят как стенки влагалища на головку младенца. Нужно сделать себе на коленке примитивный девайс, который будет играть роль ответной части при общении по эзернету через udp. То есть, я этот девайс подключаю к пекарне и оно может коннектиться и читать/писать в udp сокеты.Заскочил в магаз, взял NUCLEO-F746ZG. Я мог бы это сделать на ПЛИС, ибо есть какой-то милипиздрический опыт работы с LwIP под микроблейзом. Но разница в цене в 10+ раз.В общем, сейчас у меня есть F746ZG и ноут с xubuntu. Все это люто интересно, но сейчас просто нету времени на эксперементы. Какой путь наикратчайший?
>>310278>примитивный девайсАрдуино? ESPxxx? Всяко проще, чем с голым армом ебаться.
Привет, аноны. Я тут пытаюсь подключить дисплей с параллельным интерфейсом к Orange Pi. Но что-то мануалов я не нашел. Реально ли написать драйвер для дисплея самому? В электронике не сильно понимаю, поэтому задаю такие вопросы. На пике распиновка дисплея, достаточно ли будет задействовать 8 пинов зеленого цвета и clk (питание и земля учитываетс, само собой) чтобы залить экран зеленым цветом с помощью небольшой программы на c?
>>310436>достаточно ли будет NYET. Нужно будет задействовать цвета в режимах RGB 888 или 666 или 565, Vsync, Hsync, DOT_Clock, DE. Для попроще купи дисплей со встроенным контроллером.
>>310452Есть дисплей на ili9325, он работает хорошо потому что под него были драйвера fbtft, но он маленький. Купил этот, думал раз интерфейс DPI, то он проще должен быть чем SPI. Но тут я обосрался.Я вообще думал что чтобы закрасить экран одним цветом, зеленым например, нужно на пины G отправить единицы, на R и B нули. Отправить кратковременную единицу на CLK и в этот момент данные с пинов цветов должны считаться и закрасить первый пиксель в зеленый цвет. А потом просто повторить эту операцию 480x272 раз.Я совсем далек от истины, да?
>>310453> да?Да. Там идет последовательность считывания данных с RGB. Типа для 565 R3 R4 R5 R6 R7 G2 G3 G4.... ну ты понел. Плюс еще сколько-то строк пропускается сверху и снизу, и сколько-то пикселей пропускается справа и слева от кадра. Короче нужно читать даташит на дисплей. Я кстати такой-же жду, буду подрубать к STM32F429IIT. Там проще.
>>310455Понятненько. Ну ладно, спасибо за разъяснения.
>>309303где взять документацию и примеры использования lwip? и вообще как его юзать
>>310656>где взять документациюНа официальном сайте вестимо.https://savannah.nongnu.org/projects/lwip/
>>310656А тута примеры использования с стм32http://www.st.com/content/ccc/resource/technical/document/application_note/fd/5d/64/cf/7c/38/4c/30/DM00036052.pdf/files/DM00036052.pdf/jcr:content/translations/en.DM00036052.pdf
Насоветуйте статей с рекомендациями и примерами использования концепций ООП в микроконтроллерах.
>>310966Изучи ардуино библиотеки, там встречается много ооп, на крестах. А вообще, ооп на мк - зло, код раздувается и жрет много флеша, хотя в случае с стм32 - похуй, там и так флеша десятки-сотни кб, а то и несколько мб.
>>310966Какие именно концепции ООП ты имеешь в виду?И какие микроконтроллеры?Маленькие или большие? Если маленькие, то лучше C.Алсо, полезно понимать, что "использование объектов и подходов ООП" != "ООП и кресты".ООП можно делать на любом языке абсолютно.Просто некоторые для этого больше подходят.Алсо, поинтересуйся, почему ядро Linux это очень большая и сложная программа написано на C. И что сказал Линус Торвальдс, когда кто-то предложил ему делать это на крестах.
>>310972>Алсо, поинтересуйся, почему ядро Linux это очень большая и сложная программа написано на C.Потому что кривое говно, с насранной поверх него плеядой катях поменьше. Когда 15 лет стабильно ноудрайверс нихуя не работает и нужно танцы с бубном - это диагноз.> И что сказал Линус Торвальдс, когда кто-то предложил ему делать это на крестах.Это когда ему про гит писали? Включил свой пердак в режим максимального форсажа, как обычно.
>>310975> овер 25 лет*
>>310972>ООП можно делать на любом языке абсолютно.Можно, но зачем изобретать велосипед? Хочешь ООП - бери язык с готовыми конструкциями под это. Ведь у ООП вся суть - готовая высокоуровневость. И да, ООП имеет смысл, если разрабатываешь какую-нить RTOS под жирный мк с периферией, а под мелочевку (8 битные мк и иже с ними) это во многих случаях нерациональный подход.
>>310975Да, про Git, я перепутал, думал, что про ядро.On Wed, 5 Sep 2007, Dmitry Kakurin wrote:> > When I first looked at Git source code two things struck me as odd:> 1. Pure C as opposed to C++. No idea why. Please don't talk about portability,> it's BS.YOU are full of bullshit.C++ is a horrible language. It's made more horrible by the fact that a lot of substandard programmers use it, to the point where it's much much easier to generate total and utter crap with it. Quite frankly, even if the choice of C were to do nothing but keep the C++ programmers out, that in itself would be a huge reason to use C.Лолище, просто.Ты, кстати, не Дмитрий Какурин?
>>310978>у ООП вся суть - готовая высокоуровневостьСпешите видеть. Битоёбы рассуждают о высокоуровневости.>ООП имеет смысл, если разрабатываешь какую-нить RTOS под жирный мк с перифериейRTOS и ООП, пиздец ты бредишь. Скорее ты хотел сказать, что без ОС нет смысла в ООП, ибо память туда сюда шатать надо, а для этого нужен контроллер пожирнее.>под мелочевку (8 битные мк и иже с ними) это во многих случаях нерациональный подходКак правило архитектура (разрядность, ага), объём ОЗУ, тактовая частота определяют применимость нормальной ОС и С++.
>>310972> Какие именно концепции ООП ты имеешь в виду?Ну в основном к микроконтроллерам наверно применимо просто грамотное структурирование данных и функций для работы с ними или типа того, всё остальное уже, я думаю, второстепенно.>И какие микроконтроллеры?STM32 everywhere от f2 и до весьма жирного f7.>"использование объектов и подходов ООП" != "ООП и кресты"Так я же специально написал про концепции ООП, а не про c++ на микроконтроллерах и использование всей парадигмы целиком.>>310994>Скорее ты хотел сказать, что без ОС нет смысла в ООП, ибо память туда сюда шатать надоАллокаторов отдельно от ртос не существует разве?>архитектура (разрядность, ага), объём ОЗУ, тактовая частота определяют применимость нормальной ОС и С++Насчет ос согласен, а плюсы можно использовать частично и обходить проблемы с динамическим выделением памяти. Во многом же реализация одного и того же на C и на плюсах после компиляции не сильно будет отличаться в объёме и в скорости выполнения. Но есть, конечно, и прямо противоположные вещи.
>>310966>>311000Вот книжка про ООП в Си:https://www.cs.rit.edu/~ats/books/ooc.pdfВот на быдлохабре пишут:https://habrahabr.ru/post/263547/Можно ещё погуглить "oop in c"
>>311005Неплохо, спасибо. Надо почитать. Но вот меня это интересует еще в контексте микроконтроллеров. Стоит ли, и, если стоит, то как правильно описывать работу с внешней периферией структурами, пытаясь максимально абстрагировать один слой от другого? Прихожу к выводу, что чем универсальнее код, тем он становится больше, сложнее и неповоротливее, зато куда проще в конечном использовании на уровне уже самого приложения, так сказать, но со своими минусами, разумеется. Где-то ведь должна быть золотая середина?
>>311036Я дроблю так:- хедер с макросами для дрыгания логическими сигналами в контексте схемы электрической принципиальной, типа PWR5V_ON, PWR5V_OFF- модуль с функциями конфигурации профилей IO, например настройка шин I2C, конфигурации аналогового тракта. Тут же обязательно функция начальной инициализации всех IO- набор модулей - протоколов. Например, 1wire, i2c (ненавижу ST-шный модуль, юзаю ногодрыг)- набор модулей для работы с перифеийными микросхемами. Типа контроллер батареи, флешка, акселерометр и т.д.- функциональные модули, соответствующие режимам работы прибора- архитектурные модули - тут уже в концепции ОС или твой циклы со свитчами
>>310239Вам в ардуино тред, молодой человек
>>311138Ну и я примерно также стараюсь разбивать код в проекте. Но вот если с интерфейсами типа uart или spi более-менее всё понятно, то как написать универсальную структуру/класс для использования таймера? Чтобы и шим, и всё остальное было. Или нет смысла писать универсально, и отдельно описывать структуру для, например, шим, отдельно для чего-то ещё?Алсо, вот если я на C пишу структуру, то тут всё понятно - в ней вместо некоторых методов будут указатели на функции, которые я буду подставлять уже в зависимости от реализации. Ну, например, для spi я в отдельных модулях пишу функцию, которая дрыгает нужным пином для CS, а сам модуль, в котором описана инициализация и остальная работа с spi про эти пины ничего не знает. Как быть в C++? Запихивать конкретные пины в реализацию класса явно плохая идея, а оставлять вместо методов указатели вроде как нарушает принцип инкапсуляции, если я правильно понимаю.
>>311397Тебе же сказали, смотри ардуино-либы. Найдешь ответы на все свои вопросы.
>>311397>Запихивать конкретные пины в реализацию класса явно плохая идея, а оставлять вместо методов указатели вроде как нарушает принцип инкапсуляции, если я правильно понимаю.Не надо указатели в данном случае.Это вообще хуета будет, а не ООП.Надо либо полиморфные методы, либо конфигурировать экземпляр класса перед использованием (в конструкторе или factory-методе или в builder'е).Либо применить паттерн "Template Method" (метод, использующий абстрактные методы данного класса, которые будут реализованы в производных классах).Либо ещё как-то.Алсо, мне вот этот вот момент:>Ну, например, для spi я в отдельных модулях пишу функцию, которая дрыгает нужным пином для CS, а сам модуль, в котором описана инициализация и остальная работа с spi про эти пины ничего не знает.кажется каким-то подозрительным. Можно пример?Не надо полный код, дай интерфейс, в общих чертах.Я бы, например, предложил сделать два класса:SpIDevice(piny, huiny) и SpiController(new SpiDevice(...)).Т.е. ты абстрагируешь пины-хуины в SpIDevice и передаёшь его (уже сконфигурированным) для использования в контроллер, который его и юзает, ничего не зная о пинах, и дёргая его "среднеуровневые" методы.Т.е. Application --uses--> SpiController --uses--> SpiDevice --uses--> [hardware]Алсо - нормальное ООП это не какие-то охуенные универсальные объекты, а наоборот - система хорошо структурированных специализированных объектов, использующих друг друга. Всё собирается как из кубиков, в том виде, в каком тебе надо в данном приложении.Это называется агрегация или композиция (это несколько разные вещи). И интерфейсы отдельно, а реализации - отдельно. Дальше - ты делаешь, например, серию factory-методов в каком-то классе, которые тебе возвращают один и тот же интерфейс, но с разными реализациями. Напр. ITimer с методами start() и onTick(...) и реализации YobaTimer, SukaTimer etc. А твой основной код юзает ITimer, и ему похуй на реализацию.Алсо - делегирование очень полезный приём. Я бы сказал, один из основных. Погугли.Это если тебе надо обернуть чужой класс (закрытый, ты не можешь его переписать) или несколько классов в свой интерфейс.Короче, сначала задрачивай ООП как таковое, базовые концепции, а не в применении к контроллерам. К контроллерам оно само потом применится.В качестве языка для подходов ООП как такового лучше всего использовать Java и материалы по ООП на Java.Алсо, попробуй найди книжку "Объектно-ориентированный анализ и проектирование" Грейди Буча (это патриарх ООП).Это старая книжка, середины 90-х. Очень толковая книга и примеры там на C++. И в качестве предметной области, как раз, используется управление всякой фигнёй типа теплиц или лифтов. Не смотря на то, что книга старая, она весьма годная, т.к. рассказывает о подходах а не о кодировании.Есть ещё новая книжка с таким названием, продаётся сейчас. Но, там другой автор и я её не читал.
>>311397Вот, кстати, книжка:http://vmk.ugatu.ac.ru/book/buch/index.htm
>>311407Я посмотрю обязательно, но хотелось бы больше инфы собрать. Они действительно годно написаны по сравнению с hal от stm? У них вот тоже была попытка заключить всё в структуры, но вышло довольно хуёвенько как с точки зрения самих структур, так и с точки зрения реализации работы с периферией.>>311412> конфигурировать экземпляр класса перед использованиемТы имеешь в виду непосредственно в реализации класса это задавать?> метод, использующий абстрактные методы данного класса, которые будут реализованы в производных классахДумал над этим, но тоже странно получается - ты описываешь работу с spi, но для spi1 у тебя один класс-наследник, для spi2 - другой, так?> Можно пример?Ну наверно как-то так: https://pastebin.com/S5cbr2bjВ таком случае получается нарушение инкапсуляции, но с другой стороны модуль не знает ничего про пины. С пинами пример не удачный, всё-таки, потому что пин можно передать в структуру. Ещё там нужен какой-то коллбек для сигнализации окончания передачи или ошибки, который уже может быть абсолютно разным в зависимости от наличия ОС и её реализации, вот как это организовать по-другому мне не понятно.> абстрагируешь пины-хуины в SpIDevice и передаёшь его (уже сконфигурированным) для использования в контроллерНу, в принципе, можно их и объединить в один метод, один хуй spi связан неразрывно с CS, просто тогда эти пины будут храниться где-то в структуре самой, передаваться в виде аргументов в функцию инициализации, а знать про то, какие пины для этого используются, получается, будет уровень выше, который уже непосредственно с внешней периферией работает. Но это тоже странно выглядит, потому что чисто теоретически этому модулю вообще должно быть похрену по какому он интерфейсу подключен и вся эта кухня.> Всё собирается как из кубиков, в том виде, в каком тебе надо в данном приложении.Похоже, в этом и проблема, потому что у меня сложилось представление, что суть ООП в том, чтобы абстрагировать вещи друг от друга, но при этом написать их максимально гибкими и универсальными. То есть, на тот же таймер один класс как для измерения времени, так для периодических прерываний, так и для шим. Но когда я попытался продумать интерфейс, у меня закипела башка, потому что получается слишком сложно и дохуя всего. Выходит, лучше для каждого сценария использования лучше писать отдельную реализацию?> Есть ещё новая книжка с таким названием, продаётся сейчас. Но, там другой автор и я её не читал.Спасибо за совет, лучше возьмусь за неё, потому что плюсы и реализацию ооп в них я хотя бы немного знаю, а java видел одним глазом. На либгене нашёл аж три издания этой книги, и последнее 2008 года, но там помимо Буча есть другой автор. Второе лучше взять тогда?
Про ООП вообще:>суть ООП в том, чтобы абстрагировать вещи друг от друга, но при этом написать их максимально гибкими и универсальными.Нет. То, о чём ты пишешь, это, скорее, принципиальный подход к программированию вообще. А ООП - это способ реализации - того или иного подхода.Так вот, такой подход (писать один универсальный класс/функцию/метод/структуру) - хуёвый и затратный. Так лучше не делать. И начинающих специально учат не валить всё в одну кучу, а разбивать большие функции на более мелкие, например.Более того - ООП, как раз, и включает в себя инструменты, облегчающие написания узко-специализированного кода, но, без присущего использованию такого кода геморроя. Это - интерфейсы, наследование и полиморфизм.Т.е. ты пишешь _разные_ реализации, которые _ведут_себя_ одинаково. И это поведеие описано в интерфейсе или абстрактном классе. Более того, вся эта магия может быть спрятана в библиотеке, и снаружи это выглядит как некая универсальная вещь. Но, внутри будет куча специализированных объектов. Смотри исходники.Если в двух словах - движок (рантайм) ООП незаметно жонглирует указателями на функции и структуры, создавая у тебя иллюзию, что всё работает само, что есть какие-то "объекты" и прочее, в этом смысл ООП.Ещё надо сказать, что "ООП" тоже бывает очень разное.Раньше, в 90-е, был популярен подход "наследования". Использовалось множественное наследование (один класс наследует нескольким). Но, множественное наследование - зло (погугли, diamond problem etc). И когда появилась Java, то там специально отказались от него. Т.е. Java-класс может наследовать только одному классу, но, при этом, реализовывать несколько интерфейсов. Интерфейс в Java - это чистая абстракция поведения, без реализации. Вся реализация - в производных классах. Это сложнее писать, но, нет проблем, присущих множественному наследованию. Для упрощения используют делегирование - подход, облегчающий написание поддержки одним классом нескольких интерфейсов. Общий функционал выносят в отдельные классы, затем из внешних методов (реализующих интерфейс) дёргают внутренние экземпляры этих классов (делегируют им выполнение работы).Так вот, классы-монстры, множественное наследование и т.п. - это подход 90-х.Сейчас мир стал гораздо более сложным и быстро меняющимся, и писать один класс на все случаи жизни - это больше не работает. Просто невозможно стало так писать.Сейчас - стараются писать "на интерфейсах" - чтобы можно было менять конкретные реализации, не трогая остальной код. Используют кучу мелких классов, работающих как кубики лего. Стараются, по возможности, делать методы "чистыми функциями" - без побочных эффектов. И т.д. Ключевые слова - "маленький", "лёгкий", "быстрый", "подвижный", "гибкий" и т.п. И при этом - используют несколько слоёв (уровней) абстракций. Т.е. код растёт не в "ширину", а в "глубину", как-то так.Это и даёт универсальность, но это немножко не та универсальность о которой говоришь ты.Ты, насколько я понял, сишник? И плюсы не знаешь?Я бы, всё же, посоветовал (именно для тренировки) взять не C++, а Python, например. Не на голом контроллере, а на пк или на Raspberry Pi. Питон, по сути, это такой Си, но с ООП и динамический.И идеально интегрируется с сишными либами, специально для этого и задуман. Ты сможешь сам легко писать биндинги к нужным тебе либам, если их ещё нет.На контроллерах есть MicroPython, но, в продакшн его не используют, ибо сыроват, хотя х.з., может и начали уже.А в плюсах - высокий порог вхождения. И придётся бодаться с кучей вещей, не имеющих отношения к ООП.
>>311529Пример использования ООП для ввода-вывода (Java):Допустим, нам нужно читать текстовые (символьные) данные из разных источников.Например, с целью подсчёта количества символов.Источники - файл, строка в памяти, массив байтов, последовательный порт.В Java используется такая абстракция как Reader (абстрактный класс - с частичной реализацией).И есть её реализации - FileReader, StringReader, InputStreamReader и т.д.В программе есть метод calcSymCount(Reader reader).Как это работает (упрощённо)://Из строки:int cnt = calcSymCount(new StringReader(myString));//Из файла:int cnt = calcSymCount(new FileReader(new File(path)));//Из массива байтов:int cnt = calcSymCount(new InputStreamReader(new ByteArrayInputStream(bytes), "utf-8"));//Из порта:SerialPort com = portId.open(...);int cnt = calcSymCount(new InputStreamReader(com.getInputStream()));Теперь, допустим, нам понадобилась буферизация.Мы просто оборачиваем объект reader в BufferedReader и всё:int cnt = calcSymCount(new BufferedReader(new FileReader(new File(path))));Для вывода данных - ровно то же самое, просто слово Reader заменяем на Writer, а Input на Output, и всё.Попробуй представить, можно ли всё это сделать на каком-то одном универсальном классе?>То есть, на тот же таймер один класс как для измерения времени, так для периодических прерываний, так и для шим.Так не делают, это же совершенно разные вещи. Смысл именно в том, что ты абстрагируешься от железяки, и смотришь на неё или как на измеритель времени или как на шим-контроллер. И классы отражают эти точки зрения.Но, надо понимать, что ООП на контроллерах будет немножко не таким красивым, как на больших системах.Слишком много железной специфики, которая в больших системах абстрагирована в ос и драйверах.Соответственно, будет несколько коряво. И разбиение на компоненты надо делать несколько иначе и т.д.>для spi1 у тебя один класс-наследник, для spi2 другойЯ не работал с стм, но, если там разница не только в пинах и адресах, т.е. нельзя сконфигурировать, то да.Т.е. компоненты могут быть очень низкоуровневыми, и жёстко привязанными к конкретному контроллеру или семейству.И, стоит подумать, нужно ли классическое ООП на контроллерах вообще?ООП не единственный способ грамотно структурировать код, и не бесплатный.Если набить в гугол "embedded oop development", то по первым трём ссылкам советуют не делать этого, лол.Есть, правда, другие результаты - погугли.Это я к тому, что если реально надо высокоуровневость, то, может быть, просто использовать [микро]питон для скриптования сишных либ? Х.з., правда, как там с этим на STM.И, в любом случае, не стоит начинать с написания собственных библиотек. Надо сначала писать код, использующий чужие, потом - читать исходники чужих, потом - пытаться писать свои.
>>311529Вот, кстати, про MicroPython на STM32:https://www.edn.com/electronics-blogs/embedded-basics/4440447/Using-MicroPython-for-real-time-software-developmentЭто, оказывается, вообще референсная платформа для него, лол - PyBoard сделан на STM32.Если не устраивают готовые абстракции железа - пиши свои биндинги через C API.
>>311529>Ещё там нужен какой-то коллбек для сигнализации окончания передачи или ошибки, который уже может быть абсолютно разным в зависимости от наличия ОС и её реализации, вот как это организовать по-другому мне не понятно.Это называется EventListener. По сути, это и есть callback, только в виде экземпляра класса. У тебя есть интерфейс или абстрактный класс SpiEventListener с абстрактным методом или методами, по числу нужных событий. Например onSpiTransmitEnd(), onSpiError() etc. Реализация этих методов будет разной в разных производных классах.
>>311545>Ты, насколько я понял, сишник? И плюсы не знаешь?Под мк я только на C писал, на пк маленькие вспомогательные программки накидывал пару раз на плюсах, но в основном пользовался питоном. Но они были настолько маленькие и простые, что углубиться в ооп особо не удавалось - максимум я описывал один какой-нибудь класс для моего кастомного usb-устройства с методами для приёма-передачи данных по разным эндпоинтам и всё. Но по плюсам и питону я ещё пару книг вводных прочёл, так что кое-что знаю, но опыта почти нет, к сожалению.Под пеку не знаю, что писать, а вот на мк у меня есть пара задумок простеньких, которые я бы хотел реализовать постараться грамотно и неторопясь, а не быстрее-быстрее как получится, как обычно это на работе бывало.Хотя, bt, wifi и gps можно через uart подключить к пеке и также накидывать слой приложения так, чтобы низ от контроллера потом можно было прицепить.>MicroPythonСлышал про него, но показалось, что там либы под одну лишь плату их собственную. Побоялся, что не осилю хал переписывать под свой проц и свою железку (хотя, с процом более-менее повезло, у меня тоже f4). И я вообще не въехал как это работает, тем более не догнал как это всё потом отлаживать кроме как выводом в uart/cdc. Без дебаггера можно тоже, но это геморно по-моему.>>311554> Попробуй представить, можно ли всё это сделать на каком-то одном универсальном классе?Наверно, проблемно. Но вот calcSymCount получается как раз универсальным, потому что он может работать с разными объектами. Ладно, я, кажется, более-менее понял на организационном уровне.> абстрагируешься от железяки, и смотришь на неё или как на измеритель времени или как на шим-контроллерВыходит, класс в контексте периферии мк стоит рассматривать исключительно с точки зрения выполняемых им задач и при этом не обращать внимание на используемую аппаратную часть? То есть, если у меня есть универсальный какой-то йоба-блок, который может выполнять 10 разных функций, то лучше описать 10 разных классов (ну, возможно, с какими-то абстрактными, не важно) и не важно, что они один и тот же железный блок используют, но с разными параметрами инициализации?> Я не работал с стм, но, если там разница не только в пинах и адресах, т.е. нельзя сконфигурировать, то да.Не, там как раз суть в том, что разница только в адресах, пинах (cs так вообще софтварно можно дёргать, он тогда любым может быть) и прерывании в векторе.> Надо сначала писать код, использующий чужиеДля stm32 кроме их весьма корявых либ я находил только libopencm3, но там по-моему структурированию и концепциям ооп особо время не уделяли. Попробую по совету анона посмотреть код в либах для ардуино, но я железо в глаза не видел, не уверен, что не потрачу слишком много времени на то, чтобы разобраться в коде. А вот микропитон можно попробовать поковырять.
>>311791>лучше описать 10 разных классов Да, в этом и смысл.Насколько это затратно и т.д. - зависит от ситуации.>но там по-моему структурированию и концепциям ооп особо время не уделялиВозможно, это потому, что чем больше ООП, тем оно дороже выходит в смысле ресурсов и производительности. Ну, и написать элегантную либу - это дорого и долго. А эмбед слишком быстро меняется, и люди там работают немножко не те, которые ценят элегантное ооп.Алсо, в своё время видел сравнение быстродействия под виндой микрософтовских плюсовых либ и джавы (причём, той ещё джавы, начала нулевых). Оно было одинаковым. И нахуй эти плюсы?>Под пеку не знаю, что писатьЕсть Raspberry PI и подобное - там вполне себе нормальный питон под линуксом.Инфы куча.Про микропитон я почитал - он сырой ещё. И нормальную отладку ещё только пытаются запилить.Я ещё думал про это, и пришёл к выводу, что нормально под контроллеры писать можно только на си или на некотором подмножестве плюсов - как в Ардуино.Так что тот, кто советовал читать исходники ардуино либ, был прав.Ну, или уже под толстые контроллеры с линуксом - на чём хочешь.
Приветствую, господа. Хотелось бы изучить архитектуру ARM, программирование под нее и т.д, но не знаю с чего начать. В электронике и микроэлектронике тоже не силен, возможно начать стоит с этого. Можете предложить какие-нибудь книги или иные материалы по теме?
>>187056 (OP)Анон, начались пары по работе микропроцессоров в перемешку с программирование микроконтроллеров на С. Препод сказал, что разбираться будем с AVRовским. Подскажите минимальный набор деталей, чтобы вручную что-нибудь собрать.Пока в списке диоды, провода, программатор, atmega8a, датчики света, температуры и тд, макетная плата.
>>312149Joseph Yiu - Definitive guide to the to the ARM cortex M0 рекомендовали где-то.Еще есть Bertolotti, Ivan Cibrario Hu, Tingting - Embedded software development.Можно ещё выборочно почитать digital design and computer architecture.Но я первые две только листал, а последняя не совсем про мк, но выборочно почитать стоит точно, чтобы понять, как устроено и как работает простейшее ядро проца.>>312163Если не хочешь мудиться с usb-cdc, то советую ещё прикупить usb-uart на ft232. На али 250 рублей стоит, но при отладке бывает очень полезен в случаях, когда просто взять и поставить брейкпоинт нельзя. Есть bt/wifi/nfc модули, работающие на at-командах по уарту, если хочешь запилить беспроводную йобу.Вообще, смотря что ты хочешь собрать. Можно и набор адресуемых светодиодов закупить и остановиться на этом. А дальше пилить какую-нибудь подсветку для задней стенки монитора/светомузыку.
>>311813> И нахуй эти плюсы?На ПК? Уже полно альтернатив на любой вкус и цвет, да, но тем не менее язык один из самых популярных до сих пор. А вот под мк кроме сырого micropython, javascript, закрытой java embedded, которую, как я понял, хуй получишь, кроме C и C++ ничего не остаётся больше. Может, именно в плюсах и смысла нет, потому что в контексте мк C++ - это C с классами, но я вроде изначально просто про концепции спрашивал, которые можно реализовывать на обоих языках.> Есть Raspberry PI и подобное - там вполне себе нормальный питон под линуксом.Из пушки по воробьям. Собрать макет - годится, но дальше уже нет (а тем более смысл собирать макет на питоне, если потом пилить то же самое на C/C++), тем более для устройства, работающего от батареи, а не от сети, точно не пойдёт. Ну и у пирога есть одна большая проблема - он быстро убьёт карточку, поэтому для начала придётся его пердолить, чтобы на карту записи почти не производилось во время работы. Да, статьи есть на эту тему, но желания обмазываться пока нет.> толстые контроллеры с линуксомВ перспективе хотел бы, но пока что нет, к тому же цена у такой платы будет куда выше, да еще и придётся вкуривать линукс.Ладно, спасибо большое за ответы, анон.
>>312184Понятно, спасибо.
Сап Анон. Есть железка на F105 STM'е, проект сгенерен кубом, работает как USB VirtualCOMPort-CAN-UART прозрачный адаптер. Есть гора старого софта, который работал с подобным адаптером собранным на AVR'ке+FT232, софт требует наличия сигнала CD (Carrier Detect) со стороны виртуального ком порта, иначе пакет закидывать в порт отказывается. Изучая кубовскую реализацию USB, стало ясно что поддержку нотификаций SERIAL_STATE нихуя не реализовали. Может кто мудохался, и дописывал в стеке от ST поддержку нотификаций?
Суп, котаны.Поясните за Mbed - это зашквар или нет?Хочу вкатиться в ARM на уровне хобби (профессия уже есть, лол).Заодно, насоветуйте плату для знакомства.Выше пишут, что вообще лучше начинать с STM32 F3. Это так?Nucleo NUCLEO-F303K8 нормально?Что насчёт Cortex M0?Алсо, реально ли использовать Mbed с голым nRF51822, например (после некоторого знакомства с предметом вообще)?
Чисто из академического интереса - интегрированный бутлоадер в stm32 принципипиально можно заменить своим, чтобы окирпичивать камни вызывать его через BOOT-пины?
сап, МКшникиесть микроконтроллер stm32f767zi на плате NUCLEO-F767ZI и OLED дисплей winstar'овский WEH001602AGPP5N00001 с контроллером WS0010 аналог HD44780 вроде. Никогда дисплейчик не подрубал, как быть? с чего начать? Может есть какая то система команд для управления им и вывода на него информации? мне нужен только текстовый режим, рисовать рандом пикчи нет необходимостина прикл сабж
>>312518Юзай Mbed, тем более, что у тебя Nucleo.https://os.mbed.com/platforms/https://os.mbed.com/components/cat/display/
>>312441> зашквар или нетПочему зашквар-то? Ну, если ты петушила-ардуинщик, который вообще не имеет представления о том, что делает, и только лепит готовые либы и решения, то наверно зашквар. А если нормально делать, то норм. Но не в качестве профессии, потому что на хуй никому не нужен будешь.> лучше начинать с STM32 F3Я принципиальной разницы между f0/f1/f2/f3/f4/f7 не увидел, поэтому думаю, что начать можно с любого, это тебе не какой-нибудь многоядерный a15 с reference manual на 8к страниц.> насоветуйте плату для знакомстваЧтобы меньше ебли было бери фирменную. Можешь взять с али китайщину, но ни схем не будет, нихуя вообще, но она дешевле (я на f4 с usb-разъемом, двумя кварцами, разъемом под microsd, и маленькой eeprom на борту взял за 700 с чем-то). Удобно еще когда на плате к самому мк заведён и распаян usb, на мой взгляд.Можешь поискать подешевле что-нибудь с самым простым камнем и минимумом обвязки, а то вдруг не понравится.
>>312518Купи модуль I2C интерфейса для таких дисплеев, чтоб не ебаться с ножками и вешать его на одну шину с другими I2C девайсами.https://ru.aliexpress.com/item/1pcs-Serial-Board-Module-Port-IIC-I2C-TWI-SPI-Interface-Module-for-Arduino-1602-LCD-Display/32404454240.html
>>312593а по i2c управлять проще чем по 4/8 битной шине с обычными GPIO?
>>312552спасибо, но мбед для меня еще более непонятен чем работа в том же кубе) плюс мбедед приложения не знаю как дорабатывать, ведь по ТЗ у меня не только подцепить дисплей задача
>>312598Проще и удобнее - полно готовых либ для этого модуля на любые контроллеры и всего 2 ножки МК используется.
Существует ли в природе нормальные библиотеки низкого уровня для 32ухбитных контроллеров от Atmel? Я имею в виду что-то на подобии CMSIS для STM32. Где тупо есть для каждой переферии по файлу .c и .h. Подключаешь их к проекту и не ебешься. Ну никакого желания мучаться с ASF нет, а тупо регистрами пользоваться это крайний случай.
>>306851Использую realolc, да. Только на атмеге. Кагбэ у меня там просто класс запилен. Есть функция, которой я сообщаю сколько байтиков нужно выделить. А внутри неё уже этот реаллок. Если количество байт в аргумент я сообщаю положительное (ну там парочка байт), то эта функция к тому же возвращает мне указатель как раз на то место где начало этих новых выделенных байт. Что оче удобно. Ещё у меня конструктор и функция free, вызывающая, собственно free() и ещё обнуляющая указатель на начало массива. Проблема фрагментации у меня пока не стоит, так как объекты (локальные) удаляются в порядке, обратном их созданию, но, впринципе если потребуется, то я в массиве просто прописываю ссылочку на дополнительно созданные байтики в его конце.>>307264Нахуй это нужно? Кольцевой буфер запилил, та и всё. Плюс сигналы XOFF/XON можно отправить если он заполнится, до появления свободного места.
Сап, есть ли в треде люди шарящие в ARM чтоб поднять на нем некую систему складской автоматизации выдачи товара, по типу почтаматов но не совсем, есть некоторый проект реализовав который его можно успешно продавать. С меня все материальные затраты с вас помощь в программной составляющей проекта. Если есть авантюристы которые заинтересованы отпишитесь. Если че я в хохлоДС.
Господа, расскажите про JLink - можно ли брать вот это вот, например:https://ru.aliexpress.com/item/1PC-JLI-V9-J-LINK-ARM-emulator-support-A9A8-V9-3-high-speed-download/32801920737.htmlЧто там с версиями - 8, 9.3, 9.4? Какая лучше?Инфа в интернетах есть, но противоречивая.Может быть, кто лично пользовался?Цель - прошивка дешёвых китайских платок с nRF51822 и прочее.На плате nRF51 DK стоит здоровенный чип Segger, я так понимаю, что это JLink и есть.Видел инфу, что для прошивки достаточно JLink'а за 13 долларов, а то, что выше по ссылке - это нужно для отладки.Короче - просветите что это вообще за хуйня, в чём разница, какие подводные камни.
>>313967А чём тебя ST-Link 2.0 не устраивает?
>>314012Если честно - я не знаю, ибо в этой теме я ньюфаг.В тех примерах, которые я видел, nRF51 прошивали j-link'ом. Если его можно прошить st-link'ом с али, тогда j-link не нужен.
>>313967подводные в том, что это говно>>314005
Анон, я правильно понимаю, что нужно заказывать B-L475E-IOT01A2 (а не B-L475E-IOT01A1) пушо частота 868Мгц в России нелицензируема?
>>187056 (OP)В ньюфажном треде затруднились ответить на мой вопрос. Есть ли в природе русскоязычная документация на STemWin, BSP-драйверы и т.п. для STM32F4? В поиске вылазят малопонятные, обрывочные примеры. Может быть есть, что-нибудь подобное "STemWin на селе", "Справочник молодого BSP-шника"?
>>314662Чота тред не бампируется. Тяжелый слишком
Вечер в хату, качаны.В общем, продолжаю неспешно клепать махарайки на армах (лол, когда дойдёт до чего-нибудь серьёзного, то в ходу уже будут квантовые компы).Поясните, для чего нужны RTOS?Юзал кто?Предстоит ебля с ногодрыгом, вай-фаем, нанд памятью, шим и жк с тачскрином.Эта хуйня (RTOS) мне будет полезна, чтобы ебли было как можно меньше?
>>314839RTOS нужны для обеспечения многозадачности в основном.В самом просто случае без RTOS, например, если ты захочешь поморгать светодиодом раз в секунду, без прерываний по таймеру, твой МК будет сидеть и курить бамбук, смотря как тикает время и нихуя не делая. Это не круто, так как за эту секунду он мог бы сделать тонну полезной работы.С RTOS вместо одного суперлупа у тебя будет набор тасков, каждый из которых выполняет одну определенную функцию независимо от других, то есть его можно гасить, будить, грамотно управлять ресурсами с помощью примитивов синхронизации типа семафоров и вообще делать вещи красиво.Каждому из тасков выделяется свое время активности, и когда, например, один из тасков решил, что он завершил свой текущий цикл и будет ждать следующего, контекст переключится на таск, который готов к выполнению, вместо просиживания штанов.>Эта хуйня (RTOS) мне будет полезна, чтобы ебли было как можно меньше?Как ты наверное уже понял, да.
Продублирую пост из пограмача, да простит меня Сварог.Аноны, а есть кто зарабатывает этим ремеслом?Ищу работу эмбедером, предложений очень мало, а те которые есть, это 20к в НИИ Исследования Пердежа после 3 месяцев испытательного.Не то что бы я этим брезговал. Как раз таки я уже в таких местах пару лет и проработал, хочу двигаться дальше и заниматься более интересными проектами, но пока даже не понимаю куда.
не совсем занимаюсь ARM в полноценном смысле. Не так долго пишу на стм32 без выебонов и поддерживаю чужой код на 8мибитных авр. Получаю правда в своем городке 27к что не особо делает из меня советчика
>>31500827к это неплохие деньги в принципе.Для меня дело то и не в деньгах скорее, а в интересной работе и нормальном отношении к сотрудникам.
>>315035ну тут как повезет, думаю в этом плане пытаться залезть в компанию покруче. У меня начальство лояльное, а вот с разнообразием туговато. Только один чувак пытается добавлять новые фишки в проекте. И славу богу я работаю с ним
>>312163Резисторы, конденсаторы, переменные резисторы, пачка каких-нибудь дешёвых транзисторов (PNP, NPN и MOSFETы), трангзисторы для моторчиков, всякие там сдвиговые регистры.Да, знаю что слоу.
>>314883Работаю не эмбедером, но связан с этим делом.Пишу программные модули для взаимодействия с охранными устройствами. Не пишу для самих MK, но таки работаю с их интерфейсом. Ну а так же в принципе планирую переход на полный embedded. Планируем писать кастомные прошивки для ip-камер и тд. Получаю 16к, ибо работаю на полставки. Студент, мухосрань.
Не бейте по ебалу, но какие светодиоды покупать к STM32? Их напрямую коннектить к пинам? JerryScript кто-нибудь упарывался?
>>318470В догонку: как на инглише назыются пины и колодки?
>>318470Не напрямую, а через резисторы.Смотри на свои светодиоды forward voltage в даташите или у продавца если на али/ибее берёшь, потом подставляй в формулу.R = (V1 – V2) / IV1 = напряжение на пинах STM32 (смотри в даташит, но там вроде 3 вольта, у других микросхем может быть 5) V2 - forward voltage на диоде. Напряжение V1 будет зависеть от того, что ты на вход подашь, так что лучше заимей источник на 3 вольта.И I это сила тока, смотри в даташите на микросхему какое ограничение на максимальный ток на пин, подставляй значение, получай, например 85 ом и бери ближайший резистор, который выше по сопротивлению, например 100 ом.Вот, например даташит на STM32F103C8http://www.st.com/en/microcontrollers/stm32f103c8.htmlКороч, вот у меня LED с напряжением 2 вольта.R = (3 - 2) / 0.025 = 40 Ом. У меня есть пак резисторов, там самое мелкое - 100 Ом, вот его и ебашим.Правда я мог где-то объебаться, сам нуб
>>318470Ах да, кнопки тоже ебашат через резисторы, причём джва. Пока кнопка выключена твой пин должен быть через резюк подключен к земле или напряжению (3/5 вольта). Иначе на твои ноги микроконтроллера прилетит любая наводка и поставит там сигнал какой придётся. Пока кнопка не нажата, то твой пин микроконтроллера подключён к земле и там 0 или к питанию и там 3 вольта, т.е. есть 1.Когда ты её жмёшь, то замыкаешь пин на землю или 3 вольта через ещё один резистор, иначе короткое замыкание, гроб, кладбище, пидор.
>>318470А светодиоды возьми у китайцев набор 100 штук разноцветных, там всё равно напряжение будет 2-3 вольта.
>>318647>>318650>>318653Спасибо.
>>312441>Cortex M0Если у тебя уже есть задача, которую надо решить, то бери, может доставить оптимизация и прочтение даташитов. Хотя и просто так сойдет, они по 3 бакса стоят. Я пилю игровой контроллер, там 8 модулей одинаковых будет, 12 кнопок со светодиодами, линейный потенциометр и мотор. В итоге уместился в STM32F030F4P6, вся периферия на сдвиговых регистрах, которые управляются записью в BSRR через DMA, связь с ардуиной-конвертером для ПК через I2C, на который тоже DMA повесил, даже потенциометр им считывается, МК половину времени хуи пинает. Хотел еще быстрый синус сделать, чтобы изменять яркость светодиодов волнами, сначала через приближение полиномом Тейлора привет, вузовский матан, нахуя было давать в экзмене их формирование и погрешность, если все гуглится в два счета, но скорость не устраивала, в итоге пришел к поисковой таблице и числам с фиксированной запятой.