Jump to content
Sign in to follow this  
KA1

Вакансия Программиста По Микроконтроллерам

Recommended Posts

Требования к соискателю:

в/о (техническое), опыт работы с МК с архитектурой ARM (ARM9, ARM 11, Cortex-A8, Cortex-M4) и DSP (MIPS). Опытом разработки ПО на микроконтроллерах с установленным Linux. Опыт разработки ПО работающего в среде с ограниченными вычислительными ресурсами; знание ассемблера, C/C++; знание сетевых протоколов и различных физических интерфейсов (RS 232/485, I2C, SPI, USB); опыт и реализация протоколов обмена; знание схемотехники цифровых устройств; опыт разработки протоколов взаимодействия внешних устройств; технический английский на уровне чтения и понимание документации обязателен.

Должностные обязанности:

- Разработка программного обеспечения (ПО) для встраиваемых систем под ОС Linux;

- Разработка программных модулей и протоколов взаимодействия периферийных устройств, встраиваемых систем;

- Анализ логики различных периферийных устройств;

- Написание базовой документации;

- Отладка и тестирование системы.

Условия работы и компенсации:

Москва, полная занятость

полное соблюдение ТК, офис в центре, з/п 100-120 тыс.

Тел.: 8-926-827-89-71

mail - resume@rabotaka.com

Контактное лицо: Татьяна

Share this post


Link to post
Share on other sites

Было уже. Или как в том анекдоте - цирковой труппе постоянно требуются воздушные акробаты?

Share this post


Link to post
Share on other sites

Которые подходят под озвученные требования, те давно при деле, с хорошим доходом и без средневековых кошмаров типа:

полная занятость

\\\\\\\\

офис

Share this post


Link to post
Share on other sites

Технология Maxim Integrated nanoPower: когда малый IQ имеет преимущества

При разработке устройств с батарейным питанием важно выбирать компоненты не просто с малым потреблением, но и с предельно малым током покоя. При этом следует обратить внимание на линейку nanoPower производства компании Maxim Integrated. В статье рассмотрено их применение на примере системы датчиков беспроводной оконной сигнализации.

Подробнее

мда... зп как то совсем не сопоставима с обязанностями!

в Москве 1-с программисты получают от 120-150тыс зная один лишь язык программирования...

и это при том что выучить 1с можно за 2-3 месяца усердной работы....

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
Sign in to follow this  

  • Similar Content

    • By admin
      В ролике показано как скомпилировать и установить библиотеку OpenCV 4.1.0 на Raspberry Pi 3.
      Используйте промокод CXEMNET и получите скидку 10% в магазине https://www.seeedstudio.com/ при покупке от 150$!
      https://www.seeedstudio.com/category/Raspberry-pi-c-1010/Raspberry-Pi-3-Model-B--p-3037.html малинка
      https://www.seeedstudio.com/category/Raspberry-pi-c-1010/Raspberry-PI-VGA666-DPI-dtoverlays-Module.html модуль vga666
      https://www.seeedstudio.com/category/Raspberry-pi-c-1010/Raspberry-Pi-Camera-Module-V2-p-2800.html камера
      Команды из видео.
      Открыть настройки raspberry Pi: 
      sudo raspi-config
      Далее выбираем Advanced Options → Expand Filesystem. Перезагружаемся.

      Установка требуемых пакетов:
      sudo apt-get install cmake cmake-curses-gui libgtk2.0-dev
      sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev libx264-dev libxvidcore-dev
      sudo apt-get install libjpeg-dev libpng12-dev libtiff5-dev libjasper-dev
      sudo apt-get install gfortran libatlas-base-dev
      Увеличение размера файла подкачки. 
      sudo nano /etc/dphys-swapfile
      Находим строчку CONF_SWAPSIZE=100
      И увеличиваем число например до 1024.
      Перезапускаем службу.
      sudo /etc/init.d/dphys-swapfile stop
      sudo /etc/init.d/dphys-swapfile start
      Создаем папку opencv в домашнем каталоге и переходим в нее
      cd /home/pi
      mkdir opencv
      cd opencv
      Скачиваем архивы с исходниками с помощью утилиты wget
      wget https://github.com/opencv/opencv/archive/4.1.0.zip -O opencv_source.zip
      wget https://github.com/opencv/opencv_contrib/archive/4.1.0.zip -O opencv_contrib.zip
      Распаковываем архивы.
      unzip opencv_source.zip
      unzip opencv_contrib.zip
      И теперь можно их удалить
      rm opencv_source.zip
      rm opencv_contrib.zip
      Теперь переходим в папку opencv-4.1.0 и создаем в ней папку build
      cd opencv-4.1.0
      mkdir build
      cd build
      Настраиваем параметры сборки. Обратите внимание на путь до дополнительных модулей!
      cmake -D CMAKE_BUILD_TYPE=RELEASE \
      -D CMAKE_INSTALL_PREFIX=/usr/local \
      -D INSTALL_C_EXAMPLES=OFF \
      -D INSTALL_PYTHON_EXAMPLES=ON \
      -D OPENCV_EXTRA_MODULES_PATH=/home/pi/opencv/opencv_contrib-4.1.0/modules \
      -D BUILD_EXAMPLES=ON \
      -D BUILD_DOCS=ON \
      -D ENABLE_NEON=ON ..
      Компиляция в 1 поток
      make -j1

      Компиляция в 4 потока (только если у вас хорошее охлаждение малинки)
      make -j4

      Установка библиотеки
      sudo make install

      Настройка динамического связывания
      sudo ldconfig

      Проверка работоспособности библиотеки.
      python3
      import cv2
      cv2.__version__

      В результате, библиотека должна выдать номер версии, которую вы установили.
    • By admin
      В ролике проведено сравнение характеристик микроконтроллеров на ядре Cortex-M7 от NXP и STM, а также удобство экосистемы для разработчиков. В тестах участвовали отладочные платы: STM32F723e-Disco и i.MX RT1050 Evaluation Kit. 
      Тестирование STM32F723e-Disco проводилось на основе материалов вебинара "Микроконтроллеры STM32F7/STM32H7 семейства Value Line"
    • By lamer19
      Здравствуйте, хочу изучить семейство Cortex. Начал изучение программирования микроконтроллеров с AVR Attiny2313, Atmega8. Программки писал по самоучителю Белова. Писал простенькие программки чтобы светодиодом при помощи кнопки моргать, бегущие огни, прерывания по таймеру и т.п. Но в моем городе востребованы микроконтроллеры Cortex. В результате нашел вакансию:
      Требования:
      • Профильное образование;
      • Уверенное знание C, опыт разработки от 1-ого года;
      • Опыт разработки ПО для микроконтроллеров STM32 (ARM CORTEX M) в среде KEIL на языках С и ассемблера.
      • Опыт работы с интерфейсами передачи данных: Ethernet, UART, I2C, SPI, USB.
      • Умение читать принципиальные схемы;
      • Умение пользоваться для отладки осциллографом, JTAG-интерфейсом;
      • Опыт работы с SVN, Git 
      Отсюда - подскажите литературу где описывается теория, т.е. строение МК, память, регистры и т.д. Также практические примеры использования JTAG, Ethernet, UART, I2C, SPI, USB. Ну и какие железки использовать. В алиэкспресс нашёл: отладочная плата (https://ru.aliexpress.com/item/Free-shipping-100-Original-STM32-Discovery-Board-Stm32f4discovery-Stm32f4-kit-Cortex-m4-STM32-Development-Board-St/32655207218.html?ws_ab_test=searchweb0_0,searchweb201602_2_10152_5722813_10151_10065_10344_10068_10342_5722613_10343_5722913_10340_10341_10543_10698_5711413_10696_10084_10083_5722713_10618_10307_10301_5711213_10059_308_100031_10103_5711513_10624_10623_10622_10621_10620_5722513_5711313_10125,searchweb201603_25,ppcSwitch_5&algo_expid=6bb60057-1829-4c3a-bfcf-64b27a13a331-29&algo_pvid=6bb60057-1829-4c3a-bfcf-64b27a13a331&priceBeautifyAB=0), программатор (https://ru.aliexpress.com/item/1pcs-New-ST-LINK-V2-ST-LINK-V2-CN-ST-LINK-STLINK-Emulator-Download-Manager-STM8/32725864986.html?spm=a2g0v.10010108.1000014.3.2e3e252eARrNY5&traffic_analysisId=recommend_3035_null_null_null&scm=1007.13338.98644.000000000000000&pvid=be1ab406-7b1c-4874-82ab-5ccf70631523&tpp=1). В общем помогите кто чем может.
       
    • By admin
      Честный обзор миникомпьютера OMEGA 2. Характеристики, подключение и работа с командной строкой. Отправляем твит и компилируем свое приложение прямо на миникомпьютере.
      Ссылка на миникомпьютер: https://www.indiegogo.com/projects/omega2-5-linux-computer-with-wi-fi-made-for-iot
      Ссылка на документацию: https://docs.onion.io/omega2-docs/
      Ссылка на opkg пакеты: http://repo.onion.io/omega2/
    • By vv7
      Всем привет !
      Да, вот так вот. Опять светодиод и опять не запускается.
      В чём косяк ?
      Питание - от автозарядки для мобилки ( 12В -> 5В ).
      Среда разработки ( IDE ): MPLAB X v3.35 Linux, компилятор C18.
      Программатор: PICKit3
      Прошивка, по-моему - нормальная.
      Сконфигурирован - нормально. ( Или нет ? )
      Элементы все рабочие.
      В наличие есть кварц: 4, 8, 10 МГц.
      Фотка со схемкой - в атаче.
      Осциллографа под рукой - нет .
      Исходник прошивки:

      #include "config_bits.h" #include <stdio.h> #include <stdlib.h> void main (void) { int i = 0; TRISA = 0x00; PORTA = 0x00; TRISB = 0x00; PORTB = 0xFF; TRISC = 0x00; PORTC = 0x00; TRISD = 0x00; PORTD = 0x00; TRISE = 0x00; PORTE = 0x00; while (1) { for ( i = 0; i < 1000000; i++) { PORTB = !PORTB; } } }
      Файл "config_bits.h":

      // PIC18F452 Configuration Bit Settings // 'C' source line config statements #include <p18f452.h> // CONFIG1H #pragma config OSC = HS // Oscillator Selection bits (HS oscillator) #pragma config OSCS = OFF // Oscillator System Clock Switch Enable bit (Oscillator system clock switch option is disabled (main oscillator is source)) // CONFIG2L #pragma config PWRT = OFF // Power-up Timer Enable bit (PWRT disabled) #pragma config BOR = ON // Brown-out Reset Enable bit (Brown-out Reset enabled) #pragma config BORV = 20 // Brown-out Reset Voltage bits (VBOR set to 2.0V) // CONFIG2H #pragma config WDT = OFF // Watchdog Timer Enable bit (WDT disabled (control is placed on the SWDTEN bit)) #pragma config WDTPS = 128 // Watchdog Timer Postscale Select bits (1:128) // CONFIG3H #pragma config CCP2MUX = ON // CCP2 Mux bit (CCP2 input/output is multiplexed with RC1) // CONFIG4L #pragma config STVR = ON // Stack Full/Underflow Reset Enable bit (Stack Full/Underflow will cause RESET) #pragma config LVP = OFF // Low Voltage ICSP Enable bit (Low Voltage ICSP disabled) // CONFIG5L #pragma config CP0 = OFF // Code Protection bit (Block 0 (000200-001FFFh) not code protected) #pragma config CP1 = OFF // Code Protection bit (Block 1 (002000-003FFFh) not code protected) #pragma config CP2 = OFF // Code Protection bit (Block 2 (004000-005FFFh) not code protected) #pragma config CP3 = OFF // Code Protection bit (Block 3 (006000-007FFFh) not code protected) // CONFIG5H #pragma config CPB = OFF // Boot Block Code Protection bit (Boot Block (000000-0001FFh) not code protected) #pragma config CPD = OFF // Data EEPROM Code Protection bit (Data EEPROM not code protected) // CONFIG6L #pragma config WRT0 = OFF // Write Protection bit (Block 0 (000200-001FFFh) not write protected) #pragma config WRT1 = OFF // Write Protection bit (Block 1 (002000-003FFFh) not write protected) #pragma config WRT2 = OFF // Write Protection bit (Block 2 (004000-005FFFh) not write protected) #pragma config WRT3 = OFF // Write Protection bit (Block 3 (006000-007FFFh) not write protected) // CONFIG6H #pragma config WRTC = OFF // Configuration Register Write Protection bit (Configuration registers (300000-3000FFh) not write protected) #pragma config WRTB = OFF // Boot Block Write Protection bit (Boot Block (000000-0001FFh) not write protected) #pragma config WRTD = OFF // Data EEPROM Write Protection bit (Data EEPROM not write protected) // CONFIG7L #pragma config EBTR0 = OFF // Table Read Protection bit (Block 0 (000200-001FFFh) not protected from Table Reads executed in other blocks) #pragma config EBTR1 = OFF // Table Read Protection bit (Block 1 (002000-003FFFh) not protected from Table Reads executed in other blocks) #pragma config EBTR2 = OFF // Table Read Protection bit (Block 2 (004000-005FFFh) not protected from Table Reads executed in other blocks) #pragma config EBTR3 = OFF // Table Read Protection bit (Block 3 (006000-007FFFh) not protected from Table Reads executed in other blocks) // CONFIG7H #pragma config EBTRB = OFF // Boot Block Table Read Protection bit (Boot Block (000000-0001FFh) not protected from Table Reads executed in other blocks)
      Проблема: Он то ли не запускается, то ли ещё что-то. Светодиод на 30 ножке ( PORTBbits.RB0 ( B0 ) ) просто горит. А ведь в программе я прописал, чтоб весь блок B периодически переключался на противоположенное значение, но этого не происходит. Менял значения цикла от 1000000 до 10 - 0 по цельсию.
      Вопрос, что может быть. Может минус плохой и на монтажных схемках такого рода ( как на фотке ) собирать схемы на МК - плохая идея ? Аля нужно паять ?!
      Спасибо !!!



  • Сообщения

    • Потому что они там не зомбированы нашими СМИ,  и прекрасно видят оккупантов.
    • Дело было так. Понадобился ещё один отличный усилитель, купил полуфабрикат у человека которому не удалось его запустить, несчастный усилитель  видимо долго мучили, даже клеммы подключения питания пришлось менять, и транзисторы УНа и пред выхода отошли вместе с дорожками, но сейчас не об этом. Комплектующие он покупал у Лучезара, на выходных транзисторах был подписан КУ, подбирались, конденсаторы электролиты  все разные, один 1000 мкф на 50 вольт потек , подделка, заменил все. Запустил, правда перевел в без оптронный режим, ток УНа установил 25 мА, ток потребляемый усилителем в режиме покоя 140 мА, стабилен. Но есть одна бяка, всплеск на меандре, похож на звон. На обоих каналах абсолютно идентично.  Мощность около 50 ватт на нагрузку 7.7 Ома  Проверил покаскадно, на всех транзисторах оное есть, а начинается все с ОУ. Осциллограммы под спойлером. Получается виновник ОУ. Можно что то с этим сделать, или только замена ? Что то мне он не нравится, подделка ? Собственно схема и платы усилителей.  
    • Не только "идея", но я так когда-то реализовывал: Математика простая. Если в контроллере ADC 10-битовый - принимаем что с питания Vcc (и с "+" аккумуляторов) получаем код 1023. Один бит соответствует напряжению ~0,00489 Вольт. С "-" аккумуляторов подаём напряжение на входы аналого-цифрового преобразователя. Я условно обозначил аккумуляторы 1 и 2. Так-же условно обозначил входы ADC 1 и 2. Далее всё очень просто: пусть, к примеру, с аккумулятора 1 получаем код 158, с аккумулятора 2 - 205. Для аккумулятора 1: 1023-158=865, напряжение аккумулятора 865*0,00489= 4,23 Вольт Для аккумулятора 2: 1023-205=818, напряжение аккумулятора 818*0,00489= 4,00 Вольт Это один из вариантов подсчёта напряжения.   Другой вариант - схема та-же, только ADC должен выдавать не код, а считывать напряжение. 0 Вольт на входе - "0,00" на выходе ADC, 5 вольт на входе - "5,00" на выходе ADC. Дальше простое вычитание: напряжение ADC1 "0,77" вольт, напряжение Akk1 "5,00"-"0,77"="4,23" Вольт напряжение ADC2 "1,00" вольт, напряжение Akk1 "5,00"-"1,00"="4,00" Вольт Ну, в принципе, метод простой: из "опорного" питания нужно вычесть принятое с "-" аккумулятора. Резисторы параллельно аккумулятору нужны чтобы при отсутствии аккумулятора "-" аккумулятора подтягивался к "+" аккумулятора и контроллер "видел" что аккумулятора нет или он просто полностью "сдох". Мосфеты должны, естественно, не иметь утечек в закрытом состоянии. В таком случае сопротивление резисторов можно увеличить в несколько раз.
    • Куда это совсем здристнул наш бравый защитничек @Сомнамбула ?  Хотелось бы услышать его комментарий, почему наших освободителей встречают булыжниками и проклятиями?  
×
×
  • Create New...