Maçası yiyen gelsin
Tabletlerin işletim sistemini silip sıfırdan kod yazacak ekipte yer almayı gözü yiyen varmı?
İşletim sistemi ve kütüphane kullanmak yok.
Zaman limiti olmadan boş zamanlarda tamamen zevkine ASM ve C ile kod yazacak delilerden oluşan bir kaç kişilik ekip kurmak istiyorum.
Bir an önce yapalım kurtulalım ya da yapamadım bu işi bırakalım demek yok. 4 sene ise 4 sene 10 sene ise 10 sene arada bir ilgili alakalı olacağınız bir proje.
Tableti ayağa kaldırdıktan sonra internetmiş mail atmaymış, video oynatmaymış, müzik çalmaymış gene bunları yazacak deliler buluruz.
Aşağıda örnek bir tabletin donanım özellikleri var. Bu yada benzeri ortak bir platformda çalışacak olanlar varsa, yiyiyorsa bu işe nasıl başlarız
konuşmaya başlayalım.
Derleyiciyi nasıl bedavaya buluruz? Çiplerin dokumanlarını nasıl buluruz? Dokuman bulamazsak Linux için yazılmış sürücüleri nasıl elde eder ve tersine mühendislik yaparak çipleri nasıl anlarız?
Processor Mode: Allwinner A23 Dual Core 1.5GHz Cortex A7 High Performance Processor
RAM Installed Size: DDR 512MB
Built-in Nand Flash: NAND FLASH 4GB
Display Diagonal Size: 7" TFT 16:9 width screen
Max Resolution: 800X480
Touch panel: 5 points Capacitive Touch Screen
Camera: 0.3M pixel
Gravity Sensor: 4 Directions
Input/ Output Connectors
Audio/Video: Built in 1W stereo speaker x1, earphone x1
USB Port: Micro USB Device/Host x1
Memory Card: Micro SD card slot x1. Maximum capacity of 32GB
Communications
Wireless Connection: Wi-Fi
Wireless Protocol: 802.11 b/g Wireless network
benim de içinden cortex-a işlemcileriyle çalışmak geçiyordu ama böyle bodoslama değil.
içinde hangi donanımlar kullanılmış iyi dökumante edilmiş hatta sürücüleri açık dağıtılmış
işlemciler daha uygun olurdu.
mesela freescale driverleri açıyor.onla yapılmış bi tablet bulmak gerek.
Ben varım. Öncelikle üzerinde çalışabileceğimiz ucuz ve kolay bulunur bir tablet bulmalıyız. Öyle ki çalışmaz hale getirirsek arkasından ağlamayalım. (Aslında zaten bir süre çalışmaz halde olacak, kaçarı yok)
Ama ben sıfırdan Linux kurmaktan yanayım. Daha önce de değinmiştim, LFS (Linux From Scratch) kıvamında.
Programlaması nasıl olacak ?
Kod nasıl atılacak ?
Şarj soketinde programlama için gerekli pinler var mı, yoksa kasayı açıp pinlere direkt müdahale etmek mi gerekecek ?
Tablet ayağa kaldırılırsa android veya bir linux sürümünden daha da gelişmiş özelliklere sahip olabilecek mi ? Daha hızlı çalışabilecek mi ?
Tablet piyasadan kalkarsa harcanan emeklere ne olacak ?
özetle kendini geliştirmekten öte işlevsel bir getirisi olacak mı ?
Merhaba arkadaşlar ,
Operating sistemin içine root olarak girin ,
1) dmesg çıktısını kaydedin
2) uname -a çıktısını kaydedin
3) /etc klasörünü komple kaydedin
4) /sys/class altında backlight , graphics gibi dosyaların içindeki name , mode gibi çıktıları kaydedin.
5) dmesg çıktılarından kernel parametrelerinin muhakkak kaydedin --> serial console port adı ve lvds ayarı ordadır (dmesg |grep Kernel)
6) /proc altında config.gz varsa muhakkak alın rootfs derlerken kullanılır.
7) /proc/cpuinfo , /proc/meminfo yu kaydedin
8 ) /boot altındakinlerin hepsini tar layın çekin
9) En önemli kısım bootloader onun için serial console çıkışı olmalı ,muhakkak vardır kartın üzerinde ordan bağlanamadıktan sonra çok zor , eğer bağlanılabilinirse herşey çok basit tüm parametrelerini kaydedin , partionlara bakın oradan bootloaderin olduğu hexdump görünen yeri printscreen yapın.
Aslında bu bootloader second olan primary kartın üzerinde oraya onun anlayabileceği bir second bootloader yerleştirilir.Bu bahsettiğim kendi bootloader inizi çalıştırmak istiyorsanız, bence kalsın çünkü tüm hardware i o ayağa kaldırır.
Programlama: Qt + Java olabilir
Kod atma olayı: Rootfs altına direkt atılır. Sanırım OTG girişine console düşüyordu incelemek lazım
Daha hızlı çalışma olayı : eğer sadece birkaç işi yapacaksa inanılmaz hızlı olur.
Reverse engineering yapılabilir, komutlar değişiklik gösterebilir ama dosyalar unix için , alınan tablette de aynıları var.Yeri geldikçe yukarıdaki kaydettiklerinizi kullanacaksınız.Hobi için güzel bir uğraş home media player falan yapılabilinir.
Kolay gelsin.
Ben daha önce böyle bir konu açmıştım.
https://www.picproje.org/index.php/topic,53204.msg403491.html#msg403491 (https://www.picproje.org/index.php/topic,53204.msg403491.html#msg403491)
Aynen sizin dediğinizi yapmak istemiştim @z hocam.
Ama vazgeçmedim ben. Bu fikir kafamda halen daha...
Ben yapamadım ama siz o tecrübe, bilgi birikimi ile yaparsınız.
-----------------------------------------------------
@z hocam, bu projede öğrendiğiniz her bilgiyi bizlerle paylaşırsanız, çok minnettar oluruz.
mesaj birleştirme:: 16 Ağustos 2014, 17:31:55
@tesladream;
Aman Java olmasın. Mobil platformda Java hiç de iyi bir seçenek değil. Ama Qt mükemmel olur. Ki Gömülü sistemler için bir vesiyonu da var zaten.
@kimlenbu;
Hocam bu gibi projelerde asıl amaç kendini geliştirmektir zaten. :DD
Saygılarımla...
Benim maçam yermi yemez mi bilmiyorum.
Derleyiciyi bulursak, çip dokumantasyonlarına da ulaşırsak kendimi ikna edebilirim.
Fakat hazır driver bulmaktan ve linux yüklemekden bahsetmiyorum.
Sıfırdan ve hard core kod yazmaktan bahsediyorum.
@Z ,
Tutki maçamız yedi ve 4-5 sene uğraştık bir yerli yazılım geliştirdik. Peki bu yazılım bize 4-5 sene sonra ne kazandıracak. zaten o vakite kadar adamlar bu işin kat ve kat daha iyilerini yapacaklar. Maddi ve manevi zarara uğramayacakmıyız. Birde ömürden 4-5 sene gitmiş olacak.
Bunun yerine örnek olarak denizcilik sektörüne veya başka bir sektöre Türkiyede imalatı yapılamayan bir cihazı geliştirip para kazanmak daha iyi olmazmı. ?
http://community.arm.com/groups/tools/blog/2013/04/15/arm-cortex-a-processors-and-gcc-command-lines (http://community.arm.com/groups/tools/blog/2013/04/15/arm-cortex-a-processors-and-gcc-command-lines)
gcc zaten bu işi yapıyor(derleyici) fakat bsp(register adresleri, içerikleri vsvs.) hazırlanması gerekir.
gcc'nin zaten port edildiği bir işlemci barındıran bir tablet seçmeliyiz.
Bu projede amaç kendini geliştirmek ve biraz da eğlenmek. Faydalı bir şey çıkması gibi bir beklenti ve hedef olmaması lazım.
Ben yine de GNU/Linux'tan yanayım. İşletim sistemi olmadan tabletin tüm potansiyelini kullanmak çok zor olacaktır. Kendimizin sıfırdan yazması da pek mümkün olmaz bence.
Ama bir yandan z'nin baremetal önerisi de zor olsa da eğlenceli gibi duruyor.
Belki hem GNU/Linux hem baremetal deneyebiliriz.
Allwinner A23 Dual Core 1.5GHz Cortex A7 High Performance Processor
gcc cortex a7 ye derleme yapıyor FreeRTOS port edilirse güzel olur. Bare-metal olarak bu işlemcilerle uğraşmak verimsiz.
Kawai diye bir markanın servisini alıyor
arkadaşım. Model GT-090. Bunun da iki
modeli var. Bluetooth olanı-olmayanı.
Konuştum şimdi. Uygun fiyatlı alınması
imkanı var. Ürünü inceleyip karar verirseniz
yardımcı olmaya çalışırım.
Alıntı yapılan: diot - 16 Ağustos 2014, 18:33:45
@Z ,
Tutki maçamız yedi ve 4-5 sene uğraştık bir yerli yazılım geliştirdik. Peki bu yazılım bize 4-5 sene sonra ne kazandıracak. zaten o vakite kadar adamlar bu işin kat ve kat daha iyilerini yapacaklar. Maddi ve manevi zarara uğramayacakmıyız. Birde ömürden 4-5 sene gitmiş olacak.
Bunun yerine örnek olarak denizcilik sektörüne veya başka bir sektöre Türkiyede imalatı yapılamayan bir cihazı geliştirip para kazanmak daha iyi olmazmı. ?
Bilmediğiniz bir konuyu öğrenmek için harcayacağınız zaman kayıp zaman değildir. Gavur zaten her daim bizden daha iyisini yapacak.
Biz bu proje ile kendi çapımızda eğleneceğiz.
Para kazanabileceğimiz imalatı olmayan cihaz örneklerini de konuşalım. Yapabileceğimiz türden cihazlar varsa hemen yapmaya başlayalım.
Yapılmasında hiçbir sıkıntı yok.
Hatta kullandığınız işlemci buna çok uygun çünkü direk USB üzerinden kod çalıştırabiliyor (Aynı tablet bende de var :) )
Kodları tablete yüklemek yerine boot sırasında usb üzerinden ram'e koyabiliyorsunuz :) Rahatlık baya.
Öncelikle ufak bir debug arayüzü yaparak başlayın kullandığınız tabletin sdcard pin'leri aynı zamanda default uart'ı basit adaptörle tablete zarar vermeden uart elde edebilirsiniz. (Ben ne yazık ki kamerayı söktüm :( )
Ama bence bunun yerine güzel linux + uboot derleseniz, tablete yükleyip zaten var olan LCD ve touchscreen sürücülerini kullansanız daha güzel olmaz mı ?
Sonra ne yazmak isterseniz masaüstünde yazın, debug edin, tablete yükleyin.... Olmadı mı ? USB OTG'den Ethernet adaptörü takıp Linux de remote debug yapın ! :D
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?
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.
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 (http://crosstool-ng.org/) 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.
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.
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ı
Bu adamların (http://linux-sunxi.org/A23) 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.
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.
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.
Alıntı yapılan: RaMu - 17 Ağustos 2014, 00:04:16
sırf maçam yiyor diyemi bu işe girecem.
sende kupandan geliyorsa yap
"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 (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 (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/A23/A23%20User%20Manual%20V1.0%2020130830.pdf)
http://dl.linux-sunxi.org/allwinner/Configuration_system_and_GPIO_Management_V1.01.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 (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/www/us/en/processors/architectures-software-developer-manuals.html)
http://www.intel.com/content/dam/doc/datasheet/i-o-controller-hub-7-datasheet.pdf (http://www.intel.com/content/dam/doc/datasheet/i-o-controller-hub-7-datasheet.pdf)
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.
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.
Ha tablet ha beaglebone ne fark eder?
http://focus.ti.com/docs/training/catalog/events/event.jhtml?sku=OLT313020 (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.
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.
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...
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?
Alıntı yapılan: Icarus - 17 Ağustos 2014, 09:15:47
Ç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...
Fark etmez...
Tabletlerde ve telofonda sadece Kernel kısımı Linux. gerikalan kısım Google amca tarafından yazıldıp paketlenmiş andreoid olmuş.
http://www.linux.org/threads/linux-kernel-reading-guide.5384/ (http://www.linux.org/threads/linux-kernel-reading-guide.5384/) bu adresteki kernel dökümanları fikir vere bilir.
Ek:
Allwinner Dev Team git hub adresi ------> https://github.com/allwinner-dev-team (https://github.com/allwinner-dev-team)
OpenOCD ------> http://openocd.sourceforge.net/ (http://openocd.sourceforge.net/)
A23 Original SDK ------> http://dl.linux-sunxi.org/SDK/A23-v1.0/unpacked/ (http://dl.linux-sunxi.org/SDK/A23-v1.0/unpacked/)
A23 User manual ------> http://dl.linux-sunxi.org/A23/A23%20User%20Manual%20V1.0%2020130830.pdf (http://dl.linux-sunxi.org/A23/A23%20User%20Manual%20V1.0%2020130830.pdf)
Bare Metal programming A13 ------> https://www.olimex.com/wiki/Bare_Metal_programming_A13 (https://www.olimex.com/wiki/Bare_Metal_programming_A13)
EK2
Konuyla pek lakası yok ama WinNT 5.2 kernel kaynak dosyaları --------> https://drive.google.com/file/d/0B0V9vDQzWKgrQXdHRmpPaHB6T1dHWWVSc1JSLVp6RnVzdElz/edit?usp=sharing (https://drive.google.com/file/d/0B0V9vDQzWKgrQXdHRmpPaHB6T1dHWWVSc1JSLVp6RnVzdElz/edit?usp=sharing)
Elimdeki tabletden bazı resimler.
(http://i.hizliresim.com/Q1ykZg.jpg) (http://hizliresim.com/Q1ykZg)
(http://i.hizliresim.com/bQ9ObG.jpg) (http://hizliresim.com/bQ9ObG)
(http://i.hizliresim.com/0brPyo.jpg) (http://hizliresim.com/0brPyo)
Samsung, TI, Freescale, Qualcomm gibi yongalı tabletlere bakın derim.
Android ve GNU/Linux'un kernelleri aynı değil. Android GNU/Linux'tan türetilmiş. GNU/Linux'un lisansının GPL olması sebebiyle Android kernel kodu kapalı olamaz. Ama donanım sürücüleri kernel modülü şeklinde yazılabilir ve kapalı tutulabilir.
Alıntı yapılan: ErsinErce - 17 Ağustos 2014, 00:11:58
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ı?
@ErsinErce
Tablet projesi aslını sorarsan samanlıkta iğne aramak gibi bir şey.
Ancak;
Çok çok önceleri PC yi işletim sistemi olmadan kullanan floppyden boot ederek açılan, SVGA modunda ekrana form getiren üzerine buton ve text edit gibi basit bir kaç görsel komponent getiren çok basit bir şey yazmıştım.
Gerçi PC de bu işler biraz dah basit. En azından BIOS fonksiyonları ile pek çok kod hazır oluyor.
Flash silindikten sonra A23 çipi ile basit bir led yakıp söndürme başarılabilirse belki moralimiz düzelebilir.
Şu anda zaten fikir cimlastiği yapıyoruz.
Bu projeden beklentim.
A7 işlemciye kod yazmak.
Çift çekirdekli işlemciyi kullanmak.
Çipin içindeki VGA gibi modülleri kullanmak.
Asıl uzun soluklu işler. Daha sonra.
OS yazmak, sıfırdan MP3 player yazmak, wireless birimi için kod yazmak, TCPIP vs vs.
Gavur yazabiliyorsa teorik olarak bizim de yazabilmemiz lazım. Anatomimizin çok farklı olduğunu düşünmüyorum.
mesaj birleştirme:: 17 Ağustos 2014, 14:07:55
Alıntı yapılan: engerex - 17 Ağustos 2014, 13:54:10
Samsung, TI, Freescale, Qualcomm gibi yongalı tabletlere bakın derim.
Ne gibi avantajlarımız olacak?
Matlab a arm cortex-a support package add on yüklenince
arm cortex a için simulink ile kod geliştirilebiliyor,
bende yükledim deniyorum bakıyorum.
Tutorial kısmında şu örnekler var;
(https://lh4.googleusercontent.com/-xp3bfZ5JsjI/U_CT67nNjRI/AAAAAAAAA0w/cfksMbWz3Ns/w717-h407-no/arm%2Bcortex%2Ba%2Bmatlab%2B1.PNG)
(https://lh6.googleusercontent.com/-CQvqiQa07VU/U_CT5ZGwOVI/AAAAAAAAA0k/XAiLD88LKmM/w717-h523-no/3.PNG)
(https://lh4.googleusercontent.com/-gPS6pCaTe8c/U_CT63ecoVI/AAAAAAAAA00/SrZyieeZ1Go/w718-h393-no/2.PNG)
Aslında diğer bahsedilen derleyicileri kullanmak bize daha yakın geliyor
burada simulinkdeki blocklarla kodu oluşturuyoruz,
çokda verimli olacağı söylenemez.
A23 içinde Ram ve Rom yok galiba. Yukarıda fotolarını verdiğim resimlerde 29F3C08C olan Flash, 256X8 olanlar da ram sanırım.
Bu durumda bu flashı nasıl programlayabiliriz? Kullanmakta olduğumuz Jtag cihazları bunda da işe yarayacakmı?
Önce uboot'u ram'e yükleyip çalışırıp sonra bunun üzerinden Nand flash'a yazman lazım.
Veya direkt nandflash image'i hazırlayıp tablete atabilirsin ama bu çok zahmetli
Kod geliştirirken yaz boz yaz boz işini nasıl yapacağız. Çünkü flashı uçurmayı düşünüyorum.
Bu arada bu flashın (android vs vs) kopyasını usb üzerinden PC ye atmanın ve gerektiğinde tekrar tablete yüklemenin bir yolu varmı?
Evet "LiveSuite" veya "PhonixSuite" ile yapabilirsin. üreticinin sitesinde imajı vardır büyük ihitmalle.
Yaz boz olayı için flash'e kod yükleme sadece ram'lerden çalıştır. Daha sonra development tamamlanınca yazarsın.
Fakat Flash'ın "yönetilmeyen !!!!!!!!" bir nand flash olduğunu unutma, eğer yapabilirsen sdcard ile dene...
Android tablet veya telefonlar. Büyük kısmı ARM kullanır. Cihaz açılamaz duruma geldiğinde, yeni ROM yüklemek gerektiğinde, yükseltmelerde, sorun çözümlerinde yapılan işlem kurmarma olayıdır. Genelde cihazda ses açma/kapama + power tuşuna basarak bir menü gelir. Bu menüyü takip ederek ilgili işlemleri yapabilirsiniz.
İşte bu uygulamanın kaynak kodlarını incelerseniz faydası olacağını düşünüyorum. Yapmak istediğiniz bir çok şeyi bu programcıklar yapıyor.
Örnek ekran görüntüleri.
(http://static1.ubunlog.com/wp-content/uploads/2012/04/CWMAINOLELF.jpg)
Ses tuşlarıyla gezinilen bir örnek.
(http://img.wonderhowto.com/img/05/08/63504226881253/0/flash-custom-rom-onto-your-samsung-galaxy-note-2-and-enhance-your-android-experience.w654.jpg)
Dokunmatik bir örnek.
(http://i1117.photobucket.com/albums/k590/ironass01/PhilZ1_zps255e7600.png)
Bu uygulamaların epey faydası olacağını düşünüyorum. Hatta tablet işinden vazgeçin. Telefon üzerine gidin. Temel telefon işlevleri yerine getiren bir yazılım ortaya koyarsanız çok güzel olur.
Arkadaslar yeniden Amerika'yı keşfetmeye tekerleği icat etmeye gerek yok diyorum yapmaz istediğimi nedir onu bilelim bu işi öğrenmek mi amaçlanıyor yoksa nedir bilemedim fakat sunu diyeyim her cep telefonu tablet pcler zaten fark lı farklı işletim sistemleri oradaki işlemci kodlarını ayıran sizin istediğiniz işlemcinin kodlarını oraya adapte eden compiler yaparsanız bu iş cozulur ornek vereyim 8086 ile calısan kodlari arm ye derlemek isterseniz ona gore dosyalarda değişiklik yapılması gerekmektedir Cunku işlemci kodları çok farklı dosya okuma sekilleri farklı bunları makineye bizler öğretiyoruz insanlar yani ama su unutulmamalıdırki her yeni çıkan işletim sistemi hackerlerin program kırmasını engellemeyi fakat microsoftun sizin bilgilerinizi daha iyi almasını amaçlamaktadır
Öncelikle şu "Amerikayı yeniden keşfetmeye, tekerleği yeniden icat etmeye gerek yok" söyleminden vazgeçelim.
Keşfetme zevkinden kendimizi asla ve asla mahrum etmeyelim.
Zaman nakittir söylemini çok sık kullansamda zamanın para falan ettiği yok. Yani keşif için harcanacak zaman madi kayıp falan değil.
Eğer zaman nakit olsaydı, 10 yıldır üye olduğum forum üyelerinin şimdiye trilyoner olmaları gerekirdi. (Ben dahil)
O yüzden bırakın yeniden keşfedelim.
Alıntı yapılan: z - 17 Ağustos 2014, 23:00:19
Eğer zaman nakit olsaydı, 10 yıldır üye olduğum forum üyelerinin şimdiye trilyoner olmaları gerekirdi. (Ben dahil)
+1
Projede ben de yer almak isterim.Derleyici olarak bence gcc ile yazabiliriz.Editör olarak da eclipse kullanılabilir.Arm DS-5 güzel ama paralı.İlacı varsa onu da kullanabiliriz.Hem kısım hiç uğraştırmamış olur.DS-5 i kurunca her şey hazır olarak geliyor neticede.Tablet yerine de dev-board da kullanılabilir he daha ucuza gelmiş olur.
Direk kod yazmak yerine linux port edilmesi daha iyi, en azından birilerine faydanız dokunur. Millet aya giderken yaya kalmayın derim. Tamam amaç eğlenmek ve öğrenmek olabilir ama 4-5 senenizi daha verimli geçirmek adına linux port olayına el atsanız daha verimli olur.
Alıntı yapılan: z - 17 Ağustos 2014, 14:04:56
mesaj birleştirme:: 18 Ağustos 2014, 14:07:55
Ne gibi avantajlarımız olacak?
Allwinner ailesi genelde 2-3 yıllık MCUlar çıkarıyor. Ürünlerin ömrü az. Bu yüzden iMX veya AM33x ler gibi 10-15 yıl üretim garantisi ürünlere bakmak lazım..
birde başlangıç için yararlı olabilir : http://www.friendlyarm.net/forum/6 (http://www.friendlyarm.net/forum/6)
@Z , ben hala bu kadar uzun süre bir şeyle uğraşmaktan yana değilim. Gençlikte bu tür uğraşılar (öğrenme içinde olsa ) pek sorun çıkarmıyor. Kendimden örnek verecek olursam yaş 48 ve 50 ye merdiven dayamış biri olarak. Çok uzun süreli işler beni kasıyor. Türkiyede imalatı olmayan işer ile uğraşıp para kazanarak bu işleri öğrenmek daha iyi olur kanaatindeyim. Denizcilik sektöründe bir çok cihazın imalatı Türkiyede yapılmıyor.
Oto pilottan tutun sonar ve radara .... vs . Mesela geçen arama kurtarmacı bir dalgıç arkadaşımızın bir konuda yakınması var idi. karanlık ve bulanık sularda dalma ile ilgili. Daldıktan bir müddet sonra geri dönmek istediklerinde, dalış yaptıkları teknenin ne tarafta ve hangi uzaklıkta oldugunun tespiti. Bu tür bir cihazın imalatı yok. Bu sadece basit bir örnek. Sektör araştırıldığında bir çok proje çıkacaktır.
Sanki 10 yıllık proje ha !
Ya 3 ay'da yapılır ve güzel olur.
Bu negatifliği anlamıyorum.
Alıntı yapılan: Icarus - 18 Ağustos 2014, 08:12:58
Eğer zaman nakit olsaydı, 10 yıldır üye olduğum forum üyelerinin şimdiye trilyoner olmaları gerekirdi. (Ben dahil)
Bence trilyoner olan vardır. fakat bu adamalrın eğlencesi artık forumlara girmek değildir. yat vs almıştır. Afrikada arazisi vardır gergedan besliyor olabilir. gelip buraya trilyoner oldum demez.
@icarus , Yazdıkların banaysa bu negatiflik değil, bilyoruzki proje 10 yıllık bir projede değil. Ben anlatamadım galiba, biraz yazma özürlüyüm kusura bakmayın. Bu tablet olayında artık o kadar çok hazırlanmış kod ve işletim sistemi kaynağı varki piyasada . Oturup sıfırdan birde bizim yazmamız anlamsız olur. Amaç öğrenmek ise hazır açık kaynak kodları inceleyerekde kısa zamanda bu işi çözebiliriz. 80 li senelerde 386dx40 bir anakart için oturup bios yazmaya kalktım 1.5 senemi bu işe ayırdım Artık %70-80 işi bitirdim dediğimde, birde baktımki elin oğlu almış başını gidiyor. sonuçta ne mi oldu, 1.5 senem heba oldu. Benimde amacım burada T2 arkadaşımız gibi başlarda öğreneyim merakıydı. Ama Hazır kodları inceleyerek daha çabuk öğreniliyor. Sonra gerikalan sürede bu bilgileri kullanarak para getirecek bir projeye yönelmek daha mantıklı geliyor bana.
Sonuçta bu meslek parasız yapılamayan pahalı bir meslek.
yapılmak istenen kolay bir iş değil.ama vakti olan yapmak konusunda niyetli olan kişiler deneyebilir.eninde sonunda bir sonuca da ulaşabilirler.yapmaya niyeti olmayanların amerikayı yeniden keşfetmeye gerek yok rasperi vs gibi kitler daha iyi olur vs gibi negatifliklerle yapmak isteyenlere ket vurmasını doğru bulmuyorum.yapmak isteyenler gruba katılır.bi yerden başlanır.gidişata göre proje şekillendirilir.neticede ucunda ölüm yok.
Ben konuyu takip ediyorum. Yapılan işlerden uygulayabildiğim kısmını uygulamaya çalışmayı düşünüyorum.
Sanki amerikayı biz keşfetmişiz gibi, cvlerinde uzaya mekik göndermiş gibi davranan kişi tarzında yapılan yorumlardan bıktım.
burada android e ait soruce kodlar mevcut.bunlar incelenerek işe başlanabilir.
https://github.com/android
Allwinner (A13) için bu işin nasıl yapılacağına dair bir doküman;
https://www.olimex.com/wiki/Bare_Metal_programming_A13 (https://www.olimex.com/wiki/Bare_Metal_programming_A13)
Cambridge Üniversitesi, Raspberry Pi için işletim sistemi geliştirme eğitimi yayınlamış. Alın size Türkçe kaynağı: http://www.raspi.gen.tr/2013/02/25/raspberry-piye-isletim-sistemi-yazmak/ (http://www.raspi.gen.tr/2013/02/25/raspberry-piye-isletim-sistemi-yazmak/)
Şuan bu projenin teknik zorluklarının hiçbiri RaspberryPi'da yada development için "özel" olarak yapılmış SdCard'la çalışan board'larda yok.
Ben bir yazılım yada donanım konusunda bir proje yapmak niyetindeysem öncelikle yapılmış sistemleri incelemeye başlarım. Donanımı nasıl halletmişler yazılımda nasıl bir algoritma kullanmışlar yazılım donanıma nasıl ulaşıyor, öncelikle bunlara bakarım . Böylelikle Öğrenme aşaması daha hızlı ilerler. Bir çok farklı sistemi inceledikten sonra kıyaslama yaparım farklı sistemlerin iyi ve kötü yanlarını ortaya koyar ve sonra kafamdaki sisteme uyarlarım. Zaten bu sistemler uzun arge çalışmalarından geçtiği için, fazla zaman ve para harcamamış olurum. Eğer sıfırdan yeni tablet sistemi yazarak bir proje yapacaksanız, önce yazılı açık kaynak sistemlerini inceleyerek işe başlamak daha doğru olacaktır.
Bazı embedded board üreticileri board'un sağlamlığını test etmek için Arm Developer Suite kodları veriyordu.
Bu tarz kodları olan bir board kısa vadede çok yol alınmasını sağlayabilir.
Ne oldu şimdi, son durum nedir? Bodozlama facebook'dan geldim. Bir baktım 2014 konusu. Bismillah çekildi mi?
O tarihlerde başlamış olaydık şimdiye kadar kör topal da olsa bir işletim sistemi çıkmış olurdu.
Neyse, en azından bilinç altına yerleşmiş oldu. Bu da bir ilerlemedir.
Cortex A8 serilerine yazmak o kadarda zor değil bir adet Beaglebone Black(AM335x) 1 adet XDSv100 emülatör ve CCS(Code Composer Studio) olduktan sonra sizi tutabilecek kimse yok.
Keşke başlasaymışsınız.
Zoru başarmak istiyorsanız daha zor ile başlamalısıınz.
http://arjunsreedharan.org/post/82710718100/kernel-101-lets-write-a-kernel (http://arjunsreedharan.org/post/82710718100/kernel-101-lets-write-a-kernel)
X86 için problem bayağı uğraşıp ilerlemiştim. İnteruptlar, korumalı mod. Assembly ile pek uğraştıracak durum yok ama bilinmesi zorunda c ve asm hibrit kullanılabilir. Velakin arm işlemcilerin boot kısmı nasıldır hic araştırmadım.
Sıradan bir MCU ya kod yazmak ile tablete kod yazmanın arasında ne fark var.
Mimariyi öğrenmek için faydası olabilir ancak onun dışında bir fark yok.
Sizin öneriniz bence sadece kürek kullanarak tüm şehre kanalizasyon yapalım gibi bir şey...
Üzerinde ses, video çipleri, büyükçe depolama alanı var.
Bir de işletim sistemi yazım işlemi.
Sıradan bir çipe kod yazmaktan çok farklı.
Çalışmak için çok disiplin gerekiyor.
Forumdaki bir çok üye bütün gün mesaide çalışıyor, işten akşam eve zor geliyoruz, vakit ayıramıyoruz. Bu tarz disiplinli bir projenin oluşması için tam zamanlı çalışmak gerekli buda ekonomik kaynak ister.
Bu tarz projeler sermayenin bol olduğu yabancı ülkelerde çok rahat hayata geçirilebiliyor, ama ülkemizde biraz sıkıntılı.
Ben projelerin başarısındaki sırrı keşfettim. Projeyi yapan kişiler gariban olması gerek. maddi ihtiyacı olması gerek. bu sayede motivasyonu kuvvetlenecek, vaadedilen parayı alabilmek için köpek gibi çalışacaktır. ferrarili, göbekli arge elemanı olmaz.
STM32F7 ile uğraşın bence. Döküman sıkıntısı yaşanmaz. İşlemcide baya sağlam. Her türlü proje yaparsın. USB var. SD kart var, Kamera soketi var, Ethernet var LCD var. Ses çipi bile koymuşlar
STM32F7 bölümü biraz zenginleşsin :D
Hortlatiym bu konuyu. :D
Allwinner kesinlikle yanlis bir secim. Icinde bir suru nane olduguna bakmayin nasil kullanildigini ne user manual acikliyor nede datasheet ayrintili bilgi veriyor. Uretici bu cipi android uzerinde kossun diye tasarlamis, bu yuzden hicbir sey acik kaynakli degil. Sadece gonullu bir topluluk var bu islemci uzerine linux kullanilmasi icin calisan ki bu toplulugu bile arasira allwinner rahatsiz edip duruyor. Bu topluluk icinde bir kisim tersine muhendislik ile h264 decoder ve encoder i ayaga kaldirmaya calisiyorki buda hic kolay bir is degil. Son hali hala bocekli ve ugrasan senelerdir yok.
Uzerinde bare-metal isletmek cok zor olmasa gerek. Sadece bootloader i modifiye edip cross compile edilmis bare-metal uygulamasini ram e kopyalamasini saglamk gerekiyor (linux yerine). (boyle basit anlattigima bakmayin bu bile kolay is degil) Islemci zaten A7 gcc kullanilabilir. Fakat diger birimleri agaya kaldirmak ureticinin destegi olmadan kolay degil. Suruculerde tersine muhendislik ise ayri bir alem zaten.
Isden cikip gunde 2-3 saat calisma ile 10 yil iyi bir sure tabi her turlu dokuman bulunabilirse. Aksi durumda 20 yil biciyorum. :D
Eh proje ilerleyememiş pek ama işlemciler ilerliyor.
https://m.donanimhaber.com/newsampnew.aspx?id=112962 (https://m.donanimhaber.com/newsampnew.aspx?id=112962)
Alibaba da işe el atmış. Sadece 50 Komut ile herşeyi yapın diyor. 16 çekirdek vs. Bence kulağa hoş geliyor.
@z reyiz muhtemelen artık bu konuyla ilgilenmiyor ama meraklıları için sağlam bir site:
http://linux-sunxi.org/Main_Page