Gömülü Yazılım Tasarım Hizmetleri

Gömülü Yazılım Tasarımı

Gömülü yazılım geliştirme takımımız değişik üreticilerden değişik mikrodenetleyici ve mikroişlemci aileleri üzerinde uzmanlaşmıştır. Üzerinde çalıştığımız işlemciler ARM™ Cortex™-M3, ARM™ Cortex™-M4, ARM™ Cortex™-A8, ARM™ Cortex™-A9, ARM™ Cortex™-A15, PIC™, Intel x86, Freescale PowerPC, MSP430 RISC gibi değişik işlemci mimarilerini ve Texas Instruments, Atmel, Freescale, Microchip ve Intel gibi çeşitli mikrodenetleyici ve mikroişlemci üreticilerini kapsamaktadır.

Yazılım geliştirme perspektifinde baktığımızda, hizmetlerimiz işlemci ilklendirmeden bir gömülü sistemin tamamının tasarımına varan geniş bir yelpazeye sahiptir. SPI, I2C, UART, RS-232, RS-485 gibi değişik haberleşme protokolleri ve bu protokollerin yazılımsal arayüzleri, gömülü sistemler üzerindeki SD ve HD kamera arayüzleri ve BT656 gibi ilgili standardları üzerinde derin bir tecrübeye sahibiz.

Üst sınıf mikroişlemciler için gömülü Linux işletim sistemi kullanmakta ve bu sistemler için çevre birim haberleşmesi, network uygulamaları, web tabanlı kullanıcı arayüzleri, video giriş/çıkış, resim/video sıkıştırma/çözme, multimedya yayınlama gibi uygulamalar geliştirmekteyiz. Video uygulamaları için GStreamer gibi hazır kütüphaneler de kullanmaktayız. Ayrıca, değişik kullanım senaryoları için uygulamanıza özelleşmiş uygulamalar ve kütüphaneler de geliştirmekteyiz.

Gömülü Yazılım Tasarım
BSP

Firmware/ BSP Geliştirme

BSP geliştirme süreci, kartın üzerindeki işlemcinin ilklendirilmesi, ayağa kaldırılması ve kart üzerindeki çevre birimlerin çalışır hale getirilmesi işlemlerini kapsamaktadır. Aygıt sürücüleri ve ilklendirme rutinleri kartlarınız için özelleştirilmekte ve seçtiğiniz işletim sistemi için optimize edilmektedir. Mikrodenetleyiciler için işletim sistemsiz platformlarda, gerçek zamanlı işletim sistemleri (FreeRTOS, TI-RTOS) üzerinde ve mikroişlemciler için gömülü Linux işletim sistemi üzerinde çalışmaktayız. ARM™ Cortex™-M3, ARM™ Cortex™-M4, ARM™ Cortex™-A8, ARM™ Cortex™-A9, ARM™ Cortex™-A15, PIC™, Freescale PowerPC, QorIQ Ailesi, Intel™ x86, MSP430 gibi değişik mimariler kullanan değişik kartlar üzerinde tecrübeye sahibiz.

Müşterilerimiz için yükleyiciler, aygıt sürücüleri geliştirilmesi ve özelleştirilmesi, işletim sistemi kernelları (gömülü Linux kernel) ve dosya sistemleri için yapılandırma sistemleri geliştiriyoruz. İşletim sistemsiz ve gerçek zamanlı işletim sistemi kullanan cihazlar için modüler bir şekilde uygulamalarınıza kolayca entegre edilebilecek aygıt sürücü kütüphaneleri sağlıyoruz.

Hem ticari hem de endüstriyel seviyedeki kartlar üzerinde çalıştığımızdan dolayı her iki dünya için de limitleri ve çalışma koşullarını bilerek ve müşterilerimizin ihtiyaçlarını göz önünde bulundurarak tasarımlarımızı gerçekleştiriyoruz. Şimdiye kadar birçok SoC üreticisi tarafından üretilmiş genel kartlar ve müşterilerimizden gelen özelleşmiş kartlar üzerinde çalıştık. IGEPv2, IGEPv5, Beagleboard, Beagleboard-XM, BeagleBone, BeagleBoneBlack, DM3730 EVM, SAMA5D3 Xplained, Intel Galileo, MSP430 LaunchPad, CC3200 Launchpad, Tiva Launchpad gibi kartlar hali hazırda tecrübemiz olan ve üzerinde çalıştığımız kartlara örnek olarak verilebilir.

Cihaz Kullanıcı Arayüzleri (UI/UX Tasarımı)

Kullanıcı arayüzleri cihazlarınızın direk müşteri ile etkileşim halinde olan parçalarıdır. Cihazlarınızın endüstriyel tasarımları ile birlikte kullanıcıları etkileyecek kısmı olduğundan dolayı özenli bir şekilde ve günümüz teknolojisine uyumlu olarak tasarlanması gerekmektedir. Arayüz bir dokunmatik ekran, LCD monitör veya web arayüzü olabilir. Tüm bu arayüzler için değişik çözümlere ve derin bir tecrübeye sahibiz.

LCD monitörler ve dokunmatik ekranlar üzerindeki kullanıcı arayüz tasarımları için QT yazılım çatısı kullanıyoruz. Gömülü Linux cihazlarınız için masaüstü kalitesinde arayüzler tasarlıyor ve geliştiriyoruz. İşletim sistemsiz kısıtlı cihazlar için ise TivaWare ve Atmel® Widget Toolkit (WTK) gibi işlemci üreticileri tarafından geliştirilmiş arayüz kütüphanelerini kullanıyoruz.

Web tabanlı kullanıcı arayüzleri için, günümüz web teknoloji standardları olan HTML5, CSS3 ve Javascript kullanıyoruz. Ayrıca, interaktif web arayüzleri için gömülü cihazlarınız üzerinde Angular.js gibi yazılım çatılarını kullanıyoruz. Gömülü Linux cihazlar üzerinde statik web sayfaları ile Linux uygulamaları arasında Node.js® çatısı ile bir köprü oluşturuyoruz. Bu sayede, web arayüzleri üzerinden uygulamalarınızı kontrol edebiliyor, cihazlarınız hakkında işlemci kullanımı, bellek yönetimi, tanısal veriler ve işletim sistemi verileri gibi bilgi alabiliyorsunuz.

Medikal Cihaz Arayüz Yazılımı

Yazılım Tasarımında Kullandığımız Teknolojiler

Firmware tasarımı
İşletim sistemi adaptasyonu (porting) ve sürücü geliştirme (BSP): Linux, VxWorks, FreeRTOS, Embedded Windows, Windows CE, QNX PikeOS
Gömülü Linux Uygulamaları
Windows üzerinde .NET (C#) ve C++ uygulamaları
Gömülü cihazlara bağlı mobil uygulamalar (Android, iOS)
Endüstriyel, medikal, güvenlik, aviyonik ve otomotiv sektörleri için kritik uygulamalar (mission critical, safety critical)
Tools (ELDK, PTX-Dist, YOCTO, LTIB, Keil, Code Warrior, Workbench, Visual Studio, Qt Creator; GIT, VSS, Subversion, Jira, Stash; Enterprise Architect, Matlab Simulink; Beyond Compare, PC/SP-Lint, RTH)
Kalifikasyon (Modül ve komponent testleri, regresyon testleri; kapalı kutu testler (black box test), açık kutu testler (White box test), sistem testleri)