Що таке PSoC

Коротко розповім що таке PSoC, оскільки в Україні про продукцію Cypress відомо не багато. Можливо після цієї теми хтось захоче використати ці мікросхеми в своїх розробках.

PSoC (Programmable System-on-Chip) — це програмована система на кристалі, тобто електронна схема, яка виконує функції певного пристрою і розміщена в одному корпусі мікросхеми. Розробник має можливість самостійно створювати функціонал який йому потрібний.

В даний час існує 4 серії PSoC: PSoC 1, 3, 4, 5PL, більш детально можна ознайомитись на офіційному сайті. В цій статті буде описана серія PSoC 4.

На відміну від класичних мікроконтроллерів (AVR, PIC, STM32...) PSoC не має фіксованої периферії (UART, I2C, SPI, DMA....), розробник сам вирішує який функціонал буде мати запрограмований чіп. Іншими словами якщо потрібний тільки UART та ADC, пристрій буде мати тільки ці два блоки. Цим PSoC дуже схожий на FPGA, за винятком того що PSoC місить конфігуровану аналогову периферію(компаратори, операційні підсилювачі, мультиплексори, фільтри...).

Для розробки використовується середовище PSoC Creator, яке можна безплатно завантажити з офіційного сайту: www.cypress.com/...​ed-design-environment-ide

Проект в PSoC Creator:

Для того щоб налаштувати проект, потрібно зробити кілька простих кроків:
1. Із бібліотеки компонентів, вибрати потрібні та перенести їх на TopDesign.
2. Через GUI кожного компонента налаштувати його параметри.
3. З’єднати всі компоненти у схему.
4. Призначити виходи схеми відповідним пінам мікросхеми.

Cypress має багато різних Development Kits: www.cypress.com/...​s/psoc-4-development-kits
для демонстрації вибрана наступна плата

Вона містить програматор та дебагер, що дозволяє використовувати тільки USB кабель для прошивки та покрокового відлагодження програми в реальному пристрої.

Приклад «Hello world» на PSoC
Алгоритм мигання світлодіодом на всіх мікроконтроллерах однаковий, і має наступний псевдокод:

while(1)
{
    enable LED;
    delay(...);
    disable LED;
    delay(...);
}

На PSoC все можна зробити набагато простіше і навіть без використання процесорного ядра. Для цього із бібліотеки виберемо компонент «Clock», «FreqDiv», «Digital Output Pin» та «Logic High ’1′ » і з’єднаємо їх між собою.

Компоненти синім ніяк не впливають на роботу схеми, а служать тільки для кращого розуміння схеми.

Принцип роботи схеми дуже простий, тактовий сигнал частотою 1kHz (можна вибрати будь яку іншу частоту) подається на дільник частоти який ділить частоту на 1000. Світлодіод підключений до виходу дільника частоти і буде мигати з частотою 1 Hz. Після цього потрібно вивести сигнал на пін мікросхеми.

Розробник має можливість комбінувати аналогові та цифрові блоки, а також писати програму як для звичайних мікроконтроллерів.

PSoC Creator має багато різних прикладів роботи з PSoC, для цього в меню File -> Code example вибираємо потрібний приклад.

На офіційному сайті є багато відео з різними прикладами застосування:
www.cypress.com/video-library

Також планую більш детально описати про різні компоненти PSoC на своєму сайті: embedded.co.ua

Якщо виникли запитання пишіть в коментарях. Сподіваюсь ця інформація була цікавою і корисною.

P.S. Cypress має офіс у Львові і в даний час є багато вакансій в Embedded напрямку.

Update: Development kits та мікроконтроллери можна купити на офіційному сайті із безкоштовною доставкою в Україну: www.cypress.com/cypress-store

Підписуйтеся на Telegram-канал «DOU #tech», щоб не пропустити нові технічні статті

👍ПодобаєтьсяСподобалось0
До обраногоВ обраному0
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Так, це PSoC 5. Не зовсім зрозумів Вашого запитання. Опишіть, будь ласка, детальніше.

В PSoC 5 заведен сигнал с энкодера, переменная должна считать его шаги, 1 импульс 0.01мм в определенный момент обнаружилось что в некотором месте шаг энкодера не меняет значение на табло, программа была урезана до минимума чтобы разобраться как так и вот на видео четко видно как после очередного добавления результат на табло не меняется.

Спробуйте використати типи int (uint32, uint32_t) і перевірити чи проблема зникне. Думаю це проблема через тип флоат, якщо так, то це очікувано. Не зовсім зрозумів для чого у Вашій програмі float типи, вибираєте int і все стає простіше. Для формування потрібної стрічки на дисплеї просто робите sprintf і передаєте буфер на дисплей.

P.S. якщо не помиляюсь, у Ває є досвід з Асемблером (goto s, jmp s ). Для С краще використовувати for (;;), while (1) для вічних циклів.

очікувана поведінка float, яка не має відношення до PSoC (в принципі як і до інших MCU).

Резет у делителя по нулю срабатывает?

наскільки економні ці камінці в плані електроспоживання?
UPD $15 за доставку перебиває бажання погратись.

наскільки економні ці камінці в плані електроспоживання?
Все залежить яку периферію ви використовуєте, і які режими економії використовуєте.
Active: 1.3 mA to 14 mA
Sleep: 1.0 mA to 3 mA
Deep-sleep: 1.3 µA to 15 µA
Hibernate: 150 nA to 1 µA 2
Stop: 20 nA to 80 nA
детальніше PSoC® 4 Low-Power Modes and Power Reduction Techniques: www.cypress.com/file/121271/download
UPD $15 за доставку перебиває бажання погратись.
Як варіант зібрати однодумців і замовити кілька, тоді доставка вийде дешевше.
Знайти однодумців можна тут: tqfp.org ,або можливо тут: hacklab.kiev.ua

Sleep: 1.0 mA to 3 mA
Deep-sleep: 1.3 µA to 15 µA
якщо націлюватись на батарейне живлення, то жирновато
Як варіант зібрати однодумців і замовити кілька, тоді вийде дешевше.
І все ж, може десь в Україні можна придбати з адекватною націнкою? 15 баксів не такі страшні гроші, але це вартість 3+ найдешевших кітів.

Наскільки я знаю, на жаль ніде. Cypress в Україні має тільки офіс у Львові, але тут відсутній відділу продажу, так що купити не можна.

Якщо хочете купляти, і ще попрацювати з BLE ( Bluetooth Low Energy) то краще взяти такий: www.cypress.com/...ow-energy-ble-pioneer-kit

ось на хабрі про нього: habrahabr.ru/post/261287

$49.00 Not in Stock

Дійсно цікаві продукти, непогана (на перший погляд) документація. Але маркетинг у компанії явно не на висоті :)

Як я раніше писав, продукція більше розрахована на великі компанії Apple, Samsung, Tesla, тому акцент робиться в першу чергу на них.

Зараз Development kits та мікроконтроллери можна купити на офіційному сайті із безкоштовною доставкою в Україну: www.cypress.com/cypress-store

Я навчався на кафедрі ЕОМ при НУ ЛП. Багато викладачів, працюють у Вас. Та і хороших студентів забираєте. У нас була одна ОПЦІОНАЛЬНА лабораторна по ваших PSoC. І то на 5 курсі. І на ній мало чого можна було побачити.
Вам варто тісніше співпрацювати з універами. Гарний приклад зараз є лабораторія LAMPA на факультеті електорніки КПІ. Це відкрита лаба, яку може відвідувати будь хто. І відкрита після занять.І відкрита для всіх охочих.Мають багато мікроконтролерів та інших цікавих штук.

А можна його повністю програмувати тільки на С (чи щось інше текстове, типу Verilog) без графічного конфігуратора?

Ви створюєте схему, де задаєте параметри, після цього робите генерацію проекту, і вам стають доступні API функції. Їх ви використовуєте в своїй С програмі. Є можливість створити свій компонент на Verilog. Є компоненти які конфігуруються і програмуються тільки на С — приклад SysTick Timer. Також є можливість експортувати проект з PSoC Creator IAR, KEIL і там повністю писати на С.

Наприклад, я додав на схему LCD, налаштував його відповідно до своїх потреб в GUI. Зробив генерацію проекту:

netpics.org/...ages/2016/07/16/TmwAN.jpg

і мені стали доступні API функції для роботи із цим LCD, їх я можу викликати з С коду:
/***************************************
* Function Prototypes
***************************************/

void LCD_Init(void) ;
void LCD_Enable(void) ;
void LCD_Start(void) ;
void LCD_Stop(void) ;
void LCD_WriteControl(uint8 cByte) ;
void LCD_WriteData(uint8 dByte) ;
void LCD_PrintString(char8 const string[]) ;
void LCD_Position(uint8 row, uint8 column) ;
void LCD_PutChar(char8 character) ;
void LCD_IsReady(void) ;
void LCD_SaveConfig(void) ;
void LCD_RestoreConfig(void) ;
void LCD_Sleep(void) ;
void LCD_Wakeup(void) ;

Ну тобто без створення схеми мишкою неможна? Сама схема можливо у тестовому вигляді, типу xml і її можно відредагувати вручну? Як ці схеми поєднати з системою контролю версій?

Ну тобто без створення схеми мишкою неможна?
нажаль поки що ні.
Схема і GUI зроблені для того щоб зробити налаштування знучнішими, простішими та очевидними.
Як ці схеми поєднати з системою контролю версій?
Як правило схема дуже проста, достатньо один раз її створити , а далі оперуєте з С-м кодом
Просто додаєте на систему контролю версій файл в якому схема та файли програм:
Тут два варіанти:
1. Спочатку створюєте всю схему, а далі працюєте на свн тільки з текстами програм.
2. Схема може буде розділена на кількох листах, кожен працює із своїм листом схеми, тут не має схематичної ієрархії (Top level). Тобто на одному листі я можу добавити таймер, на іншому дисплей, на 3-му аналогову частину, і всі вони будуть з’єднані між собою.

.

Графічний конфігуратор призначений для ініціалізації та генерації API-функцій для роботи з компонентами(периферійними пристроями)

А можна його повністю програмувати тільки на С (чи щось інше текстове, типу Verilog) без графічного конфігуратора?
Можна, але тоді вам прийдеться напряму звертатись до конфігураційних регістрів (читати і записувати в них).

Уж не знаю насколько правда, но говорят что на подобных штуках сделана система «Рада».

Хм, ніколи про це не чув.

Там модуль Habar слетает, IntegerOverflow. А без него ни одна функция системы не работает.

Красивые цацки, но их слабое место — память. В современном мире память стоит не так и дорого, так что могли бы дать разгуляться.
Разумеется, это слабое место не только этой платформы, это в прицнипе бич всех встравиваемых систем: пожадничать установить ресурсы, без которых типа можно обойтись.

Результат всегда один и тот же: да, готовая, отлаженная, вылизанная программа может обойтись малым ресурсом. Но никак не сырая идея, не «воздушный замок». То есть НАЧАТЬ разработку на таком звере и быстро выйти на рабочий прототип — задача близкая к невозможной для тех, кто не имеет под руками аналогов или толкового эмулятора. Но даже с эмулятором — отсутствие памяти становится катастрофой.

Очень советую задуматься над выводом в разработку именно конфигураций с большим объёмом NAND. Почему так: давая разработчику неограниченные возможности, вы дайте накопить критическую массу опыта, чтобы в определённый момент проекты начали выстреливать как попкорн в микроволновке. Малая память гарантирует что проекты так и останутся в голове, так и не дойдя до тестирования. Ведь чтобы сунуть свой проект, нужно удалить предыдущий. А значит одна идея стопорит остальные.

По самой презентации: непонятна MVP-модель. То есть ЧТО из себя будет представлять типичный промышленный образец, во что это обойдётся, какова надёжность этих зверушек, какие корпуса и батареи им нужны для жизни, насколько легко её обслужить конечному пользователю... в общем, хоть бы один кейз разобрали именно по стоимости: разработка, выпуск продукта, продажа, использование.

Пока же выглядит игрушкой, и не самой востребованной. Как Лего — да, годится. Как реальный проект: непонятно в какие именно области он целится, и прежде всего — может ли он полноценно жить без Ардуино на которое он «внезапно» завязан своими платами. Какие ТИПОВЫЕ задачи, где эти платы держат пальму первенства?

"

Красивые цацки, но их слабое место — память. В современном мире память стоит не так и дорого, так что могли бы дать разгуляться.
Разумеется, это слабое место не только этой платформы, это в прицнипе бич всех встравиваемых систем: пожадничать установить ресурсы, без которых типа можно обойтись.
"
Для цього потрібно просто вибрати інший чіп, наприклад такий: www.cypress.com/...rammable-system-chip-psoc
Memories
Up to 256 KB program flash, with cache and security features
Up to 32 KB additional flash for error correcting code (ECC)
Up to 64 KB RAM
2 KB EEPROM
Пока же выглядит игрушкой, и не самой востребованной. Как Лего — да, годится. Как реальный проект: непонятно в какие именно области он целится,
Ці чіпи в першу чергу орієнтовані на великі компанії замовники. Tesla, Samsung, Apple:
www.cypress.com/...ew-development-kit-iphone
investors.cypress.com/...tail.cfm?releaseid=797806
video.cnbc.com/.../?video=3000184210&play=1
Какие ТИПОВЫЕ задачи, где эти платы держат пальму первенства?
Ніхто ніколи не використовує плати в якихось проектах, вони призначені тільки для навчання. Коли розробляється пристрій він використовує мікросхему тільки мікросхему з борда, і має свою обв’язку. В статті показаний просто кіт, і для зручності зроблений сумісний з Ардуіно шилдами.
Какие ТИПОВЫЕ задачи, где эти платы держат пальму первенства?
www.cypress.com/about-cypress
CYPRESS TECHNOLOGY AND MARKET LEADERSHIP

Cypress delivers high-performance, mixed-signal, programmable solutions that provide customers with rapid time-to-market and exceptional system value. Cypress leadership extends to the following areas:

No. 1 in SRAMs
No. 1 in NOR Flash memories
No. 3 provider of automotive MCUs and memories
No. 1 in CapSense capacitive-sensing controllers
Designed the industry’s first USB Type-C port controllers

Ось ціни на чіпи Cypress: www.digikey.com/...ontrollers/2556109?k=psoc

Разумеется, это слабое место не только этой платформы, это в прицнипе бич всех встравиваемых систем: пожадничать установить ресурсы, без которых типа можно обойтись.
Як правило пам’яті завжди вистачає(кажу це із власного досвіду), якщо ні просто береться інший MCU, правда це тільки в тому випадку коли розробник не починає «видумувати» і використовувати для програмування Python, JavaScript, C#.
В PSoC пам’ять використовується коли створюється програма на С, схема використовує програмовані цифрові та аналогові блоки, і використовує пам’ять тільки для збереження конфігурації схеми — як FPGA.

Дякую за вичерпну відповідь, зрозуміло.

Ніхто ніколи не використовує плати в якихось проектах, вони призначені тільки для навчання.
Оце чомусь і незрозуміло. Великі замовники — це звичайно добре. Але Internet of things — це величезний ринок індивідуальних рішень. Тобто, пристрій можна протестувати партією 100-200 екземплярів. Звичайно заради цього нерозумно розробляти окрему свою плату, а навпаки, використати готовий СТАНДАРТНИЙ гаджет, переплатити звичайно порівняно із серійною штамповкою — але ЗЕКОНОМИТИ час та кошти на створення.

Деякі пристрої взагалі можуть бути штучними. Наприклад, системи керування безпекою — в кожному окремому випадку небезпека абсолютно різна. Проте плату «для навчання» не використаєш, бо якість невідома, може вона здохне через рік-два бо флюс дешевий використали чи припой.

Що до пам′яті — я вважаю, що використовувати швидку але малу пам′ять на повільних процесорах = це промах саме по потребах майбутнього ринку. Найтривіальніше питання — поставити примітивну веб-морду замість консольної утиліти, чи написання програм під операційну систему клієнта (ага, під усі, в том числі майбутні, із взаємодією з драйверами).

Більшість сучасних задач — примітивні. Але розробка вимагає коштів, час вимагає коштів, інвестори вимагають швидкого результату. А коли ресурс обмежений, це перекладає завдання оптимізації із дешевого заліза на дорогого розробника. В той час коли оптимізувати і не потрібно, коли треба просто зазирнути «у завтрашній день», і побачити яка саме компонентна база буде дешевою та виробленою в достатній кількості. І об′єднавши спеціалізований чіп саме з дешевим ресурсом — отримати пристрої що можуть конкурувати на ринку, навіть якщо вони вироблені не за масовими технологіями, а саме із цього «лєго», із «учбових» наборів, які насправді мають у собі все необхідне.

PS. Ми живемо у світі, де залишилось дуже мало постійного. Лише тимчасові рішення. Тому запит майбутнього — саме компоненти для швидкої розробки, що використовують дешевий доступний ресурс інших компонентів.

Оце чомусь і незрозуміло. Великі замовники — це звичайно добре.
Доходи від великих замовників, не співмірні з доходами для індивідуальних рішень. Це звичайний бізнес.
Internet of things — це величезний ринок індивідуальних рішень.
www.cypress.com/...m-s-wireless-iot-business
www.cypress.com/internet-things-iot
Проте плату «для навчання» не використаєш, бо якість невідома, може вона здохне через рік-два бо флюс дешевий використали чи припой.
Звідки ви взяли що використаний дешевий флюс і припой?
Що до пам′яті — я вважаю, що використовувати швидку але малу пам′ять на повільних процесорах = це промах саме по потребах майбутнього ринку. Найтривіальніше питання — поставити примітивну веб-морду замість консольної утиліти, чи написання програм під операційну систему клієнта (ага, під усі, в том числі майбутні, із взаємодією з драйверами).
А які процесори ви вважаєте швидкими? Можна мигати ледом на С 2 рядками коду на мікроконтроллері, а можна для цього використати компютер з Linux/Windows/Android та 4GHz, 8RAM і це все написати на С#, JAVA, JavaScript....Це різного класу пристрої, хочете веб морду, вибираєте щось на Linux (Raspberry Pi, Beaglebone Black і так далі).
Звідки ви взяли що використаний дешевий флюс і припой?
Я навпаки, запитав, наскільки надійними зроблені саме ці компонентні конструктори.
Вебморда мається на увазі лише простий конфігуратор. Щоб вже для готової схеми наприклад задати рівні спрацьовування від датчиків.

Мигати LEDом звісно не задача для таких контролерів. Але отримати зворотній зв′язок від асинхронного двигуна — саме те що треба. Без зручних механізмів керування досить ймовірною є похибка при настроюванні, а ще треба вивчати документацію та пам′ятати її. А ціна похибки зазвичай висока. Навіть банальний датчик зачинення дверей може відбити комусь пальці якщо, невірно розрахує момент прискорення — бо хтось впише в параметр секунди замість мілісекунд.

Я навпаки, запитав, наскільки надійними зроблені саме ці компонентні конструктори.
 як на мене вони однакової якості як фірмові борди STM, AVR, NXP (не китайські клони).
Вебморда мається на увазі лише простий конфігуратор.
PSoC Creator теж має зручний GUI конфігуратор, правда не веб. Ось приклади конфігурування BLE (Bluetooth Low Energy) — в даний час тільки Cypress має графічне конфігурування BLE.
<img src="imgdepo.com/id/i9475524">
та ADC.
<img src="imgdepo.com/id/i9475530">
Навіть банальний датчик зачинення дверей може відбити комусь пальці якщо, невірно розрахує момент прискорення — бо хтось впише в параметр секунди замість мілісекунд.
Із таким завданням справиться будь який мікроконтроллер, а від помилок розробника не застрахована будь яка система, для цього і є тестування і різні методики перевірки. Наприклад стандарт MISRA в дечому обмежує розробника, але робить систему трохи безпечнішою: en.wikipedia.org/wiki/MISRA_C

Розробник який пише під мікроконтроллери несе більшу відповідальність, часто він дуже обмежений в використанні стандартних бібліотек мови програмування. Наприклад malloc в embedded може створити багато проблем. Є також багато інших нюансів, які відсутні в прикладному програмуванні.

malloc в ембадед — гріх, тим більше якщо система реалтаймова. мож пули використовувати, але це не срібна куля

до речі, поскільки мова зайшла за пам’ять, підкажіть по такій ситуації: є більш-менш складна програмка на Ардуіно (різні структури, багато іф-ів, «глибоких» викликів функцій, але без new/alloc), і вона проектується щоб працювати 24/7. чи зростає фрагментація пам’яті під час довгої роботи? тобто чи може бути таке, що спочатку пам’яті вистачає, але з часом вона закінчиться із-за фрагментованості?

якщо не використовуєтсья

new/alloc
та free/del то і фрагментації пам’яті не буде. Фрагментація можлива тільки тоді коли ви використовуєте heap.

У вас для всіх змінних та структур виділяється память на початку роботи пристрою і ці змінні розміщені статично, тобто не змінюють своїх адрес в пам’яті.

тобто чи може бути таке, що спочатку пам’яті вистачає, але з часом вона закінчиться із-за фрагментованості?
у вашому випадку ні

на рахунок

«глибоких» викликів функцій
вони можуть переповнювати стек. Якщо функції використовують рекурсію, то велика ймовірність що вони переповнять стек.

рекурсія в Embedded не рекомендована, я б сказав заборонена.

вони можуть переповнювати стек. Якщо функції використовують рекурсію, то велика ймовірність що вони переповнять стек.
Чи можемо ми гарантувати, що після виходу з функції вільна пам’ять буде в такому самому стані, як і до входу в функцію (маю на увазі її кількість і фрагментованість)? Перепитую для впевненості :)

О какой памяти речь идет? stack или heap?

саме хотів задати теж саме питання

О какой памяти речь идет? stack или heap?
— стек. Чому я запитав — в принципі по теорії все ясно, але на практиці в мене були деякі дивні випадки, коли програмка на Ардуіно починала глючити через деякий час роботи (засмічуються дані в пам’яті). Емпірично виявив, що глюки пов’язані з кількістю коду. Можливо причина багів в неякісній електроніці...

Arduino використовує чіпи AVR чіпи компанії Atmel, тому не думаю що це

Можливо причина багів в неякісній електроніці...
"

1. можливо Ардуіно бібліотеки використовують динамічну пам’ять
2. засмічуватись можуть дані в пам’яті якщо програма працює не правильно, і пише дані в чужу область пам’яті
3. переповнення стеку (можна спробувати збільшити розмір стеку, і дивитись чи проблеми зникли)

але на практиці в мене були деякі дивні випадки, коли програмка на Ардуіно починала глючити через деякий час роботи (засмічуються дані в пам’яті).

Больше на переполнение стека похоже.
i.stack.imgur.com/waoHN.gif

Проверяется достаточно просто. Для статических переменных: Посмотрите в *.map файле где именно лежат запорченные переменные. По идее должны лежать в «старшей» области памяти (на границе с heap, если вы кучу используете).
Если память под переменные выделяются динамически — нужно смотреть(распечатать) адрес переменной в куче.

Щось пам’ятаю схоже із іншою платою, народ скаржився на те, що алокатор не занулює комірку. Пробуйте після алокації спочатку туди нуль записувати.

приклад пошуку помилки яка псує пам’ять:
catethysis.ru/...corrupting_error_finding

«Когда я писал это место, я надеялся что received_count (сбрасывающийся немного дальше) никогда не превысит не то, что 50, а даже 20.»

:-D

так. Ви створюєте проект, компілюєте його, ваш компілятор покаже скільки памяті використано скільки вільно, і це співвідношення залишиться постійним. Але це тільки для видку без динамічної пам’яті.

Так, після виходу з функції вся пам’ять яку функція використовувала — звільниться.
Якщо у вас глибока вкладеність іфів, то це треба оптимізувати. Постарайтесь оптимізувати не код, а самі умови, карти Карно вам в допомогу(або інші методи)

Так, після виходу з функції вся пам’ять яку функція використовувала — звільниться.
точніше кажучи звільниться очистится стек.
карти Карно вам в допомогу
 — наскільки я знаю, ними оптимізувуються булеві функції, для створення логічних схем, але такий підхід більше для FPGA. Опишіть будь ласка як ви його можете застосувати для С програмування.

Частково коментар, частково загальні думки вголос: якщо офіс є і бажання зацікавити людей цією темою, чому б не дати можливість їх купити локально потенційним розробникам. Цікава іграшка за $25, але заради неї зв’язуватись з Маузером-Фарнелом і міжнародною поштою?

оскільки в Україні про продукцію Cypress відомо не багато

Знаю назву виключно через незвичайний драйвер тачпада в хромбуці.

Частково коментар, частково загальні думки вголос: якщо офіс є і бажання зацікавити людей цією темою, чому б не дати можливість їх купити локально потенційним розробникам.
На жаль я не можу відповісти на це запитання. Можливо тому що український офіс не має відділу продажу.
бажання зацікавити людей цією темою
«В 2012 році фірмою Cypress Semiconductor Corporation закуплено обладнання та створена на кафедрі ЕОМ лабораторія вбудованих комп’ютерних систем»: wiki.lp.edu.ua/...wiki/Партнери_кафедри_ЕОМ
На інженерному ярмарку кар’єри(ejf.best-lviv.org.ua) зацікавленим студентам можна отримати кіт безплатно.

є кіти і по 4$: www.cypress.com/...049-4xxx-prototyping-kits
за 49$ BLE kit: www.cypress.com/...ID=102636&source=psoc4ble

Интересный мир!
Спасибо за описание.

Радий що Вам сподобалось.

P.S. Cypress має офіс у Львові і в даний час є багато вакансій в Embedded напрямку.

Напишіть може HR-ам, щоб і тут розміщували вакансії

Дякую за підказку.

Підписатись на коментарі