Ana içeriğe atla
Kıymetli Taş anlamına gelen İngilizce kelimedir. Ürün ailesine Gemstone her bir ürüne ise kıymetli taş isimleri verilmektedir.
İlk geliştirme kartı olan T3 GEM O1 kodlu ürünün ismi olup yanardağ lavlarının soğuması ile oluşan cam türünde keskin bir taştır. Tarih öncesi çağlarda kesici delici alet yapımında kullanılmıştır.
Bütün yazılım ve donanım projeleri T3 Vakfı bünyesindeki gönüllü ekipler ve topluluk tarafından geliştirilmektedir.
Software Development Kit. Yazılım Geliştirme Kiti anlamına gelip Gemstone geliştirme kartlarına ait bütün çekirdek yazılımları ve imajları derleyip oluşturan araçtır.
Debian veya Ubuntu gibi işletim sistemleri, çekirdek/kernel olarak Linux kullanmalarına rağmen farklı yazılımlar, versiyonlar, paketler veya paket kurulum yöntemleri içermektedir. Debian, Ubuntu, Fedora, Pardus gibi işletim sistemlerinin her biri Distro/Dağıtım olarak adlandırılmaktadır.
Linuxta sudo apt install vb. komutları çalıştırdığınızda yazılımların indirildiği web sitesidir.
Linux gibi işletim sistemlerinde işlemciye bağlı donanım bileşenlerini (örneğin sensör, GPIO, I2C, SPI, LED, UART vs.) tanımlayan bir “harita”dır. Yani “Bu cihazda hangi donanımlar var, hangi pine bağlılar, nasıl çalışıyorlar?” sorusunun cevabını veren bir metin dosyasıdır. Bu dosyalar genelde .dts (device tree source) veya .dtb (derlenmiş binary hali) olarak bulunur. Kernel (çekirdek) başladığı zaman hangi donanıma nasıl ulaşacağını ve hangi sürücüyü başlatacağını bu dosya aracılığıyla okuyup sistemi başlatır.
Bir gömülü geliştirme kartında (Örneğin: Gemstone, Raspberry Pi, BeagleBone) işletim sistemi, donanımı kendi kendine tanıyamaz. Bu yüzden bir “Device Tree” (donanım haritası) dosyası vardır. Bu dosya işletim sistemine der ki: “GPIO 2 pinini UART olarak kullan, GPIO 17 LED’e bağlı, I2C-1 burada” yani donanımın hangi pin ne işe yarıyor bilgisini anlatır.Bazen bu tanımları değiştirmek veya ekleme yapmak gerekebilir. Ama tüm haritayı yeniden yazmak gereksiz olabilir. İşte bu durumda Device Tree Overlay (DTO) kullanılır. Overlay = “Üstüne eklemek / geçici olarak değiştirmek” demek. Söz gelimi kartta GPIO 2 pini UART olarak ayarlı, ama siz bu pini LED çıkışı yapmak istiyorsunuz. Bunun için yeni bir Device Tree Overlay yükleyerek “GPIO 2 artık LED çıkışı olsun.” demiş olursunuz. Bu overlay, sadece o pini değiştirir — diğer tanımlar aynı kalır.Dolayısıyla DTO (Device Tree Overlays) Donanımın pinlerini veya işlevlerini değiştirmeyi, yeni sensör, motor, ekran vb. eklemeyi, ana sistem dosyalarını koruyarak değişiklik yapılabilmesini sağlar.
Gönüllü Geliştirici olmak için yapmanız gereken bütün dokümantasyonu okuyarak github’daki projeleri incelemek, Yol Haritası bölümündeki başlıklarından birini seçerek çalışma yapmaktır. Sorularınız için topluluk forumunu ziyaret ediniz.
Gemstone topluluğuna dahil olarak açık kaynak kodlu projelere katkıda bulunmak isteyenler için çeşitli Geliştirme standartları aşağıda belirtilmiştir.
  • Bütün çalışmalarda ilk ve temel ilke sadelik, anlaşılabilirlik üzerine kurulmalıdır. Aşırı karmaşık kod örüntülerinden kaçınılmalıdır.
  • Yazılım projelerinin kodlarında yorum veya kullanılmayan kodlar, fonksiyonlar bulunmamalıdır.
  • Dokümanlarda bütünlük sağlanabilmesi için, kullanılan bütün pencere ekran görüntülerinde Açık Tema kullanılmalıdır. İnternet sitesinin ekran görüntüsü verilecekse Microsoft Edge tarayıcı kullanılmalıdır ve çözünürlük 1280x720’yi geçmemelidir.
  • Forum, Github, Dokümanlar vb. her yerde yazı yazarken dil bilgisi ve imla kurallarına dikkat edilmelidir.
  • Projelere veya dokümantasyona fotoğraf, resim eklenirken görsellerin çözünürlüklerin çok yüksek olmaması, eklenen görselin dosya boyutunun maksimum 1 MB’ı geçmemesi gerekmektedir. Ekosistemdeki diğer fotoğraflara bakılarak örnek alınabilir. Dokümantasyon yazma konusunda ipuçları için tıklayınız.
  • Bütün çalışmalarda (Geliştirme, Dokümantasyon vb.) açıklama yazılırken "Neden", "Ne", "Nasıl" prensibi takip edilmelidir; “Bu çalışma neden yapıldı, ne yapıldı, nasıl yapıldı?”. Örneğin bu adresteki çalışma incelendiğinde “bir zorluğun mevcut olduğu, bu zorluğun ne olduğu ve çözüme yönelik ne yapıldığı” açıklanmıştır. Benzer şekilde yeni bir projenin README dosyası hazırlanırken, ilgili projenin ne yaptığından önce neden böyle bir proje yapıldığı (problemi tanımla), ne yapıldığı (çözüm için ne yapıldığı) en sonda ise çalışmanın neler yaptığı (veya çalışma bir uygulama ise nasıl kullanıldığı) açıklanmalıdır.