Tabletin linuxunu minuxunu silip sıfırdan kod yazmak

Başlatan z, 16 Ağustos 2014, 15:49:58

trinity

Eğer sourceforge üzerinden GNU açık kaynak lisansı ile bir proje oluşturulursa, bende projenin bir parçasını alabilirim. Eğer proje GNU yasal zeminine oturtulursa projeye yurtdışından da destek bulabiliriz.

Tagli

#16
z, derleyici gcc veya g++ olacak. Birileri o işlemci için portunu yapmıştır kesin. Emin değilim ama Mentor Graphics Sourcery CodeBench (eski adıyla Sourcery G++) büyük ihtimalle işimizi görür. Lite versiyonu ücretsiz, bir sınırlaması da yok aslında, ancak komut satırından ibaret, yani IDE falan yok Lite versiyonda. Kendin istersen Eclipse gibi bir IDE ile kullanabiliyorsun.

Yok "Ben hazır derleyici kullanmam, o işlemci için özel derleyici derlemek istiyorum" dersen, o zaman crosstool-NG bu konuda yardımcı olabilir. Daha alt seviyede nasıl derleyici derlenir bilmiyorum, ama LFS projesinde cevabı olabilir.

GNU/Linux sürücüleri baremetal kod yazarken işimizi görmeyebilir. Pek anladığım bir konu değil, ama sürücü dediğin şey zaten işletim sistemini donanıma bağlayan bir yazılımdır. Belki kaynak kodları fikir verebilir ama doğrudan kullanılabileceklerini sanmıyorum.
Gökçe Tağlıoğlu

z

Doğrudan kullanmak için değil.

Mesela VGA birimi nasıl init edilmiş buna ait kodlar sanırım driver içinde vardır. Eğer kodlar açık kaynak ise bizim için çok kolaylaştırıcı olur.

Zira önümüzdeki işlemcinin ne tip çevre birimleri var bunların registerleri nelerdir bu bilgi bile yok. Bu nedenle bulunabilecek her türlü bilgi hazine anlamına gelecek.

Birileri ön ayak olursa bilgiye ulaşmamız çok kolay olurdu.

Bana e^st de diyebilirsiniz.   www.cncdesigner.com

speak48

derleyici bi gnu var bide arm ds5
derleyici sorun  değilde driverler ve çipin yapısını bilmek çok önemli.
çin yapımı çipler bu açıdan çok sıkıntılı

Tagli

Bu adamların yaptıklarını inceleyebiliriz belki. Her ne kadar GNU/Linux odaklı olsa da, bare metal için de ipuçları içereceğini tahmin ediyorum.
Gökçe Tağlıoğlu

Icarus

Alıntı yapılan: z - 16 Ağustos 2014, 22:22:16
Anlaşılan sen bu işlerden anlıyorsun.
Linuxu boşver şimdi. Ya da Linux ile uğraşacaklar bir başlık altında bir girişimde bulunsunlar.
Doğrudan CPU yan kod geliştirmek için C derleyiciyi temini nasıl olacak?
Donanımla ilgili Linux driverları açık mı? Donanımın init edilmesi, kullanılması konusunda kaynak kodları varsa çok iyi referans olur.
Bize nasıl bir destek sağlayabilirsin?
Tagli'nin verdiği linkle A23'ün datasheet'i var. Bende de A13'ün datasheet'i var.

Derleyici olarak arm ds5 (armcc), gcc, keil, etc... hepsi muhtelemen olur. Önce bir bootloader tarzı bir yazarsınız.
Allwinner'ların bir boot sekansı var. Önce SdCard, sonra nand vb.. diye gidiyor. (Öyle hatırlıyorum) İşte nand'ın page'leri bozuksa bir sıraya göre boot signature'u nand üzerinde arıyor.
Bunların birde recover tuşu var. Bastığında boot önceliğini usb'e veriyor.

Ufak bir bootloader yazıp, gerçek kodların ram'e yüklenmesini sağlamak gerekiyor.  (Normalde bunu uboot ile yapıyorlar)
Clock'ları falan ayarladıktan sonrada normal bir işlemci gibi uygulamanızı çalıştıracak.

RaMu

Neden böyle birlşey yapacağız?
Herşeyden önce amaç lazım.

Birçok şey söylenmiş ama
sırf maçam yiyor diyemi bu işe girecem.
Sorularınıza hızlı cevap alın: http://www.picproje.org/index.php/topic,57135.0.html

speak48


ErsinErce

"Allwinner A23 user manual" yazınca çıkanlar;

Cortex-A7
http://infocenter.arm.com/help/topic/com.arm.doc.ddi0464d/DDI0464D_cortex_a7_mpcore_r0p3_trm.pdf

Allwinner A23 datasheet
http://dl.cubieboard.org/software/a23/A23%20Datasheet%20V1.0%2020130830.pdf

Allwinner A23 user manual (aradığınız bilgilerin çoğu bunun içinde)
http://dl.linux-sunxi.org/A23/A23%20User%20Manual%20V1.0%2020130830.pdf

http://dl.linux-sunxi.org/allwinner/Configuration_system_and_GPIO_Management_V1.01.pdf

ayrıca keil destekliyor gibi

http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.arn0005d/index.html

beaglebone raspi gibi kartlara asm ile kod yazmayı anlatan kitap / kaynaklardan faydalanılabilir.
vakit alacak (sorun çıkaracak) noktalar Wi-Fi bluetooth modüllerinin protokollerinin oluşturulması ve gpu codec zamazingolarının aktif edilerek kullanılması gibi gözüküyor.

ayrıca öneri olarak bir işletim sistemi tasarlamak, a23 chipseti kullanmaya çalışmaktan daha iyi olmaz mı?
ya da x86/x64 tabanlı bir donanım kullanılmaya çalışılırsa daha uzun solukta kullanılabilecek bilgi sağlamaz mı?

http://www.intel.com/content/www/us/en/processors/architectures-software-developer-manuals.html
http://www.intel.com/content/dam/doc/datasheet/i-o-controller-hub-7-datasheet.pdf

RaMu

Alıntı yapılan: speak48 - 17 Ağustos 2014, 00:06:59
sende kupandan geliyorsa yap

Gerçekten güzel cevap,
samimi söylüyorum birçok yönden çok beğendim.

Anlatmak istediğim
evet tamam bu proje çok şey öğretir,
çokda emek ister,
bunun ayarında bir projemde oldu,
fakat ticari getiriside olmazsa tad vermiyor, ki
ben tamamen ticari beklentim olmadan sadece yapmak için öğrenmek için yapmıştım,
sizdeki etkiside aynı olacak diyemem tabi.

Sorularınıza hızlı cevap alın: http://www.picproje.org/index.php/topic,57135.0.html

z

Ticaretini yapacaklar daha sonra yapar. Kişisel gelişim projesi bu.

Şu anda böyle bir tablete sıfırdan kod yazıp ekranında Hello word yazdırabilecek kaç kişi var?

Ben yazdıramam. Ama olurda başarırsam tecrübe haneme kocaman bir çizik daha koyarım.

1500 TL lik değil de 2000 TL lik işlere başvururum.

Bana e^st de diyebilirsiniz.   www.cncdesigner.com

Erhan YILMAZ

#26
Ha tablet ha beaglebone ne fark eder?
http://focus.ti.com/docs/training/catalog/events/event.jhtml?sku=OLT313020 Burada ki videolarda linuxu port etmeyi gösterirken anlatıyordu. Debugger üzerinden cpuya bağlanıp adım adım debug yapılıyor. Buradan yola çıkıp BBB üzerinde ki işlemciye kendi kodumuzu yazıp, çalıştırabilir, debug edebiliriz.

mesaj birleştirme:: 17 Ağustos 2014, 00:49:44

Öbür türlü ömrümüz detaylarını bilmediğimiz bir tabletin dokümanlarını araştırmakla geçer. Çincemiz ve madencilik yeteneğimiz gelişir.

faruk_ultras

tablet almak yerine çok yaygın kullanılan ve ucuz olan sbc'lerden alınabilir.beagle yada rasp.. gibi.
sonuçta üzerinde aynı arm işlemci var.soc programlamak daha mantıklı geliyor.

Icarus

Alıntı yapılan: Erhan YILMAZ - 17 Ağustos 2014, 00:40:36
Ha tablet ha beaglebone ne fark eder?
Çok fark var. Sadece NAND Flash'dan boot edilebilir birşey yazarken bile baya teknik zorluklar var. Yani dökümanyasyon zorluğu değil...

z

Merak ettiğim bir konu var.

Tabletlerde Linux var ise bu, üzerindeki tüm kodların açık kaynak olduğu anlamına geliyormu?

Donanıma erişimle ilgili program parçacıkları da açık kaynak mı?

Cevabı evet ise bu kodlara nasıl ulaşırız?


Bana e^st de diyebilirsiniz.   www.cncdesigner.com