Вы видите копию треда, сохраненную 23 августа 2016 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
>Но что должен знать embedder в плане Linux'а?
Как собрать ядро.
Как написать драйвер.
>И как этому научиться.
Есть куча готовых проектов. Качаешь, ковыряешь, пишешь что-то свое.
Почитай для начала So, You wanna be an embedded engineer by Lewin A.R.W. Edwards.
Как мне кажется, области программирования мкк и плис следует разделять. Конечно, ты должен иметь представления о том и том, но поигравшись с отладочными платами, должен сделать свой выбор.
>Учусь на 4ом курсе на электронщика
>немного пописал под AVR контроллеры на Си
Одна история охуительнее другой просто.
Книжка вроде бы интересная, скачал.
ШрЕВты только глаза режут (пик).
Порекомендую ещё второй пикрелейтед к прочтению.
>Одна история охуительнее другой просто.
Ну а хули? У нас более или менее спец предметы начались только на 3ем курсе. А предмет посвященный МК только в этом семестре начался.
>ЦОС
только в магистратуре будет. У нас была только Теория сигналов, на сколько я понял это что то близкое к ЦОС но немного оторванное от практики.
В принципе не знаю насчет пристрастий. На 1-2 курсах быдлокодил сайты, даже деньги пару раз платили. Но как то не очень нравилось, а вот когда начал программировать именно что то низкоуровневое что бы диоды моргали, циферки на дисплеи менялись и тд как то больше вкатило. Как то понравилось именно оживлять все это. А вот вопрос, наверное покажется немного глупым, но под каким дистрибутивом линукса работать? Или просто ставить голое ядро? И вообще как организовывать работу в этом плане. Просто посмотрел ПО в плане программирования под ARM для убунты показалось как то бедно.
1. Цифровая электроника. Триггеры/различные системы счисления/счетчики, делители и тд. Литературы по данной теме очень много, мне в свое время понравился К.Бойт Цифровая электроника
2. Среда разработки. Производитель плис Altera - среда QuartusII, Xilinx - среда Xilinx ISE. На сайте альтеры найдешь много видосов, где показывается как создавать проектики и вообще с чего начинать. Самое время заказывать отладочную плату. На сайте terasic.com.tw представлено много вариантов, думаю, что для начала подойдет cycloneIV / cycloneV. Цены немного выше отладочных плат для мкк.
3. ЦОС. Уже писал выше. Есди работаешь с плис, скорее всего придеться реализовать алгоритмы цифровой обработки. Для начала рекомендую Юкио Сато Обработка сигналов - очень кратко, в легкой форме дается введение в цос. Далее Айфичер Цифровая обработка сигналов. Потом более узкоспециализированная литература, вроде image processing/ dsp in medicine и тд.
продолжать?
>продолжать?
Да конечно. А какие подводные камни при покупке отладочных плат какого нибудь китайского производителя?
никакой поддержки, неудобство использование. может отбить все желание работать в данной области.
http://marsohod.org/
ОП, смотри сюда:
1) Ты сейчас ничего не знаешь и не умеешь.
2) Идешь сюда и берешь себе любой понравившийся проект, выполняешь его в срок, потом еще и ещё. Получишь денег, опыта, знакомств и тебе будет, что показать на собеседовании.
http://electronix.ru/forum/index.php?showforum=24
3) Ты всё еще здесь? Пиздуй!
Анон, а посоветуй отладочную плату со спартаном на борту и vga на борту
Сейчас смотрю в сторону ARM типа Cortex-m3 или m4. Проблема в том, что я хочу на этом заработать, создав и продавая какой-нибуть полезный девайс с возможностью обновления прошивки по USB и все в таком духе. Какие подводные камни? Есть ли здесь, пытавшиеся пройти этот путь "хардвейр стартапа"?
>Проблема в том, что я хочу на этом заработать, создав и продавая какой-нибуть полезный девайс с возможностью обновления прошивки по USB и все в таком духе.
Все уже запилено китайцами.
Я так понял ты выбираешь между STM32F4DISCOVERY и STM32F429I-DISCO (которая на пике). Так вот основные отличия:
STM32F4DISCOVERY
-внутренней SRAM 192 Кб, внешней нет.
-есть PDM микрофон
-есть аудио ЦАП со встроенным усилителем и 3,5 выходом на наушники
STM32F429I-DISCO
-внутренней SRAM 256 Кб, внешняя SDRAM - 64 Мбит
-Экранчик
-нет микрофона и аудио ЦАПа
Так что если больше интересно аудио - бери первую, для всего остального лучше вторую. Обе платы дебажатся через встроенный USB отладчик по SWI - это типа JTAGa, только по двум проводам. Так что проблем с отладкой не будет.
Также у ST есть такая тулза как STM32CubeMX. Это генератор инициализационного кода. У него графический интерфейс, можешь настраивать клоки, пины, и т д для своей конкретной платы. Довольно удобно, генерирует сразу проект для IAR или Keil.
Ок, а как насчет IDE? Я на AVR писал в AtmelStudio, потому что это очевидный выбор, но вижу для ARM пошире выбор будет, многие хвалят CoIDE от CooCox.
Тут уж на вкус и цвет. Вообще в профессиональной среде пользуются Keil и IAR, но они платные, у IAR говорят компилятор лучше компилирует. Я лично пользуюсь Кейлом, там в бесплатной версии до 32 кбайт кода можно. Тоже смотрел на CoIDE, но не нравятся мне IDE на основе Эклипса. Знаешь, вот это все Java, Eclipse, gcc - для меня какие то блять танцы с бубном
как попасть в отрасль? с чего начинать? что делать и какую нище-плату выбрать если ты нищестудент и связи с последними событиями в жизни рубля, купить отладочную плату для тебя стало нетривиальной задачей(само собой на ПЛИС)?
использовал связку eclipse + iar.
В какой области специализируешься? Если можно город, опыт работы, уровень зп.
Нужен какой-нибудь малопотребляющий bluetooth микроконтроллер. Не просто передатчик со стандартным интерфейсом, а именно микроконтроллер, чтобы можно было его программировать, желательно с АЦП. Кто-нибудь тут делал подобное? Хочу всякую аналоговую хуйню подключать к смартфону без проводов.
Их можно только из-за бугра заказывать? А какая среда разработки? Много ли головняка с bluetooth стеком? Или есть уже готовые удобные библиотеки, которые подключил - и все заработало?
http://www.ebay.com/itm/291314796421?_trksid=p2059210.m2749.l2649&ssPageName=STRK:MEBIDX:IT , работает
IAR
терпимо. Библиотеки есть, но повозиться придется
Тащемта практически любой bluetooth-чип - со встроенным контроллером. Можешь попробовать покодить под HC04-HC06 - там своя среда со своим компилятором, зато шьется по LPT
Ага, глянул на Техасе документацию по стеку и контроллеру, вроде не все так уж страшно. Спасибо тебе, вроде как раз то, что нужно
анончики как на этом чуде найти полный порт
http://www.st.com/web/en/resource/technical/document/datasheet/DM00024550.pdf
или где у неё gpio 0-7
Это чудо бывает в трех разных корпусах, соответственно нужен тип корпуса.
Еще у нее нет сквозной нумерации портов, то есть не "gpio 0-7", а "gpioA 0-7", "gpioB 0-7" и т. д.
Алсо, что ты имеешь в виду под "полным портом"? Если это наличие всех выводов порта с 0 по 7й , то такие есть только в корпусе LQFP32(gpioB и gpioD), смотри стр. 21.
кому ты пиздишь? какая прошивка по двум проводам? еба в плату встроен програматор с помощью его и прошиваешь и отлаживаешь по юсб. дрова поставить и все.
мимо владелей stm32f429 которая на пике >>156010
анон подскажи. нужно то же что и этому господину >>157591
все предложенные платы с МК на борту работают в режиме передачи AT команд + отправка файлов в нагляк. мне же нужно организовать p2p как минимум сеть с блекджеком и шлюхами.
сегодня гуглил стеки, но там хуита какая то. не пишут под какие МК заточены. хочу работать на stm32f429 желательно
да не пиздю я!! чесна!!
На самом деле, я имел в виду, что встроенный ST-LINK связан с основным чипом по SWI - Serial Wire Interface, который использует два пина.
То есть, если ты спаяешь свою плату, то дополнительный отладчик тебе покупать не нужно, ты можешь воспользоваться встроенным, подключив его к своей плате, используя малое количество соединительных линий.
А так, конечно, сама плата подключается к компу с помощью одного USB провода
Вот такую хуйню нашел для CC254х, вроде это программный стек, который на Техасе предлагают купить, есть примеры
https://github.com/MiaYun/BLE-CC254x-1.3.2/tree/master/Projects/ble
А вот документация на их программный стек
nRF51822
Можешь сделать комбинацию из двух портов: старшие биты своего байта записать в один порт, а младшие - в другой, чтобы на выходе получилось нужные 8 бит.
Например
// твоя переменная
uint8_t val;
PC_ODR = val << 3;
PD_ODR = val >> 4;
тогда получится, что в PD1-3 лежат биты 5-7, а в PC3-6 лежат биты 0-4. В итоге на ногах 13-20 получится нужный тебе байт.
Прочитал твой даташит, понял, что одним портом не обойдешься и подумал, как обойти это ограничение
>подсветки кода и всяких финтифлюшек
пиздец блять, тебя ебёт штоле, вот за такую хуню у нас на кафедре убивают нахуй
Школьник не человек, очевидно. Иди дальше диодом моргай на ардуине
Тебе уровень вижуал стадио надо? Нет такого. Есть keil или настрой eclipse
Почему бы не сделать проект прямо в виджуал стэдио? Правда, компилироваться не будет, но зато будет отличный редактор, а если еще и плагин помидорку поставить, то вообще супер: и подсветка синтаксиса, и автозаполнение и все-все
>Вот такую хуйню нашел для CC254х, вроде это программный стек.
да ну нахуй, я думал что то дешевое по типу stm32 микроконтроллеров продается и работает все это. закупил и работает только спрограмируй. мне допустим для что то на производстве надо сделать, а та хуйня вообще дорого выйдет.
То тебе с блекджеком и шлюхами сеть надо, то просто спрогромировать. А вообще сам модуль недорого стоит, на ебай - до 500 рублей HM-10/11, уже прошитый, чтоб принимать АТ команды.
Почему бы в обработчике прерывания не считывать данные из выходного регистра АЦП и писать их в нужный буфер?
И еще, что значит асинхронно? Типа сигнал начала преобразования внешний? Если у тебя буфер фиксированного размера, то используй DMA. Настрой его на нужное количество сэмплов и скажи, чтоб генерировал прерывание по заполнению буфера, а потом отключай DMA
>>159543
>Почему бы в обработчике прерывания не считывать данные из выходного регистра АЦП и писать их в нужный буфер?
Если будет высокая частота дискретизации - будут большие накладные расходы на генерацию прерываний. Поэтому нужен буфер.
>И еще, что значит асинхронно?
Типа пока АЦП заполняет семплами один буфер, проц обрабатывает семплы из уже заполненного буфера.
>а потом отключай DMA
А зачем отключать? Идея такая, есть два буфера, АЦП первый буфер заполнил, сгенерировал прерывание, в котором мы ему указали заполнять второй буфер, пока он заполняет второй буфер, проц обрабатывает семплы из первого буфера. Когда АЦП заполнил второй буфер, сегенрировал прерывание, в котором мы ему указали заполнять первый буфер, и пока он его заполняет, проц обрабатывает семплы из второго буфера. И так до бесконечности. Ну ты понел.
А, ну, браток, тебе тогда надо в двойную буфферизацию. Контроллер DMA такое умеет. Нужно поставить бит DBM в регистре DMA_SxCR, затем инициализировать два адресных регистра назначения DMA_SxM0AR и DMA_SxM1AR. В итоге контроллер будет сам переключать эти адреса, так что можно обрабатывать один буфер, пока запись данных идет в другой. Прерывания генерируются при заполнении одного из буферов. Какой именно буфер заполнился можешь узнать, прочитав бит CT в регистре DMA_SxCR
>А, ну, браток, тебе тогда надо в двойную буфферизацию.
Во, то что нужно. Я конечно планировал свой кольцевой список буферов произвольного размера, но так даже лучше, если все на откуп DMA отдать.
А есть ссылка на примерчик?
STM-ки у меня пока нету, собственно выбираю контроллер под свою задумку, теперь уже точно именно STM будет. Кстати как у них с энергопотреблением? Реально запитать от 18650?
>а заполненный буфер обрабатываем в цикле main
Эта штука называется "отложенное прерывание", то есть когда данные обрабатываются не в обработчике прерываний, а в основном процессе. В этих случаях мой тебе совет, используй операционку, благо для контроллеров их куча, я использую FreeRTOS.
Почему лучше использовать операционку?
Если ты будешь ждать сигнала от прерывания в основном цикле main, то тебе так или иначе придется писать свой механизм семафоров. Это конечно интересно, но можно воспользоваться уже готовыми механизмами синхронизации в ОС.
Еще, если ты обрабатываешь все в цикле main, то это тебя ограничивает лишь одним потоком, в ОС же их можно создать столько, сколько нужно, а как показывает практика, если твоя задача немного сложнее мигания светодиодом, то их нужно несколько. По FreeRTOS есть хороший цикл статей "Курниц. FreeRTOS — операционная система для микроконтроллеров" плюс хабр, гугл и. т. д.
Так, что ребята, советую обмазаться всем операционками.
Для твоей же задачи с двойной буферизацией есть довольно элегантный механизм синхронизации - очереди. То есть в каждом прерывании DMA ты пишешь адрес заполненного буфера в очередь, а основной поток вычитывает эти адреса из очереди и обрабатывает их. Причем очередь гарантирует, что основной поток получит адреса именно в том порядке, в котором ты их записал, и они никуда не потеряются.
Примерчика у меня нет, ищи по словам "double buffer dma"
Потребление тоже штука гибкая, смотря какие частоты настроишь и какую перифирию включишь. Если будешь использовать STM32, то обрати внимание на тулзу STMCubeMX, тут про нее писал >>156151
>>159548
>придется писать свой механизм семафоров.
По идее, мне это не понадобится. Если буферы будут заполняться АЦП быстрее чем обрабатываться в main, семафоры \мютексы\что-угодно должны будут приостанавливать работу АЦП дабы избегать перезапись данных, которые еще не обработаны. В этом случае проще будет понизить частоту дискретизации.
FreeRTOS конечно хорошо, но для меня имхо лишнее, учитывая что STM32 имеет весьма годную DSP библиотеку.
>>159549
Ок, спасибо бро, если что, буду писать здесь свои вопросы.
Так нет, понятно, что если обработка идет медленнее, чем сбор данных, то ничего хорошего не выйдет и нужно понижать частоту дискретизации. Вопрос в том как сигнализировать основному потоку в main, что блок данных получен и нужно начать его обрабатывать. А обработав, сколько нужно ждать до получения следующего блока. Завести глобальную переменную, в прерывании ставить её в единицу, а в main использовать цикл while? Дожидаться, пока она не станет 1, потом её обнулять? Можно конечно, только если не объявишь её как volatile 90% что компилятор её просто выбросит при оптимизации. Может, другие идеи?
Я к тому, что если у тебя начнет что-то друг друга обгонять, зависать или просто себя необъяснимо вести, то это значит, что ты встал на путь кучи граблей, которые уже давно пройдены. Тогда вспомни про операционные системы и механизмы синхронизации.
Первое. Организация многопоточного приложения
Тут надо понимать принципы работы операционных систем RTOS, синхронизацию между обрабатывающими потоками, событиями и данными.
Второе. Когерентность кэша
Если в нашем проце есть КЭШ, и мы используем DMA для доступа к памяти, то у нас обязательно появятся веселые баги, которые хуй выловишь. Причем в дебугере все будет ОК. Тут нужно знать, что такое cache flush и cash invalidate, что опасно, а что нет. И чем грозят эти операции для буфера, который невыровнен на длину кэш-линии.
Третье. ЦОС
Хотя бы представлять, что такое КИХ и БИХ фильтры. Что такое числа с фиксированной точкой, и как с ними проводить арифметические операции.
Четвертое. Потоки данных
Что такое двойная буферизация, зачем она нужна при обработке непрерывного потока данных.
дискасс
А это тогда мадскиллз: запилить двухядерный контроллер с аппаратной синхронизацией на тиньках. Бывает и такое.
>Завести глобальную переменную, в прерывании ставить её в единицу, а в main использовать цикл while? Дожидаться, пока она не станет 1, потом её обнулять? Можно конечно, только если не объявишь её как volatile 90% что компилятор её просто выбросит при оптимизации.
Таки да, первое, что на ум пришло. Проблему объявить переменную как volatile не вижу. Можно __ldrex, __strex, __swp еще использовать. А по хорошему, надо использовать __wfi() , __wfe() с режимом Sleep mode, так как вся периферия продолжает работать, и соответственно генерить прерывания. Напоминает механизм kqueue в BSD-like ОС-ах.
>Тогда вспомни про операционные системы и механизмы синхронизации.
Ну да, абстракция над механизмами, предоставляемыми контроллером, появляются привычные потоки и пр. Удобно если уже имеешь опыт программирования и прет куча данных с различной периферии. Но конкретно в моей задаче буду копать в сторону __wfi.
>>159566
>Что такое двойная буферизация, зачем она нужна при обработке непрерывного потока данных
Вот здесь http://we.easyelectronics.ru/STM32/osobennosti-ispolzovaniya-preryvaniya-half-transfer-pri-rabote-s-dma.html вариант двойной буферизации через "DMA Stream Half Transfer interrupt". Хотя наверно ТРУЪ "double buffer dma" будет эффективнее.
а вот с чего начать что бы к этому придти? Если с ЦОС еще понятно, даже тред есть. То как от мигания светодиодиком перейти ко всяким КЭШам, не очень понятно.
ну для КЭШа нужен процессор с ним.
Дело все в практике.
А так, возьми ту же STM32F4Discovery и попробовать сделать такую штуку: принимай сигнал с PDM микрофона, фильтруй с децимацией и отправляй на аудио ЦАП, все это в непрерывном потоке, причем еще должно реагировать на кнопку. После того, как ты это сделаешь так, чтобы все работало твердо и четко, ты обнаружишь, что нехило прокачал скилы в обсуждаемых темах.
> вариант двойной буферизации через "DMA Stream Half Transfer interrupt"
В этом примере просто контроллер DMA не поддерживает режим с двойной буферизацией. Такой режим походу есть только у STM32F4
По большей части изучена периферия AVR mega/Xmega, STM32F1-F4(исключая интерфейс камеры, I2S (НЕ IIC), LCD..)
Издевался над некрофилией в виде cs8900a - на асме только до пингов дошел.
Общение по сети через w5300 освоил, про USB - вообще не ебу что и как там.
В какой-нибудь ФГУП.
Ок, мне нужно получить 3.6 МГц на одном пине, на втором пине те же 3.6 МГц, но со сдвигом фазы на 90 градусов. Таймер в режиме PWM дабы вообще не генерить прерываний и не тратить процессорное время. Частота проца = 72Мгц. Как рассчитать TIM_Prescaler, TIM_Period , TIM_Pulse? Как реализовать сдвиг на 90 градусов, через TIM_OCMode?
Вставлять карточки и джеки в разъёмы, азаза.
принять данные-декодировать-выполнить соответствующие действия-отправить результат(опционально)
Двачую.. Где опыт набирал, где начальные знания/опыт добывал и какие проблемы при трудоустройстве?
с пятого курса устроился на полставки в небольшую конторку, где приходилось заниматься по большей части программированием мкк (atmega, cortex-m4), написанием несложного по для pc (qt), немного схемотехникой (найти-исправить ошибку, допилить маленький блочок). Вскоре понял, что нужно расти дальше. Определил для себя два пути: мкк (старшие армы, linux), плис (цос, интерфейсы). Решил, что более перспективный второй вариант. За несколько месяцев прочитал пару книг (цос, структура плис, язык vhdl), начал рассылать резюме. Вскоре устроился в довольно крупную компанию для своего города, где и работаю по сей день.
пока только готовыми.
Че за город инбифо дианон? В Москве в принципе можно найти работу за 70-100к, может быть, даже больше.
как-то не очень много для москвы. сам из миллионника.
TIM_Prescaler бери нулю, тогда тактовая частота таймера будет твои 72 МГц
TIM_Period = fclk/3.6 -1 = 168/3.6 - 1 = 20-1 = 19
получится нужная тебе частота 3,6 Мгц
TIM_Pulse должен быть равен половине периода, то есть 20/2 = 10
Далее таймер конфигурируешь в режиме PWM output, без раздвижки (Dead time = 0). Получаешь на выходе OC1 свои 3,6 МГц, на выходе OC1N 3,6 МГц сдвинутые на 90 градусов
>TIM_Period = fclk/3.6 -1 = 168/3.6 - 1 = 20-1 = 19
фикс там конечно же твои 72 МГЦ 72/3.6 - 1 = 20-1 = 19
Можно показать, где именно это заявлено? как там конкретно написано? Сдаётся мне, что это указано лишь для ядра и внутренней памяти, а чтобы вычислить полное потребление, нужно учитывать, какая периферия включена и сколько она потребляет.
Да, кстати, если ты тот анон отсюда >>159547 и тебе нужен режим DMA с двойной буферизацией, то обрати внимание, что контроллер DMA на stm32f303 такой режим не поддерживает
>>161600
>Можно показать, где именно это заявлено?
Вот же http://www.st.com/web/en/catalog/mmc/FM141/SC1169/SS1576
Параметр Suplly current (Run mode (Per Mhz))
>какая периферия включена и сколько она потребляет.
>stm32f303 такой режим не поддерживает
Уже понял, курю даташиты... Буду Half Transfer interrupt использовать. И вообще F0 заказывать буду, дешево и сердито + питание от акка.
Господа, опять я с ацп в stm32, спустился из ньюфг-треда. Кто- нибудь пробовал ацп запускать в дифрежиме? Собственно как он разность напряжений преобразует? Она должна быть в пределах 3.3в, либо на каждый вход можно подавать сигнал с размахом 3,3в (типо как single ended), а разница напряжений, в том числе и отрицательная будет корректно преобразовываться в значение семпла?
In differential mode the measured value is the difference between two inputs. Since one input is defined
as the positive input, and the other is defined as the negative input, the difference can be positive or
negative depending on which input is higher. As a result, the conversion result is a signed number,
represented in two's complement form. If the negative input is higher than the positive input, the
converted value will be negative. The ADC can not measure negative voltages or voltages larger than
the reference voltage, and it is important to keep both inputs within the electrical limits of the device.
In order to convert an analog voltage to a digital value the ADC needs a reference voltage to which
it compares the incoming analog voltage. Since the ADC cannot measure voltages larger than the
reference voltage, the reference voltage should be above the maximum expected measured voltage.
Часть ответа есть. Остальное лень искать.
Ты залупой что ли мануалы читаешь?
>Ты залупой что ли мануалы читаешь?
Возможно. Весь день гуглю. Что за док? Дай ссыль.
> the converted value will be negative.
Это как блять, знаковый бит что-ли будет?
Для stm32f4 есть, отладочная плата которая с операвтивкой и экранчиком
http://www.emcraft.com/stm32f429discovery
Разобрался. На тахометр нужен пулап до 5 вольт.
Какой ее приблизительный размер?
Сап, раданы
Дайте советов по управлению микроконтроллером силовых цепей.
В общем случае, контроллер с помощью шим управляет мощными ключами, с помощью АЦП отслеживает выходное напряжение и пытается удержать его на нужном уровне.
Так вот, меня интересует, нужна ли гальваническая развязка между управляющей и силовой частью? Нужно ли пытаться впихнуть оптопары везде где только можно между выходами контроллера и ключами, между входами и датчикиками тока/напряжения? Откуда брать питание для контроллера? А если питание контроллера от отдельного трансформатора? Может есть годные application note на эту тему от именитых производителей?
Просто в разных схемах сделано по-разному. В паяльных станциях управление ключом идет через оптопару, в некоторых схемах управления моторами сигнал с микроконтроллера идет на ключ только через буфер, и т. д.
Гальваноразвязка - если высок риск пробития или со стороны МК ожидается оператор-человек. В остальных случаях нинужно.
Я бы задумался об экранировании и оботсутствии висящих ножек - мощные броски тока порождают наводки, у меня неэкранированные МК при разряде пьезы в полуметре от них перезагружаются.
Если подробнее, пытаюсь пошимить на пинах А9-10. Ни первый таймер, ни второй не изменяют напряжение на диодах. Хотя скважность в регистрах меняется
void TIM1_Config(void)
{
RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA, ENABLE);
gpio.GPIO_OType = GPIO_OType_PP; //PP
gpio.GPIO_Mode = GPIO_Mode_AF;
gpio.GPIO_Pin = GPIO_Pin_4 | GPIO_Pin_8 | GPIO_Pin_9 | GPIO_Pin_10;
gpio.GPIO_Speed=GPIO_Speed_50MHz;
gpio.GPIO_PuPd=GPIO_PuPd_UP;//UP
GPIO_Init(GPIOA, &gpio);
GPIO_PinAFConfig(GPIOA, GPIO_PinSource4, GPIO_AF_2);
GPIO_PinAFConfig(GPIOA, GPIO_PinSource8, GPIO_AF_6);
GPIO_PinAFConfig(GPIOA, GPIO_PinSource9, GPIO_AF_6);
GPIO_PinAFConfig(GPIOA, GPIO_PinSource10, GPIO_AF_6);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM1 , ENABLE);
TIM_BaseConfig.TIM_Prescaler = (uint16_t) (RCC_Clocks.TIM1CLK_Frequency / 400000) - 1;
TIM_BaseConfig.TIM_Period = 4095;
TIM_BaseConfig.TIM_ClockDivision = 0;
TIM_BaseConfig.TIM_CounterMode = TIM_CounterMode_Up;
TIM_TimeBaseInit(TIM1, &TIM_BaseConfig);
TIM_OCConfig.TIM_OCMode = TIM_OCMode_PWM1;
TIM_OCConfig.TIM_OutputState = TIM_OutputState_Enable;
TIM_OCConfig.TIM_OutputNState = TIM_OutputState_Disable;
TIM_OCConfig.TIM_Pulse =4090;
TIM_OCConfig.TIM_OCPolarity = TIM_OCPolarity_High;
TIM_OC1Init(TIM1, &TIM_OCConfig);
TIM_BDTRStructInit(&timer_bdtr);
timer_bdtr.TIM_AutomaticOutput = TIM_AutomaticOutput_Enable;
TIM_BDTRConfig(TIM1, &timer_bdtr);
TIM_OC2Init(TIM1, &TIM_OCConfig);
TIM_OC3Init(TIM1, &TIM_OCConfig);
TIM_OC1PreloadConfig(TIM1, TIM_OCPreload_Enable);
TIM_OC2PreloadConfig(TIM1, TIM_OCPreload_Enable);
TIM_OC3PreloadConfig(TIM1, TIM_OCPreload_Enable);
TIM_Cmd(TIM1, ENABLE);
TIM_CtrlPWMOutputs(TIM1, ENABLE);
}
void TIM2_Config(void)
{
RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA, ENABLE);
gpio.GPIO_OType = GPIO_OType_PP; //PP
gpio.GPIO_Mode = GPIO_Mode_AF;
gpio.GPIO_Pin = GPIO_Pin_4 | GPIO_Pin_8 | GPIO_Pin_9 | GPIO_Pin_10;
gpio.GPIO_Speed=GPIO_Speed_50MHz;
gpio.GPIO_PuPd=GPIO_PuPd_UP;//UP
GPIO_Init(GPIOA, &gpio);
GPIO_PinAFConfig(GPIOA, GPIO_PinSource4, GPIO_AF_2);
GPIO_PinAFConfig(GPIOA, GPIO_PinSource8, GPIO_AF_1);
GPIO_PinAFConfig(GPIOA, GPIO_PinSource9, GPIO_AF_1);
GPIO_PinAFConfig(GPIOA, GPIO_PinSource10, GPIO_AF_1);
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2 , ENABLE);
TIM_BaseConfig.TIM_Prescaler = (uint16_t) (RCC_Clocks.PCLK1_Frequency / 200000) - 1;
TIM_BaseConfig.TIM_Period = 4095;
TIM_BaseConfig.TIM_ClockDivision = 0;
TIM_BaseConfig.TIM_CounterMode = TIM_CounterMode_Up;
TIM_TimeBaseInit(TIM2, &TIM_BaseConfig);
TIM_OCConfig.TIM_OCMode = TIM_OCMode_PWM1;
TIM_OCConfig.TIM_OutputState = TIM_OutputState_Enable;
TIM_OCConfig.TIM_OutputNState = TIM_OutputState_Disable;
TIM_OCConfig.TIM_Pulse =4090;
TIM_OCConfig.TIM_OCPolarity = TIM_OCPolarity_High;
TIM_OC3Init(TIM2, &TIM_OCConfig);
TIM_OC4Init(TIM2, &TIM_OCConfig);
TIM_Cmd(TIM2, ENABLE);
}
Если подробнее, пытаюсь пошимить на пинах А9-10. Ни первый таймер, ни второй не изменяют напряжение на диодах. Хотя скважность в регистрах меняется
void TIM1_Config(void)
{
RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA, ENABLE);
gpio.GPIO_OType = GPIO_OType_PP; //PP
gpio.GPIO_Mode = GPIO_Mode_AF;
gpio.GPIO_Pin = GPIO_Pin_4 | GPIO_Pin_8 | GPIO_Pin_9 | GPIO_Pin_10;
gpio.GPIO_Speed=GPIO_Speed_50MHz;
gpio.GPIO_PuPd=GPIO_PuPd_UP;//UP
GPIO_Init(GPIOA, &gpio);
GPIO_PinAFConfig(GPIOA, GPIO_PinSource4, GPIO_AF_2);
GPIO_PinAFConfig(GPIOA, GPIO_PinSource8, GPIO_AF_6);
GPIO_PinAFConfig(GPIOA, GPIO_PinSource9, GPIO_AF_6);
GPIO_PinAFConfig(GPIOA, GPIO_PinSource10, GPIO_AF_6);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM1 , ENABLE);
TIM_BaseConfig.TIM_Prescaler = (uint16_t) (RCC_Clocks.TIM1CLK_Frequency / 400000) - 1;
TIM_BaseConfig.TIM_Period = 4095;
TIM_BaseConfig.TIM_ClockDivision = 0;
TIM_BaseConfig.TIM_CounterMode = TIM_CounterMode_Up;
TIM_TimeBaseInit(TIM1, &TIM_BaseConfig);
TIM_OCConfig.TIM_OCMode = TIM_OCMode_PWM1;
TIM_OCConfig.TIM_OutputState = TIM_OutputState_Enable;
TIM_OCConfig.TIM_OutputNState = TIM_OutputState_Disable;
TIM_OCConfig.TIM_Pulse =4090;
TIM_OCConfig.TIM_OCPolarity = TIM_OCPolarity_High;
TIM_OC1Init(TIM1, &TIM_OCConfig);
TIM_BDTRStructInit(&timer_bdtr);
timer_bdtr.TIM_AutomaticOutput = TIM_AutomaticOutput_Enable;
TIM_BDTRConfig(TIM1, &timer_bdtr);
TIM_OC2Init(TIM1, &TIM_OCConfig);
TIM_OC3Init(TIM1, &TIM_OCConfig);
TIM_OC1PreloadConfig(TIM1, TIM_OCPreload_Enable);
TIM_OC2PreloadConfig(TIM1, TIM_OCPreload_Enable);
TIM_OC3PreloadConfig(TIM1, TIM_OCPreload_Enable);
TIM_Cmd(TIM1, ENABLE);
TIM_CtrlPWMOutputs(TIM1, ENABLE);
}
void TIM2_Config(void)
{
RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA, ENABLE);
gpio.GPIO_OType = GPIO_OType_PP; //PP
gpio.GPIO_Mode = GPIO_Mode_AF;
gpio.GPIO_Pin = GPIO_Pin_4 | GPIO_Pin_8 | GPIO_Pin_9 | GPIO_Pin_10;
gpio.GPIO_Speed=GPIO_Speed_50MHz;
gpio.GPIO_PuPd=GPIO_PuPd_UP;//UP
GPIO_Init(GPIOA, &gpio);
GPIO_PinAFConfig(GPIOA, GPIO_PinSource4, GPIO_AF_2);
GPIO_PinAFConfig(GPIOA, GPIO_PinSource8, GPIO_AF_1);
GPIO_PinAFConfig(GPIOA, GPIO_PinSource9, GPIO_AF_1);
GPIO_PinAFConfig(GPIOA, GPIO_PinSource10, GPIO_AF_1);
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2 , ENABLE);
TIM_BaseConfig.TIM_Prescaler = (uint16_t) (RCC_Clocks.PCLK1_Frequency / 200000) - 1;
TIM_BaseConfig.TIM_Period = 4095;
TIM_BaseConfig.TIM_ClockDivision = 0;
TIM_BaseConfig.TIM_CounterMode = TIM_CounterMode_Up;
TIM_TimeBaseInit(TIM2, &TIM_BaseConfig);
TIM_OCConfig.TIM_OCMode = TIM_OCMode_PWM1;
TIM_OCConfig.TIM_OutputState = TIM_OutputState_Enable;
TIM_OCConfig.TIM_OutputNState = TIM_OutputState_Disable;
TIM_OCConfig.TIM_Pulse =4090;
TIM_OCConfig.TIM_OCPolarity = TIM_OCPolarity_High;
TIM_OC3Init(TIM2, &TIM_OCConfig);
TIM_OC4Init(TIM2, &TIM_OCConfig);
TIM_Cmd(TIM2, ENABLE);
}
>AOE, MOE bdtr обтрахал
Бахни еще TIM_CCER_CC1E и TIM_CCER_CC1NE. Не знаю, как на F3, у меня на F4 помогло
Первые биты стояли, вторые нет. Поставил - не помогло
Вот сижу я, смотрю на твой код и думаю, что говнокодеры у ST, которые пилят SPL - уебаны. Если уж и пилить высокоуровневую либу, то абстрагироваться нужно от всего, чего только можно. Вот взять например включение тактирования:
>RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA, ENABLE);
Что это за хуйня, блядь такая? Если я хочу сделать конфигурируемый код использующий порты, то мне приходится дефайнить помимо GPIOx и GPIO_Pin_x еще и RCC_AHBPeriphClockCmd с RCC_AHBPeriph_GPIOA. Ну вот что это за говно такое? Почему нельзя прописать все это дело в либе, чтобы сказал: "Включить тактирование для GPIOx" и либа сама выбрала для меня регистры и записала туда то, что нужно. В общем, вы все говноеды тут.
>Решил попробовать себя на поприще embedded-систем, после окончания универа, ну и связать с этим свою жизнь
Ох зря, анон. Работа сложная, платят мало, уехать сложно. В веб-программирование в 3-4 раза больше платят.
Пруфы? Сам думаю податься в embedded linux.
Пока что только SAM9260 и IMX6DL есть для тестов.
Как обстоят дела в мире standalone приложений - там сложнее или проще?
Любой монолитный код без использования ОС (QNX,FreeRTOS..)
Короче говоря - почти все проекты на мелких МК.
Просто своя специфика знаний там и там. Но и страшного ничего ни там ни там нет, если один раз сесть и разобраться.
На самом деле, они исправились. Юзаю STM32 Cube MX, там уже другой SPL, вроде на так все плохо
да учусь я на электронщика. И пока самое жирное на что я могу претендовать по специальности это как раз эмбедед. Живу еще в мухосрани и с трудом таки нашел контору где занимаются МК, а веб макаки тут не в цене особо это во всяких Питерах они живут не плохо. А почему уехать то сложно?
>STM32 Cube MX
>STM32Cube includes the STM32CubeMX which is a graphical software configuration tool that allows generating C initialization code using graphical wizards
Единственное, что я ненавижу больше чем говнокод, дак это кодогенерацию. Кодогенерация хуже любого червя пидора. Но про куб почитаю. Может не все так плохо.
А чем проблема по хардкору писать непосредственно в регистры напрямую без библиотек и пр?
Конфигурирование мешает, например. Код надо писать так, чтобы в будущем можно было в одном единственном дефайне заменить USART1 на USART2 и система продолжила бы работать также хорошо, как и раньше, но в новой конфигурации. Если делать это с помощью CMISIS или SPL, то помимо USART1 придется дефайнить еще кучу всякой хуйни, что излишне, т. к. эта хуйня по сути однозначно определяется номером уарта.
>Если делать это с помощью CMISIS или SPL, то помимо USART1 придется дефайнить еще кучу всякой хуйни
Дак я и говорю
>писать непосредственно в регистры напрямую без библиотек и пр?
>писать непосредственно в регистры напрямую
Именно это и делает CMSIS. В ней просто задефайнены имена регистров. Но это все-равно не прокатит, т. к. тебе придется ставить разные биты в разных регистрах, чтобы активировать тактирование на разных уартах. Поэтому, одним движением сменить уарт у тебя не выйдет.
Нихуя они не исправились:
>__USART1_CLK_ENABLE();
Убивать за такое надо, блять. Почему не сделать USART_CLK_ENABLE(USARTx)? Что за хуйню они продолжают творить?
Думаю, это связано с какими-то оптимизациями.
А то, что ты хочешь, по идее, можно сделать с помощью препроцессора.
>связано с какими-то оптимизациями
Индусы видимо про оптимизирующий компилятор не слышали. При инициализации периферии почти все входные данные - константы, следовательно при оптимизации большинство if'ов будет выкинуто.
> можно сделать с помощью препроцессора
Можно. Пробовал делать это для SPL. Читаемость кода сильно снизилась. С дефайном для каждого отдельного параметра выглядит лучше.
>Именно это и делает CMSIS.
Ага, понял. Вот только документация на STM - адский ад. Я беру пример на SPL, ковыряю исходники, смотрю какие значения в конченом итоге попадает в регистры, так понимание постепенно и приходит.
>USART_CLK_ENABLE(USARTx)
Ну дак ты же сам можешь задефайнить. Можно же даже на шаблонах замутить (хотя не знаю компиляторы эти поддерживают шаблоны).
>USART1 на USART2 и система продолжила бы работать также хорошо, как и раньше, но в новой конфигурации.
Я конечно не знаю, но по моему такая необходимость не так часто появляется на практике.
Кстати, а что означает значение TIM_Pulse когда TIM_OCMode = TIM_OCMode_Toggle? Код ниже дает сдвиг фазы на 90 градусов? Зачем там деление на 6?
#define f1 1/2
TIM_OCInitStructure.TIM_Pulse = (TimerPeriod/6)+ (TimerPeriod * f1);
TIM_OC1Init(TIM8, &TIM_OCInitStructure);
TIM_OCInitStructure.TIM_Pulse = (TimerPeriod/6) ;
TIM_OC2Init(TIM8, &TIM_OCInitStructure);
>Ну дак ты же сам можешь задефайнить.
Могу. Но это надо делать по своему для каждого контроллера (т. к. USART1 есть не везде, например), а это уже работа поставщика либы.
>Я конечно не знаю, но по моему такая необходимость не так часто появляется на практике
Вот тебе пример. Разработали с другом схему для девайса на stm32 и он нарисовал плату. Пока плата изготавливалась, я пописал немного кода. Когда плата пришла, то выяснилось, что мы посадили уарт на SWC и отладка стала невозможна. Поэтому на время разработки софта пришлось временно пересесть на другой уарт. Но т. к. были запилены дефайны, то код переписывать сильно не пришлось.
>выяснилось, что мы посадили уарт на SWC
Ну я не спорю, что пример живой, хотя в твоем случае скорее досадная неточность проектирования. Наверно более массовый случай, когда допустим при доработке прототипа надо изменить топологию, и возникает ситуация "как было бы удобно, если эти две ноги были свободны". Тут конечно возможность перекинуть ноги парой строчек кода будет очень кстати.
Teensy 3.1, очень крутая плата. Программируется с помощью Arduino и Аддона под названием Teensyduino. Плата основана на 32битном Cortex-M4, что заставляет 8битку которая у AVR - отсасывать.
Подробнее: https://www.pjrc.com/teensy/teensy31.html
Я люблю тебя, давай жить вместе?
Скажем: электротехнику, элементную базу, ЕСКД, ПЛИС+ VHDL, Ассемблер, ЯПВУ, умение собирать линукс/модули ядра.
Для себя усвоил: оно НАХУЙ не стоит тех 80к лучше мыть полы в 4х макдоналдсах и спать спокойно!
а если нет.
Только в случае ОЧЕНЬ высокого скилла и понимания что нужно будет действительно работать +требования шопиздец. А требовать будут примерно вот такое https://goo.gl/fWtQWO или такое https://goo.gl/HMFAVU
А что пиздецового в требованиях? По сути там написано что нужно уметь писать и отлаживать софт. Обычные требования для программиста, только изложены подробнее
>а можно на Ардуине собрать
Для человека, который способен такое сделать, такие вопросы не стоят
А вам не безразлично, способен я сейчас на это или нет? Если такая возможность есть, значит разберусь и соберу, если такой возможности нет, значит буду искать другие способы сделать элеронную начинку. Сделать R\C модель я и сейчас думаю смогу, меня именно интересует автономность(ресурса МК хватит на это или нет?). Так же все датчики которые я видел, созданны чисто для наземного робота.
Блядь, дурина, в твоем случае, это последнее о чем стоит беспокоиться. Ну обкатаешь какие-то алгоритмы на ней, потом, если не хватит, поставишь какую-то хуйню на stm или чо там у вас.
>а что-бы хотя бы записывал видео и придерживался прямой траектории полёта.
Начни с тестов с ic-гироскопами. Чувствую, тебя ждет много открытий уже на этом этапе.
Я привык как-то к более адекватному общению. Так бы сразу и сказал, что просто хочешь повыёбываться, а нужной мне информацией не владеешь/не желаешь делиться.
>>171585
Я немного ограничен в бюджете, и не в алгоритмах дело. Тут скорее именно в жесте, мне нужны датчики препятствий на 10-15 метров, я видел максимум на 2-3.
>>171586
Гироскопы дороговаты, скажем так. Я хочу всё сделать максимально просто, фау - 1 летали, значит и у меня в итоге полетит. Вот если этот проект удастся, тогда буду делать уже что-то более серьёзное.
Типичный ардуинщик думает что все это можно осилить хотя бы за год. Нет Ардуина такое не потянет, а ты аутист который даже не представляет что хочет получить и какой ценой.
Я вполне представляю то, что я хочу получить на выходе. Я сейчас как раз и ищу способы решения этой проблемы, не потянет ардунио, значит потянет какой-то другой микроконтроллер/что-то другое. Я не зациклен на быстром решении проблемы, но ясности в каком направлении копать, мне очень хочется. Главная проблема для меня, это именно датчики, которые бы уводили БПЛА от столкновений, к сожаления тут ИК для наземных роботов бессильны, нужно знать о препятствии хотя-бы за 5 метров. Следование сложному курсу это уже отдельная проблема, и пока я о ней даже не думал.
Так Ардуни отметаем, так какие-то библиотеки и прочее С++. Есть контроллеры с чем-то вроде ассамблера, что бы напрямую работать с ядром и памятью?
>Есть контроллеры с чем-то вроде ассамблера, что бы напрямую работать с ядром и памятью?
Перетолстил.
В робототехнике, например.
в пополняйках просто пека стоит. Все это применяется просто ахуеть насколько везде автоматика на заводе, авионика, да в принципе даже глаза разбигаются от обилия того куда это вставляют.
>везде автоматика на заводе
Но на заводах используют готовые решения в виде ПЛК с модулями.
мимозаводчанин
Что такое ПЛК? Грубо говоря это силовая часть + микроконтроллер. Если ты его раскрутишь то обнаружишь там какой нибудь МК возможно известной фирмы или не очень.
Вопрос был, видимо, не о Ерохиных с Омрона или Сименса, а о простых сычах с радиача.
В основном рулят сигналами и мелкими дисплеями. Без мк на транзисторах это был бы шкаф, а так мелкая аккуратная плата.
Уровень повыше - цифровая обработка сигналов, простейшие гуи прямым подключением к монитору.
Можешь например себе lossless плеер собрать с microsd. Или стабилизацию/управление полётом авиамодели. ЧПУ станок. Блок управления какой-нибудь стиралкой-кофеваркой-микроволновкой. Можешь хоть МК-61 замутить чтобы троллить /pr/. Большей частью как видишь драйвинг двигателей и считывание датчиков.
А в банкоматах и пополняйках пека стоит. Потому что надо ГУИ на браузере с флешплеером для рекламы.
Разбирался сегодня с оверклокингом stm32f072. Даташитная максимальная частота стандартна для M0-х = 48 МГц. Без использования внешнего осциллятора удалось достичь 96 МГц, используя предвыборку и задержку при обращении к флешу. Но сцука, работал около 2-х минут и уходит в hard fault. Снизил до 88 МГц, пока вроде работает и не греется. Хотя у меня такое чувство, что он на глаз даже стал менее надежным - один раз прикоснулся к плате и микра сбросилась.
Оверклокинг жи? Если ты не троллишь, то при повышенном напряжении ядра процессор стабильнее работает на более высоких частотах, однако больше греется. Просто повышение частоты не так сильно нагревает процессор. А вольтмод как раз объясняет наличие здоровенных радиаторов у оверклокеров, так как они напругу обычно поднимают.
>при повышенном напряжении ядра процессор стабильнее работает на более высоких частотах
Не троллирую, первый раз про такое слышу.
>Просто повышение частоты не так сильно нагревает процессор
Лолчто? Нагрев квадратично зависит от тока (точнее от потребляемой мощности), а последнее зависит от частоты. Я это себе даже так представляю: чем быстрее переключается транзистор, тем больше "работы" он совершает. Я не опровергаю, что повышение напряжение не влияет на температуру, но на мой взгляд влияние частоты выше.
>первый раз про такое слышу
ну почитай про разгон всяких видюх, процессоров с вольтмодом. Помню еще в вузе развлекались тем, что какую-то палитовскую видюху типа Geforce 5600 GT разгонял, делал вольтмод путем перепайки резисторов, задающих напряжение на регуляторах. При этом, конечно стоковая система охлаждения менялась.
>Нагрев квадратично зависит от тока (точнее от потребляемой мощности), а последнее зависит от частоты. Я это себе даже так представляю: чем быстрее переключается транзистор, тем больше "работы" он совершает
У тебя слишком теоретическое представление о зависимости потребления от частоты. Вообще там много чего играет роль, техпроцесс, напряжение ядра, более того, сам алгоритм программы, и даже есть зависимость от данных. То есть если активно используются умножители, то потребление заметно больше.
Вообще чисто эмпирически потребление считают по формуле: некоторая константа плюс коэффициент, умноженный на частоту. Наверное, встречал в даташитах такой параметр как mW/MHz, вот это и есть константа. А при повышенном напряжении, тут не только частота больше, но и сам этот коэффициент.
Да, кстати, и на материнках оверклокерских тоже можно задавать напряжение на процессоре, в том числе и повышенное
>ну почитай про разгон всяких видюх, процессоров с вольтмодом
А почему работа процессора становится стабильнее при более высоких напряжениях? И что вкладывается в выражение "стабильная работа"?
>А почему работа процессора становится стабильнее при более высоких напряжениях?
ХЗ, могу спиздеть, но вроде при повышенном напряжении больше амплитуда и круче фронты импульсов, соответственно цифровые входы лучше понимают, что у них, ноль или единица
>И что вкладывается в выражение "стабильная работа"?
>работал около 2-х минут и уходит в hard fault
Это когда такой хуйни не происходит.
Где тут феномен, или ты прикалываешься? Время = количество тактов/ частоту, все верно
Мне почему-то казалось, что зависимость между производительностью и частотой линейная. Хотя бы в рамках даташито-допустимого диапазона частот.
ну так у тебя количество тактов, которое нужно для выполнения алгоритма - константа, частота меняется, значит график будет вида y=1/x
Но ведь из моего графика видно, что каждый следующий мегагерц вносит все меньший вклад в снижение времени выполнения. Я тут даже слегка апроксимировал и по моим расчетам выходит, что после 120 МГц вне зависимости от частоты бенчмарк будет выполняться за примерно одно и тоже время.
А что за бенчмарк? Может просто все упирается в пропускную способность флешки, код просто не успевает подгружаться
Бенчмарк самописный инкрементирование переменной в цикле.
Олсо, реквестирую исходники CoreMark'а. Малая вероятнсть, но может есть у кого.
ебать вы тут хакеры. Вот я вроде бы помигал светодиодом, потыкался со всякой периферией а что дальше то делать?
Хуй знает, как ты аппроксимировал. Если бы с увеличением частоты, как ты утверждаешь, время выполнения не уменьшалось или уменьшалось не значительно, то это бы означало, что количество циклов ядра, за которые выполняется бенчмарк, возрастало.
Однако, посмотри пик. Количество циклов процессора остается всегда постоянным, с очень незначительными отклонениями. Лишь только на 8 МГц циклов заметно меньше.
И еще насчет бенчмарка. Переменную в цикле можно инкрементировать просто в регистре, можно сохранять ее в стек, можно записывать после каждого инкремента в память, потом читать из памяти, компилятор может развернуть инструкции в цикле, может по-разному организовывать цикл. Тут у тебя не понятно, что задействовано, только ядро или ядро и память, или ядро, память данных и флеш, с которой подгружается код? Глянь на ассемблер
относительно много времени, умею программировать под вендроид, но не доставляет. Программировать под железо нравится больше. Хочу в самсунги и интелы, это я преувеличиваю но хочу стать еба специалистом. Ну в распоряжении у меня есть discovery stm32f4, сейчас пытаюсь из нее сделать плеер что бы с флэшки читало и воспроизводила на выход наушников, потом думаю запилить экранчик и FreeRTOS. Но что дальше? Куда двигаться? Как я вижу дальше, это надо Linux какой нибудь собирать под ARM собирать начать, но хз нужно ли это.
Судя по твоим переживаниям, вроде "ах, вот я сделаю плеер с экранчиком и изучу FreeRTOS, что же дальше... неужели упрусь в потолок мастерства...", ты к плееру даже не приступал, так ведь? В таком случае советую тебе просто начать что-то делать, а не рассуждать о высоких материях и стратегических планах.
Вообще, хороший инженер, вне зависимости чем он занимается, должен иметь следующие навыки:
-умение читать и главное понимать! техническую документацию на английском языке, так как на 99% используемых компонентов на русском её нет в принципе.
-уметь быстро разбираться в чем-то новом. Например если тебе дают задание управлять трехфазным двигателем, а до этого ты только светодиодом моргал, то через неделю ты уже должен понимать, о чем вообще идет речь, и какие основные принципы.
-вытекает из предыдущего пункта, должен уметь искать нужную информацию. Ну, для начала, пользоваться гуглом, потом уже ходить в библиотеку и уметь находить нужные книжки с необходимой информацией.
-очень важно уметь объяснять свои мысли и что ты делаешь. Это вообще чуть ли не самый важный из пунктов, который ценится в самсунгах и интелах, да и в остальных конторах. Так как инженеры в большинстве своем не обладают телепатическими способностями, им трудно понять, что у тебя в голове. Хотя для тебя это может казаться очевидным. Поэтому старайся излагать свои мысли кратко, но так, чтобы понятно было людям, которые в первый раз сталкиваются с тем, над чем ты работаешь. К тому же, человек, который не может объяснить, что он делает, какую задачу решает, вызывает недоверие, а нужно ли вообще то, что он делает он что, ебанутый.
Что касается микроконтроллеров, тут нужны технический английский, знания интрефейсов, сетевых протоколов, беспроводных протоколов плюс немного тут еще писал >>159566
Думаю, не надо объяснять необходимость понимания, как вообще работает процессор, что такое ядро, периферия, прерывания, память, регистры, шины
Если кратко, то я портировал бенч на stm32l151 и прогнал на low-freq диапазоне. График тот же. В итоге я решил, что как-то заморачиваю сам себя по ходу, так как непонятно, с чего я решил, что зависимость производительность(частота) = kx + b.
Было бы интересно наложить теперь на него потребляемую мощность и определить каку-нить оптимальную точку, но мне лень.
>>174837
>Куда двигаться?
предполагается, что ты умеешь в nvic, tim, wdg, dac\adc\dsp, spi, i2c, usb, usart
1) управление все более сложной периферией в том числе с высокоскоростными параллельными интерфейсами. DDR3 ну или просто сделай обработку изображения с оптического сенсора напрямую освой к примеру.
2) построение многопроцессорных систем. сделай так, чтобы какой-нить 407 разбрасывал задачки по 050-030м, собирал результаты, передавал на компьютер. Биткойны считай например.
3) mcu + fpga\ascic.
4) освой vhdl\verilog и запили свой soft-процессор.
Компания RTSoft (www.rtsoft.ru) проводит летнюю школу по Embedded Linux для студентов. Приглашаются все студенты интересующиеся работой в сфере IT и современной электроники, независимо от курса.
Мы научим вас подсистемам ядра Linux, научим фиксить баги в ядре, работе с реальным железом на низуом уровне! У вас будет возможность поработать со встраемой платформой BeagleBone на базе процессора ARM(TM) Cortex A8.
Дата начала проведения: 7 июля 2015 года.
Минимальные входные требования: знание синтаксиса языка C и базовое понимание устройства ОС.
Контакты:
Александр Русев
arusefLrvANUSrtsofItGtPUNCTUMIUoru
8(903)7493140
1. День 1
1.1 Ядро Linux, исходники, git, сборка ядра
1.2 Модуль ядра, параметры ядра
1.3 Символьный драйвер, загрузка, компиляция
2. День 2
2.1 Повторения + блокирующие операции
2.2 Память ввода ввывода, порты ввода вывода
2.3 Прерывания
3. День 3
3.1 Мутексы и локи
3.2 Иерархия драйверов (на примере i2c подсистемы)
3.3 USB подсистема
4. День 4
4.1 Device tree
4.2 u-boot, tftpboot, pxe, nfs, etc.
4.3 Быстрая загрузка
4.4 Файловые системы, initrd, initramfs
5. День 5
5.1 Тестирование
5.2 Debug
5.3 Вместо заключения многопроцессорность\реальное время
В качестве учебных заданий вы сделаете:
[1] устройство безопасного подключения USB флешек к любым хостам. Безопасность достигается использованием посредника между флешкой и хостом - платы BeagleBone. Далее через USB client/ usb gadget usb mass storage - осуществляется отображение файлов на хосте. Мы научим вас как сконфигурить rootfs, сделать минималистичное ядро, настроить скрипты, обеспечить быструю загрузку системы, как быстро переключать режимы монтирования, т.е. Запрещать/разрешать запись на флешку.
[2] Напишете собственный драйвер или приведете к mainline стилю существующего драйвера, для устройства usb-serial exar XR21B1411
(http://www.farnell.com/datasheets/1492197.pdf)
[3] Исследуете актуальной баг в ядре и возможно найдете решение для
него,которое подойдет для mainstream (kernel.org)
Компания RTSoft (www.rtsoft.ru) проводит летнюю школу по Embedded Linux для студентов. Приглашаются все студенты интересующиеся работой в сфере IT и современной электроники, независимо от курса.
Мы научим вас подсистемам ядра Linux, научим фиксить баги в ядре, работе с реальным железом на низуом уровне! У вас будет возможность поработать со встраемой платформой BeagleBone на базе процессора ARM(TM) Cortex A8.
Дата начала проведения: 7 июля 2015 года.
Минимальные входные требования: знание синтаксиса языка C и базовое понимание устройства ОС.
Контакты:
Александр Русев
arusefLrvANUSrtsofItGtPUNCTUMIUoru
8(903)7493140
1. День 1
1.1 Ядро Linux, исходники, git, сборка ядра
1.2 Модуль ядра, параметры ядра
1.3 Символьный драйвер, загрузка, компиляция
2. День 2
2.1 Повторения + блокирующие операции
2.2 Память ввода ввывода, порты ввода вывода
2.3 Прерывания
3. День 3
3.1 Мутексы и локи
3.2 Иерархия драйверов (на примере i2c подсистемы)
3.3 USB подсистема
4. День 4
4.1 Device tree
4.2 u-boot, tftpboot, pxe, nfs, etc.
4.3 Быстрая загрузка
4.4 Файловые системы, initrd, initramfs
5. День 5
5.1 Тестирование
5.2 Debug
5.3 Вместо заключения многопроцессорность\реальное время
В качестве учебных заданий вы сделаете:
[1] устройство безопасного подключения USB флешек к любым хостам. Безопасность достигается использованием посредника между флешкой и хостом - платы BeagleBone. Далее через USB client/ usb gadget usb mass storage - осуществляется отображение файлов на хосте. Мы научим вас как сконфигурить rootfs, сделать минималистичное ядро, настроить скрипты, обеспечить быструю загрузку системы, как быстро переключать режимы монтирования, т.е. Запрещать/разрешать запись на флешку.
[2] Напишете собственный драйвер или приведете к mainline стилю существующего драйвера, для устройства usb-serial exar XR21B1411
(http://www.farnell.com/datasheets/1492197.pdf)
[3] Исследуете актуальной баг в ядре и возможно найдете решение для
него,которое подойдет для mainstream (kernel.org)
>Это вообще чуть ли не самый важный из пунктов, который ценится в самсунгах и интелах
Проиграл с тебя. В самсунге ценится, если ты язык в жопу засунешь и будешь выполнять задание от корейцев ровно так, как они сказали. И им поебать, что твой способ оптимальнее/лучше/правильнее.
А если ты начальник, то твое главное умение - это составлять презентации по корпоративному шаблону. Больше ничего тебе не нужно из профессиональных качеств.
Отработал два года в московском самсунге эмбеддером и знаю как минимум по одной персоне на оба пункта, перечисленных мной
ну так во всех крупных компаниях чаще всего. А сколько в самсунге платят то эмбедеру, кто то говорит что много кто то мало. И как ты туда попал то?
Ну блять, и в чем тут противоречие с умением понятно и доступно выражать свои мысли?
Платят всем примерно одинаково. Рядовому инженеру около 80-90к. Да и ведущему примерно так же. Был в отделе околоядроЛинукса. Попал, просто вывесив резюме на хэдхантере в конце института.
>>174946
>в чем тут противоречие с умением понятно и доступно выражать свои мысли
С тем, что эти мысли выражать вообще не надо. Это беда многих исследовательских центров в России. Иностранцы нас вообще не считают за людей. Я еще общался с инженером из Рено. Он говорит, что у них то же самое было. Менеджмент из-за границы ведет себя как маленький ребенок, которого не переубедить. Хочу и все.
Простите за политоту, но и в межународных отношениях то же самое. Диалог они вести не могут. У них какой-то синдром, который не позволяет вести дискуссию и заставляет с невиданным упорством толкать свои требования.
Тонкая методичка. Через пару лет даст всходы.
Мы говорим о разных вещах. Ты говоришь про общение с заказчиком/начальником, то есть вертикальные коммуникации. Понятное дело, что если он говорит что-то делать и платит за это деньги, нужно это делать именно так, как он сказал, в этом и весь смысл работы по найму, а если ты такой охуительный, что знаешь как лучше, то почему бы тебе самому не организовать свою компанию. Посуди сам, ты заказываешь какой-либо продукт, платишь деньги, а тебе в ответ говорят, что это хуйня, давайте вообще другое делать, еще и переубедить пытаются.
Я же говорил об общении между инженерами, например в рамках команды проекта, ну или когда хотят с тобой проконсультироваться.
Плюс те же "корейские начальники", если они хотят, чтобы подчиненный точно сделал то, что они хотят, они сами должны понятно формулировать задание, и чем точнее оно будет сформулировано, тем точнее будет выполнено.
Нет, иностранцы русских обижают!
Ну я имел в виду, что предложение изменений не настолько глобальные, как "все хуйня, давай по-новой". Имелся в виду выбор инструментария, некоторые изменения архитектуры и прочее в таком духе. В конце концов, если сам заказчик хочет что-то качественное, то почему бы ему не выйти на диалог, а не строить из себя академика-эмбеддера.
Общение между инженерами в крупных организациях практически нулевое даже в рамках одного проекта. Так мне за один год только один раз надо было обратиться к коллеге, да и то, чтобы узнать некоторые параметры запуска. Все это из-за очень грамотной организации(вот это огромный плюс таких компаний). Твой тим лид разделяет задачу на очень элементарные подзадачи, что ты ее клепаешь, не глядя на других.
Про точность формулировок, то про ТЗ там вообще никто не слышал, если что. Делается все на догадках.
Я могу много историй поведать про долбоебизм руководства. Просто сейчас простыню лень катать. Если реквесты будут, то завтра напишу прохладных.
> Понятное дело, что если он говорит что-то делать и платит за это деньги, нужно это делать именно так, как он сказал, в этом и весь смысл работы по найму, а если ты такой охуительный, что знаешь как лучше
Бля меня 3 года назад уволили из-за такой хуйни. Но потом контора влетела на охуительную неустойку и проебала контракт с одним из опсосов из-за того что деревенские уебаны нихуя не успевают, и нихуя не умеют.
ALLO, ETO TY?
>где и как получать много денег?
Устройся работать менеджером по продажам. Или бизнес запили.
>>174971
Давно надо было сохранить как копипасту. Ну да ладно.
Было много разного, но расскажу самое вкусное.
Для начала нужно сказать, как задачи попадают в R&D центры, которые не корейские. Суть токова. Корейцы в хэдквотере генерят кучу идей. Потом эти идеи в черновом варианте реализуются и как-то проверяются на жизнеспособность. Может, там опросы какие или еще чего - неважно. Из всего пула выживших идей отбираются наиболее интересные для разработки. Остальные идеи разыгрываются как тендер между разными центрами. Очевидно, что годноты там почти нет. По крайней мере, в департаменте ПО я мог сказать "ого, вот это интересная штука" только про один проект. Но его придумали у нас и как-то протолкнули корейцам. И писал его один сумрачный гений(и показывал неплохие результаты).
Итак, теперь сама стори. Работал у нас парень, довольно умный и трудолюбивый. Подошла к нему некая крупная задача в рамках проекта. Многие теоретики могут сказать, что если задача крупная, то нужно долго сидеть с заказчиком и обсуждать сроки, архитектуру, перспективы развития (чтобы эта самая архитектура соответствовала расширяемости, или не соответствовала, но писалась быстро). Не тут-то было! Корейцам нужно побыстрей, поэтому сказали, что использовать надо тот черновой проект proof of concept. Спорить с ними бесполезно, я уже выше указал на это. Срок установили 3 месяца.
Пошла работа. И тут через пару недель ему на почту стучится корейский руководитель проекта и говорит, что надо через 2 недели показывать достижения совсем главным корейцам, поэтому похуй как, но он должен сделать чтобы работало. Тот парень прихуел, но стал работать усиленней. Ночевал на работе последнюю неделю. Сделал. Работает. Память течет. Если не дышать и жать на правильные кнопки, то даже не падает. Удивительно, что он согласился работать по ночам, хотя ему не дали денег за особые условия, за ночевки, не оплатили ужины и прочие неудобства(наверно какую-то переработку ему оплатили, типа выходных, но не более).
Значит, отчитались с этой штукой одни корейцы перед другими. И сказали "а теперь, иван, переделывай по-человечески". Иван их как мог обматерил в чате и написал заявление на увольнение. Все наше руководство его пыталось удержать, обещали в любой отдел перевести, отпуск дать. Но тот сомневался только около часа, ибо от смены отдела ничего не изменится.
>>174971
Давно надо было сохранить как копипасту. Ну да ладно.
Было много разного, но расскажу самое вкусное.
Для начала нужно сказать, как задачи попадают в R&D центры, которые не корейские. Суть токова. Корейцы в хэдквотере генерят кучу идей. Потом эти идеи в черновом варианте реализуются и как-то проверяются на жизнеспособность. Может, там опросы какие или еще чего - неважно. Из всего пула выживших идей отбираются наиболее интересные для разработки. Остальные идеи разыгрываются как тендер между разными центрами. Очевидно, что годноты там почти нет. По крайней мере, в департаменте ПО я мог сказать "ого, вот это интересная штука" только про один проект. Но его придумали у нас и как-то протолкнули корейцам. И писал его один сумрачный гений(и показывал неплохие результаты).
Итак, теперь сама стори. Работал у нас парень, довольно умный и трудолюбивый. Подошла к нему некая крупная задача в рамках проекта. Многие теоретики могут сказать, что если задача крупная, то нужно долго сидеть с заказчиком и обсуждать сроки, архитектуру, перспективы развития (чтобы эта самая архитектура соответствовала расширяемости, или не соответствовала, но писалась быстро). Не тут-то было! Корейцам нужно побыстрей, поэтому сказали, что использовать надо тот черновой проект proof of concept. Спорить с ними бесполезно, я уже выше указал на это. Срок установили 3 месяца.
Пошла работа. И тут через пару недель ему на почту стучится корейский руководитель проекта и говорит, что надо через 2 недели показывать достижения совсем главным корейцам, поэтому похуй как, но он должен сделать чтобы работало. Тот парень прихуел, но стал работать усиленней. Ночевал на работе последнюю неделю. Сделал. Работает. Память течет. Если не дышать и жать на правильные кнопки, то даже не падает. Удивительно, что он согласился работать по ночам, хотя ему не дали денег за особые условия, за ночевки, не оплатили ужины и прочие неудобства(наверно какую-то переработку ему оплатили, типа выходных, но не более).
Значит, отчитались с этой штукой одни корейцы перед другими. И сказали "а теперь, иван, переделывай по-человечески". Иван их как мог обматерил в чате и написал заявление на увольнение. Все наше руководство его пыталось удержать, обещали в любой отдел перевести, отпуск дать. Но тот сомневался только около часа, ибо от смены отдела ничего не изменится.
Это было, пожалуй апогеем корейской ебанутости. Но стоит запомнить, что корейцам главное результат. Им неважно, как результат был достигнут и как этот результат будет влиять на следующие этапы.
Еще была примечательная история, когда народ начал массово валить из центра. Когда я приходил, был массовый набор. Мол, хорошие времена были и люди требовались. Через два года все начали валить и я в том числе. И значит в честь такого события, что все валят, гендиректор решил собрать людей и поговорить со всеми на тему, что им не нравится.
Сейчас отступлю и скажу, что не нравилось мне. Работа по большей части для обезьян. То есть бэкграунд нужен только в знании языка программирования и некоторых алгоритмических трюков уровня институтской программы. В остальном, если не дурак, то разберешься(для сравнения сейчас, чтобы написать небольшую программу мне надо перелопатить кучу научных статей, да еще в учебники по разным разделам математики позаглядывать. Это заодно и ответ на вопрос >>174979 Место работы называть не буду. Но исследуем методы обработки сигналов, кодирования и прочего такого) Продвижение по службе и премии тоже не ахти. Если ты особо умный, то едва ли ты будешь продвигаться быстрее коллег. Зарплата по рынку средняя. Премий особо не дают. Мой знакомый из Хуавея говорил, что там есть квартальные премии размера оклада или двух. В самсунге премию нам давали на какой-то юбилей компании, и она была около 40к. В остальном там все не так уж и плохо, если нервы в порядке.
Так вот. Собрались мы с директором говорить. Если сразу к сути, то директор сказал, что его очень огорчает, когда работник увольняясь говорит, что у него низкая зарплата. Ведь в сосунге ШТАБИЛЬНОСТЬ, а она важнее. Потом он спросил людей, что им не нравится. Первый человек попытался ему задвинуть телегу, что такие разговоры бесполезны. Ибо если все молчат, то их должно все более-менее устраивать, а если молчит большинство, то изменение от одного недовольного обернет комфортные условия для большинства в дискомфорт, поэтому директор только хуже сделает.
После этого у директора глаза стали европейскими и он сказал, что вообще не понял, что за херь ему сказали. Ведь мы все единый организм и если одному плохо, то страдают все, бла-бла-бла и прочий азиатский взгляд на жизнь.
А потом парень с мехмата(если я не ошибаюсь) начал ему задвигать, что он не для того мехмат заканчивал, чтобы пялиться в логи. Его знания позволяют сделать больше полезного, чем анализировать вывод программы. После это директор улыбнулся и выдал что-то типа "гылол" и беседа затухла.
Корейцы мыслят совсем по-другому. Они не могут организовать процесс в других странах. Для этого им нужно менять понимание о человеке и работнике.
Это было, пожалуй апогеем корейской ебанутости. Но стоит запомнить, что корейцам главное результат. Им неважно, как результат был достигнут и как этот результат будет влиять на следующие этапы.
Еще была примечательная история, когда народ начал массово валить из центра. Когда я приходил, был массовый набор. Мол, хорошие времена были и люди требовались. Через два года все начали валить и я в том числе. И значит в честь такого события, что все валят, гендиректор решил собрать людей и поговорить со всеми на тему, что им не нравится.
Сейчас отступлю и скажу, что не нравилось мне. Работа по большей части для обезьян. То есть бэкграунд нужен только в знании языка программирования и некоторых алгоритмических трюков уровня институтской программы. В остальном, если не дурак, то разберешься(для сравнения сейчас, чтобы написать небольшую программу мне надо перелопатить кучу научных статей, да еще в учебники по разным разделам математики позаглядывать. Это заодно и ответ на вопрос >>174979 Место работы называть не буду. Но исследуем методы обработки сигналов, кодирования и прочего такого) Продвижение по службе и премии тоже не ахти. Если ты особо умный, то едва ли ты будешь продвигаться быстрее коллег. Зарплата по рынку средняя. Премий особо не дают. Мой знакомый из Хуавея говорил, что там есть квартальные премии размера оклада или двух. В самсунге премию нам давали на какой-то юбилей компании, и она была около 40к. В остальном там все не так уж и плохо, если нервы в порядке.
Так вот. Собрались мы с директором говорить. Если сразу к сути, то директор сказал, что его очень огорчает, когда работник увольняясь говорит, что у него низкая зарплата. Ведь в сосунге ШТАБИЛЬНОСТЬ, а она важнее. Потом он спросил людей, что им не нравится. Первый человек попытался ему задвинуть телегу, что такие разговоры бесполезны. Ибо если все молчат, то их должно все более-менее устраивать, а если молчит большинство, то изменение от одного недовольного обернет комфортные условия для большинства в дискомфорт, поэтому директор только хуже сделает.
После этого у директора глаза стали европейскими и он сказал, что вообще не понял, что за херь ему сказали. Ведь мы все единый организм и если одному плохо, то страдают все, бла-бла-бла и прочий азиатский взгляд на жизнь.
А потом парень с мехмата(если я не ошибаюсь) начал ему задвигать, что он не для того мехмат заканчивал, чтобы пялиться в логи. Его знания позволяют сделать больше полезного, чем анализировать вывод программы. После это директор улыбнулся и выдал что-то типа "гылол" и беседа затухла.
Корейцы мыслят совсем по-другому. Они не могут организовать процесс в других странах. Для этого им нужно менять понимание о человеке и работнике.
Потом еще напишу. Вдохновение закончилось.
не понимаю в чем проблема.
Нужно показать прототип для продолжения финансирования проекта. От него и требовали прототип.
Прототип показали, теперь надо делать все нормально. Это типичный процесс разработки ПО.
>>175029
"Стабильность" - это единственное чем мог похвалить контору директор. Я его понимаю.
Выпускник мехмата хочет сразу со скамьи стать директором? Так не бывает нигде. Если такой умный, пусть открывает свою контору как билл гейтс. Чтобы получать интересные проекты - нужно показать свою профпригодность и остальные качества на стандартной текучке, зарекомендовать себя перед директорами.
>Нужно показать прототип
Нет же. Это был полноценный проект с оговоренными сроками, которые потом сократили в три раза. Это не типичный процесс.
>Выпускник мехмата хочет сразу со скамьи стать директором
Да нет же опять. Никто на руководящий пост не претендует. Если тебе идет поток тупых задач и ты знаешь, что он не прекратится, пока существует отдел, то нахуй так жить. Зачем вообще набирать выпускников мехмата, если не можешь их обеспечить соответствующими задачами? Я по той же проблеме оттуда ушел.
> И тут через пару недель ему на почту стучится корейский руководитель проекта и говорит, что надо через 2 недели показывать достижения совсем главным корейцам, поэтому похуй как, но он должен сделать чтобы работало.
Это и называется "показать прототип". Не знаком с методикой Agile? Там каждые 2 недели текущий проект показывается заказчикам.
В данном случае видимо сработал испорченный телефон. Кто-то не донес, кто-то не понял, кто-то не досказал. В любом случае не надо усираться над проектом, если тебя об этом не просят и тебе не будет от этого выгоды.
>Зачем вообще набирать выпускников мехмата, если не можешь их обеспечить соответствующими задачами
Потому-что платишь им зарплату и их эта зарплата и работа в мировой компании устраивает. Людям платят деньги за работу, а работа далеко не всегда приятна.
Сеньорам с десятилетним опытом тоже приходится разбирать говнокод и фиксить баги. Это часть работы. За это человек получает деньги.
Не пойму тебя, почему так пытаешься защитить корейцев.
Нет там ни Agile, ни какой другой идеологии. Не было никакого прототипа. Его попросили усраться. Он усрался. Почему такая ситуация возникла? В руководстве долбоебы. О чем я и вещаю.
>Потому-что платишь им зарплату
От таких начальников надо бежать.
Вот пример со мной. Похуй на возможный деанон от бывших коллег. Я в резюме указал, что знаю устройство операционных систем, архитектуру ARM, знал оптимизации компиляторов и т.д. Пришел на собеседование, беседовали по тому, что указано в резюме. Знаешь, что я делал следующие полтора года? Первая задача - написать анализатор на Flex+Bison. Ну ладно, ты сам говоришь, что тестовая задача, все такое. А потом я писал скрипты на питоне. Охуенно? Где ядро прыщей? Где ARM? Где все, блядь?!
С тобой можно, конечно, согласиться, что мол начальник платит зарплату, поэтому может работникам давать любые задания. Только с таким подходом у начальника будет жуткая текучка, что он разорится нахер.
Собственно, сейчас в московском самсунге это и произошло. Пятую часть или четверть сократили. Хотя доллар вырос, Корея в Россию зарплату в валюте перечисляет, а переиндексация зарплаты не такая большая, чтобы разоряться(10% в год примерно).
а как вообще пробился в ЦОС? Я пытался, но везде требовался опыт именно в ЦОСе, я вроде бы книжки то читал а стартовую вакансию найти не могу.
В ЦОС довольно сложно пробиться. В хуавей, например, только кандидатов наук берут или тех, кто проводил исследовательские работы по тематике. Если скажу, что повезло тоже не совсем правдой будет.
У меня вуз способствовал доброжелательности работодателей(МФТИ), и на позапрошлой работе был один проект, связанный с обработкой сигналов и изображений.
Короче надо обновлять на хэдхантере вакансии и в нужное время открывать резюме или идти схемотехником в компанию, которая занимается коммуникациями или еще какой-нибудь смежной областью и там потихоньку подключаться к нужной тебе области.
Иди в НИИ, ну или интерном в какую-нибудь компанию.
>я вроде бы книжки то читал
хуясе, а специальность у тебя какая?
Можешь что-нибудь сказать про Yaliny? Периодически всплывает от них вакансия. Они реально пилят ЙОБА систему или как?
Открываешь мануал, и оп-ля, на 17-й странице находишь, что если не через usb st-link'а и не через пользовательский юсб, то надо подать 5 и/или 3 вольта на соответствующие пины.
Ну вот сую я на пин Vdd 4,6 вольт от кроны или 2,6 от плоской батарейки из материнки - и нифига
рукалицо.жпг Надеюсь ты его не сжег к хуям.
Посмотри на него э3 в мануале. И суй 5В на пин 5В. Vdd - питание самого чипа, застабилизированное, сглаженное и оно согласно даташиту должно быть равно 3V3.
Я далеко не эксперт в этом. Так что мое мнение мало, что значит. Но оно у меня все равно есть.
Мне кажется, что это какое-то наебалово. Уж слишком все красочно выглядит, что они делают связь за 10 долларов в месяц по всему миру. Даже непонятно, как они все юридически будут согласовывать. Что уж говорить про техническую часть.
посоветуйте годную магистратуру и универ где можно было качественно изучить ПЛИС. Или не имеет смысла и надо сразу искать годную работу?
анон скажи, в таки корпорации типа самсунга берут только из ТОПовых ВУЗов? и много ли ты узнал по спецухе когда учился в МФТИ? или так же как и все отучился и уже 90% нужных знаний на работе получил.
В любой крупной компании нужны знания, сечешь?Пойди на московский филиал Фрискейла и посмотри требования.И как правило в пруф своих знаний, нужно показать свои проекты.Мол я вот работал над тем-то и тем-то.И вот такой успех был достигнут.Один или в компании это не имеет значения, главное не стоять и молчать а показать что ты разбираешься в том что делаешь.Что для тебя слово cadence не пустой звук.И курсы по черной магии ты уже прошел.
>Использовать assert_param срабатывающий в рантайме
>Чтобы отлавливать ошибки возникающие во время компиляции
Ахахаха, блядь, какие же вы СИшники уёбки. Весь ваш SPL и даже HAL для STM32 написаны с помощью подобного говна и костылей. Как же мне печет от вашего уебанства. Тьфу, блядь! Аж смотреть противно.
уэа ай кэн даунлоад зэ сёрд бук? Ай нид ит бэдли!
>изучить ПЛИС
дома сам с собою не пробовал?
Никто не отвлекает, запиливаешь годногу, постишь на дваче - PROFIT
>спец предметы начались только на 3ем курсе
кое-кто начинал и в 8 лет, а не в футбол по двору гонял.
Нет, ну серьёзно. Разве мое замечание не резонно? Почему вы используете и заставляете меня использовать, потому что альтернативы не язык, в котором нет механизма, позволяющего, например, отловить ошибки на этапе компиляции, которые в принципе уловимы на этом этапе? Почему вы постоянно укоряете джавабогов и смеетесь над паскалепидорами, хотя у вас у самих рылце в говне?
>Почему вы используете и заставляете меня использовать, потому что альтернативы не язык, в котором нет механизма, позволяющего, например, отловить ошибки на этапе компиляции
Напиши свой компилятор, хули ты как маленький.
>Почему вы постоянно укоряете джавабогов и смеетесь над паскалепидорами
Потому что джавапидоры хотят свою джаву запихать везде, даже если это неуместно. А если говоришь, что железка тухлая, на ней всего 64К ОЗУ, тут же предлагают въебенить мегавычислитель с джавой.
А паскалепидоры хотят использовать паскаль, который вообще нигде не уместен, кроме школьного курса информатики.
Нет, конечно, можно программировать что угодно и на чём угодно, но зачем, когда к каждой задаче есть свои инструменты?
>Напиши свой компилятор, хули ты как маленький
Когда вырасту, обязательно напишу. Ибо мне пиздец как печёт от вашего говна. Не могли нормально зделоть.
>к каждой задаче есть свои инструменты
Ты же понимаешь, дорогой мой Си-даун, что у вас даже нет неймспейсов? Как, блять, библиотеки писать, сука? Как их без неймспейсов писать, я тебя спрашиваю? Ты понимаешь, блять, что в любом мало мальски сложном проекте, обязательно случиться конфликт имен? Ваше говноподелие как раз ничем не лучше быдлопаскаля из-за подобной хуйни.
себя любимого
>#ifndef __MY_SUPER_PUPER_LIBRARY_H__
>#define __MY_SUPER_PUPER_LIBRARY_H__
>...
>#endif // __MY_SUPER_PUPER_LIBRARY_H__
Сукабля, как же мне печет от ваших костылей. Оправдывайтесь, блять, давайте.
Кстати, здорово. Не думал кряку для переборки паролей (rar, zip) залилить по типу тех, что GPU юзают?
Альтернативы?
я не знаю. Раз видел FPGA, что тысячи стоят, на эбее совсем дёшево. А там сотни умножителей (хоть они в кряках и не нужны вроде)
Юзал прогу, что обрабатывала по 6000 в секунду. Но у этих пидаров лиценция оказалась на год ограничена. Вот и думай, как можно было запустить что-нибудь с нею на дольше чем год.
потому что это правило игры. Джавабляди и паскалепидоры сосут потные хуйцы, а сигоспода тоже это делают но не сознаются. Аналогичная позиция у джаваблядей и паскалепидоров.
на С++ вон фрисеил сделали нормальные библиотеки.
Ты ведь понимаешь, что нам нужен нормальный низкоуровневый язык? С низкоуровневыми возможностями, как у Си, но без его ебучих костылей.
лол в чем профиты? FPGA это не убер процессор с огромной тактовой частотой. FPGA это способ заточиться под какие нибудь очень специфичные задачи. Все равно что сравнивать мозг и процессор.
макроассемблер?
таких нет, деньги крутятся в Java и вебмакакинг. В принципе есть С++ который можно использовать в МК, а так сомневаюсь что когда нибудь нам завезут нормальный низкоуровневый язык.
таки да, но С++ продуманнее, да и даже банальной пространства имен завезли. Си вообще знаешь ли для любых задач достаточно.
на полгигагерца я че то тоже не слышал, хотя давно не интересовался че там у плисоводов. Хотя сомневаюсь что их так сильно осчастливили за последний год. Думаю там не больше 300-400 МГц. Да и для покупки плат с этими плисками нужно взять ипотеку.
Ты не понимаешь в чем суть плис. Если говорит об аналогиях. Вот смотри в голове человека есть участок головного мозга который отвечает за выделение контуров(я не особо шарю в этом, но те пару статей которые я читал на тему говорят что таки мозг сначала контура выделяет) и этот участок пиздато выделяет контура. Он это делает за счет архитектуры, потому что нейроны так удачно связанны между собой. Если говорить про тактовую частоту, то у мозга она не такая уж и большая(если можно вообще говорить о тактовой частоте мозга). Но тем не менее именно за счет уникальной архитектуры этого участка можно делать это очень эффективно при это не имея какой то заоблачной тактовой частоты. Но при этом у нашего мозга возникают большие проблемы когда надо сделать что то на что нас не заточила эволюция. Например умножить 324234523532*3452445325 сходу. Хотя процессор с этим справится без проблем.
Для себя тоже. Но нужно двигаться дальше.
NRST НУЖНО ЦЕПЛЯТЬ К VDD ЧЕРЕЗ РЕЗИСТОР
и хоть бы одна сука где-то это написала
мне кажется этот тред надо мигрировать в /pr
пэтон рулез блеат!
Может лучше в /per ?
При подаче питания SWCLK звонится с землей. Возникло внезапно. Пробитие статикой?
Идиот, не прозванивай схему под напряжением.
Сходить ты можешь и сейчас, потом расскажешь сколько хуцов тебе насовали в ротешник, перед тем как ты смог сбежать, лел.
http://marsohod.org/index.php/howtostart/plata
Да ПЛИС это возможность создать свою цифровую микросхему со своей архитектурой, а потом перезаписать. Но лучше бери плату Марсоход 2 на 10к элементов, третий марсаход хуйня без задач и переплата.
Нахуй тебе перебирать мега быстро варианты, если ты в любом случае ограничен скоростью проверки?
> 1. перебирать мега быстро варианты
> 2. ограничен скоростью проверки
Подумай, что сказал, и приходи исчо.
Воу-воу, хакир, полегче. Не совсем корректно выразился. Если ты не можешь проверить вариант со скоростью генерации варианта, то какой смысл эту скорость наращивать?
Объясняю на пальцах. Вот этот палец средний.
Если на генерацию варианта пароля надо 10 единиц времени, а на его проверку 1000, то
1. нахуяриваем 100 идентичных ядер на один чип
2. затрачиваем 10 х 100 = 1000 единиц времени, чтобы создать 100 рандомных паролей на проверку
3. обрабатываем все 100 за 1000 единиц времени ПАРАЛЛЕЛЬНО
4. имеем 100 проверенных пароля за 2 х 1000 = 2000 единиц времени вместо 100 х (10 + 1000) = 101000
ускорение в 50 раз
GPU не параллелит вычисления, блеат?!
Ну ладно тебе, я устал к пятнице, херово формулирую мысли уже и половину пишу в своей голове, а не тут. Так вот.
Описанный тобой алгоритм возможен только в том случае, если ты можешь распараллелить операцию проверки, в противном случае ты сосёшь свой этот самый палец, которым ты обычно разжевываешь.
Прости, мне сразу стоило понятно изъясняться.
Я только начавшая студентота и мне нужно проделать это ещё и с 8051, который мне показался ещё сложнее. Мне нужна помощь. Пока никто не откликнется - не скажу что конкретно, потому что сам не понимаю что делаю не так. Постоянно до чего-нибудь додумываюсь и переделываю, но так ничего и не вышло до сих пор.
Хочу от другого производителя, чтобы изучить, что-нибудь кроме stm32. LPC1758FBD80 как этот вообще? сильно отличается?
Ты начал не с того конца. По написаному понимаю так, что симулировать ты и не пытался. Взял код с тырнета, синтезировал дЫзайнъ, загрузил в циклон, а он и не рыпнулся.
Кури, как юзать симулятор. А там, как написать тестбенч. Для этого надо знать, чего ты ожидаешь. Заработает в симуляции - есть шанс, но не 100 проц, что зафурыкает и в железе. Если думаешь, что плисы - как с атмелами дрочиться, то ты очень сильно ошибаешься.
http://www.aliexpress.com/item/Original-BPI-M1-Banana-Pi-A20-Dual-Core-1GB-RAM-Open-source-development-board-singel-board/32353238101.html?spm=2114.01020208.3.161.b65Ey9&ws_ab_test=201526_1,201527_2_71_72_73_74_75,201409_1
http://www.aliexpress.com/item/Orange-pi-pc-compatible-raspberry-pi-2-Raspberry-Pi-banana-pi-pro-banana-pie-beyond-cubieboard/32457898834.html?spm=2114.01020208.3.230.UEzD6L&ws_ab_test=201526_1,201527_2_71_72_73_74_75,201409_1
ненене,
Я этот >>186885
просто хочу что-то новенькое, вот и спрашиваю каких бы девайсов еще прикупить, по сравнению с распбери и кубиком это то же самое?
Это не тоже самое. И это(как и распберри/бигл) вообще не микроконтроллер. Это одноплатный компьютер
двачую. Запустишь готовый линух, попердолишься в консольку и забросишь через месяц.
ПЛИС - god-tier. Им тни дают.
>>187101
так, давайте разберемся, я запутался в ответах.
Что такое ПЛИС я знаю, дома есть Max II, немного с ней работаю.
Рапсбери, кубик, банан, Орандж PI - это всё одно и то же? Процессор отдельно, память отдельно?
Их нельзя просто взять и начать писать для них код, как я пишу для stm32? Сначала нужен линукс?
Да, всё отдельно. Писать на bare metal таким системам весьма затруднительно. Но попытки есть. Могу себе представить, что дебаггер будет дорог и само окружение небесплатно.
https://www.google.ch/search?q=raspberry+pi+bare+metal+programming&ie=utf-8&oe=utf-8&gws_rd=cr&ei=SgQFVoSKCoOqU7HOpIgD
>дебаггер будет дорог
J-Link за 1000р - дорого?
>само окружение небесплатно
GCC - не бесплатно?
если цель - ЧСВ и рассказывать тян на блядках в Мухосранске, как запердолил на коленке под А7 на все 4 ядра офигительную мигалку, то да.
Охуенно ведь! Китайской подделкой под J-Link и гнушной поебенью, написаной прыщавыми мальчиками, седлать А7.
Тян не нужны однозначно. И они не протестуют.
Ты за жлинк платишь 90% Сеггеру
>Китайской подделкой под J-Link
Эпплопидор, небось? Чем китайская подделка отличается от оригинальной, м? Ачивкой "смотрите, поцоны, у меня ОРИГИНАЛ!"?
>гнушной поебенью, написаной прыщавыми мальчиками
Ну тогда накатывай на эту плату с A7 не линукс, а Windows CE и жри свое говно.
В общем, проследуйте нахуй.
Какая кому нахуй разница, будет ли твоя "уникальная разработка" под А7 на самособранном линухе, голом железе или ещё как.
Факт (прув ми ронг иф ю кэн): он не нужен другим людям, а твоё ЧСВ ебёт только тебя.
> гнушной поебенью, написаной прыщавыми мальчикам
Адски проиграл с дауна. Вангую нищего пидорана с зп 30к. Продолжай пользоваться потешным спермоподелием, пока профессионалы будут юзать божественный GNU/Linux
Мимо тыртырпрайзный джава дев
оживи
даташит? не, не слышал.
Апельсин - говно. Поддержки ноль. Купил, теперь не знаю, что с ним делать. После I.mx6 на работе испытываю недостаток инфы.
Тоже решил дико угореть по МК и наигравшись с диодами на STM32 discovery решил углублять свои знания в С которых и не было. Посоветуйте книги в порядке убывания бесполезности? Я знаю про ветхозаветность библии от Кернигана-Ричи, но может есть что-то еще из моего списка? Спасибо.
1. Сам вижу что дерьмо. Есть ли от нее польза?
http://www.bearbooks.ru/book.asp?id=1426319
2. Это, я так понимаю, уже для Upper-Intermediate?
http://www.bearbooks.ru/book.asp?id=1388507
3. Есть ли подобное для STM32?
http://www.bearbooks.ru/book.asp?id=1022443
4. Это туда же
http://www.bearbooks.ru/book.asp?id=1014782
5. Ближе к теме или тоже шлак?
http://www.bearbooks.ru/book.asp?id=1146487
6. Всегда лоллирую с уникальных книг. Есть ли в этой смысл?
http://www.bearbooks.ru/book.asp?id=1270168
7. Ну и, собственно, библия. Чем дополнить?
http://www.bearbooks.ru/book.asp?id=1395560
Тоже решил дико угореть по МК и наигравшись с диодами на STM32 discovery решил углублять свои знания в С которых и не было. Посоветуйте книги в порядке убывания бесполезности? Я знаю про ветхозаветность библии от Кернигана-Ричи, но может есть что-то еще из моего списка? Спасибо.
1. Сам вижу что дерьмо. Есть ли от нее польза?
http://www.bearbooks.ru/book.asp?id=1426319
2. Это, я так понимаю, уже для Upper-Intermediate?
http://www.bearbooks.ru/book.asp?id=1388507
3. Есть ли подобное для STM32?
http://www.bearbooks.ru/book.asp?id=1022443
4. Это туда же
http://www.bearbooks.ru/book.asp?id=1014782
5. Ближе к теме или тоже шлак?
http://www.bearbooks.ru/book.asp?id=1146487
6. Всегда лоллирую с уникальных книг. Есть ли в этой смысл?
http://www.bearbooks.ru/book.asp?id=1270168
7. Ну и, собственно, библия. Чем дополнить?
http://www.bearbooks.ru/book.asp?id=1395560
ты хотябы это то прочитал? вполне достаточный набор, библия от кернигана-ричи обязательна к прочтению, но она заточнена (примеры) для биг-системс с маллоками и стеками, нужно иметь ввиду
>Что делать дальше?
>кучи микроконтроллеров
>непроглядный лес "секс"
тупо забей и еби лолей, служи армейку и тд...
можеш ебать дельфинов или розовых коней не суть важно.
на сабеседовании начинаеш парить типа знаю эти знаю те знаю всякие, а те что не знаю достаточно быстро магу узнать.
ани сами порой не знаю что канкретно им нуда.
карочи совдеп поговорка - забуть нахуйвсе чему учили в институте (академии) и подметай полы.
>пишешь что-то свое
этого больше слушай он походу конденцатор от сапративления не отличит.
тебе нужны поверхностные знания -всеравно кагда придеш на работу будет конкретика и там главно не уметь в чтото свое, а уметь понимать что тут до тебя накрутили предыдущие деятели меча и топора.
Чтобы научиться программировать - программируй. Книги только тоску нагоняют.
Возьми любой проект для своего камня с гитхаба и поменяй в нем что-то, так чтобы все перепилить надо было. В книжки смотри, чтобы понять, что там вообще происходит. Хотя я изучал Си по stackoverflow и по знаниям ассемблера avr.
Си достаточно простой язык, просто пиши.
Хелп и маны писались аутистами для аутистов, но не все такие и им нужна какая-то литература.
Тогда читни кастанеду. Программирование - для аутистов, и тебе с нами не по пути.
Я студентота, могу в avr(но особого опыта нет), на очереди для освоения лежит какой-то ARM (в STM32 Discovery F3). Вопрос такой - верно ли, что надо осваивать как можно больше платформ, чтобы стать богом эмбедеда?
Хуевая из тебя ванга.
Да ежу понятно, что знакомым нужно быть со многими, разбираться уже по задаче. Си и схемотехника везде одинаковы, а с даташитами и аутист разберется рано или поздно
не стоит гнаться за всеми, для начала хватит легенького avr, средненького arm cortex-m (stm32) и чего-нибудь помощнее с линуксом на борту (отладочные платы вроде beaglebone). Постарайся не сидеть долго за каждым, вполне хватит умения реализовать какие-нибудь простенькие примерчики: приняли данные с какого-нибудь датчики, отфильтровали, переслали на ПК по usb, там их приняли, визуализировали. Дальше устраивайся в конторку программистом микроконтроллеров джуни (полученных знаний должно вполне хватить). Параллельно изучаешь более подробно следующие темы: алгоритмы, архитектуру компьютера, сети, линукс, цос(если необходимо). Далее, используя полученные знания и опыт, можешь перекатываться в более серьезный embedded .
На кассеты или бобины пиши.
А нельзя обустроить заливку через вифи на пека?
http://stm32f4-discovery.com/2014/07/library-21-read-sd-card-fatfs-stm32f4xx-devices/
Вот. Тебе спасибо, няша. А точно там 6 мб/сек будет? А то мне нельзя данные-то проебывать.
Тааак, падажжии! Какой еще буфер 2х32к? У меня уже есть один под данные с GPIO. Мне еще один что-ли нужен или что?
Хорошо. Я в общем-то так и делаю. Только считывать пока некуда. Алсо, спасибо за совет с картою. Купил себе только что 4гб микросд 10-го класса. Буду пробовать сегодня.
Анон, выручай. Нихуя не работает. Точнее работает, но плохо.
Если делитель клока SDIO ставить 2 (клок = 48/(2+2) = 12 МГц) то запись работает, если ставить 1 (16 МГц), то тоже работает, но иногда срывается в FR_DISK_ERR. А с нулевым делителем (24 МГц) и вовсе запись не работает - сразу срывается в FR_DISK_ERR.
Щито можно поделать? Провода укоротил как мог, и даже аудиокодек выпаивал который на stm32f4discovery сидит на ногах SDIO. Никаких улучшений. Есть идеи?
>по паспорту
По паспорту к чему?
>>200251
> карточка тугая и не справляется
Так то 10-й класс. И через комп вроде шустро копируется. У меня же на плате 10 Мб файл создается секунд 30. Поэтому в ней дело не должно быть.
Оптимизации я, кстати, тоже включал, но чет результатов не заметил. Проц на 168 МГц работает.
Про паспорт - это я к тому, может ли SDIO вообще на таких частотах работать. Кури даташит.
И кстати попробуй размотать ебливую стандартную библиотеку, если ты с ней работаешь. Или HAL там, я хз. Они обычно первые в списке пидоров, уж ST'шные китайские кодописатели стараются. Попробуй вручную по даташиту сделать.
>может ли SDIO вообще на таких частотах работать
Может. У них там делитель минимальный таков, что оно на 24 МГц работает. Причем во всех либах он на минимуме стоит и никто не жалуется. Это я тут с делением решил поэкспериментировать.
>>200283
>Попробуй вручную по даташиту сделать.
Это я на крайняк оставлю. Ведь у либописателя и его последователей эта хуйня работает с дефолтным минимальным делителем. Значит и у меня должна.
>>200283
>Они обычно первые в списке пидоров
И не говори. Каждый раз когда вижу софтовые творения от СТ у меня сразу возникает вопрос, сколько китайцев полегло, пока писалось это говно. Аж трисет от их либ. Сука блять. И ведь все конторы сейчас софтовые дыры ебаными китайца затыкают. Как будто это поможет им в долгосрочной перспективе.
Недавно начал осваивать STM'ки, сейчас остановился на STM32F105 из connectity line.
Возникла проблема при запуске и настройке CAN2 отдельно от CAN1, не мог включить даже тестовый loopback, когда сигнал не выходя за пределы МК возвращается назад на прием.
Оказалось, что даже если используется только CAN2, надо включать клоки и для CAN1 и для CAN2, такое вот неравноправие.
Теперь никак не выходит подать сигнал за пределы трансивера в линию, он просто не появляется на ноге, подключенной к трансиверу. В примерах stdperipheral обратил внимание, что если используется только CAN2 нужно почему то запитывать порт с ногами для CAN1, сделал так же, ни хрена не помогло.
У кого есть опыт, кто подскажет, тому сотни дешевой нефти.
Менять ее на тенге, манкурт.
До этого юзал Keil и там это было по дефолту.
двачую тебя. сам так и делаю.
начал знакомство с intel8080->51->avr->stm32
потом устроился джуном, на работе изучаю линь прогаю на QT
мимо другой прогер
Уже разобрался, добра.
Отладочные принты фризили все к хуям после сброса питания, прошивка оставалась в порядке.
Убрал принты - все стало ок.
HAL ебучий не предлагать, у меня от него тайм-аут в функции отправки по UART.
Чем стандартная либа не нравится: заебывает при инициализации периферии настраивать тактирование пинов, тактирование модуля, настройку пинов, присоединение пинов к периферии. Слишком много телодвижений.
> заебывает при инициализации периферии настраивать тактирование пинов, тактирование модуля, настройку пинов, присоединение пинов к периферии.
А как ты хотел? Не ленись. Настраивай, настраивай.
Лицензия на HAL предполагает только free использование, а меня интересует в частности коммерческое использование.
Таймер на 555, уебок!
> Лицензия на HAL предполагает только free использование
Какое слово перевести?
>The Apache 2.0 ChibiOS code is freely modifiable (it is most of the code, including, demos, templates, examples, configuration files, the whole HAL, drivers, contributed code, etc).
http://chibios.org/dokuwiki/doku.php?id=chibios:licensing:start
Нужно содержимое CD диска из комплекта
>>Лицензия на HAL предполагает только free использование
Но почему? Вроде бы можно и коммерческое
https://ru.wikipedia.org/wiki/Лицензия_Apache
HAL от STM тут вообще не причём. У ChibiOS, про которую тебе говорили, собственная гордость.
Копал весь день гугл, но нигде не нашёл модель ATtiny26 для Proteus8 .
На одном из форумов кто-то тоже задал вопрос по поводу этой модели,
но в ответ была ссылка на страницу Атмела. Порылся я и там, но ничего не нашёл.
Может у кого-то есть?
Иди на хуй, пидор. Все треды засрал своими вопросами ебучими. У меня есть модель для протеуса.
> Иди на хуй, пидор. Все треды засрал своими вопросами ебучими.
Всего в 3 треда написал, в которых могут помочь.
> У меня есть модель для протеуса.
Можешь засунуть ее себе в жопу.
Он годится для пердолинга под угодно, но лучше не надо. жопа тоже не для ебли, но находятся любители
Если ты хочешь ближайшие несколько месяцев программировать emacs, а не микроконтроллеры, то годится.
Вы видите копию треда, сохраненную 23 августа 2016 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.