Haberler:

Foruma Resim Yükleme ve Boyut Sınırlaması ( ! )  https://bit.ly/2GMFb8H

Ana Menü

Linux cortex M3 - M4

Başlatan demket, 04 Nisan 2012, 12:07:28

demket

Merhaba arkadaşlar,

En basit haliyle oluşturabileceğimiz linux u Cortex M3 veya M4 üzerine kurabilir miyiz?

Kolay gelsin,

Tagli

Şu başlığı okuduktan sonra insan "Neden olmasın ki?" diyor...

Ama pratikte, MMU'su olan işlemcilerle kullanılır. Hafıza ihtiyacını da haricen karşılamak gerekir. Linux çalıştıracak bir kart tasarımına girmeden önce, hazır bir kart üzerinde uygulama yaparak bu işi öğrenmek şart.
Gökçe Tağlıoğlu

NecroCapo

Alıntı yapılan: Tagli - 04 Nisan 2012, 12:27:10
Şu başlığı okuduktan sonra insan "Neden olmasın ki?" diyor...

Ama pratikte, MMU'su olan işlemcilerle kullanılır. Hafıza ihtiyacını da haricen karşılamak gerekir. Linux çalıştıracak bir kart tasarımına girmeden önce, hazır bir kart üzerinde uygulama yaparak bu işi öğrenmek şart.

Peki Tagli hocam bu MMU ne oluyor ? Eğer MMU'dan kastınız memory protection unit (MPU) ise; STM32F4 Discovery kitinde kullanılan STM32F407VG entegresinin datasheetinde MPU olduğunu söylüyor. Fakat henüz STM32F4 kullanarak linux çalıştıran görmedim internette. Belki de yeni ürün olduğundan, birileri uğraşıyordur hala? :)

demket

Tavsiye edebileceğiniz bir kart var mı?

M3 - M4 üzerinde deneme yapan varsa deneyimlerini aktarırsa sevinirim. Elimde stm32f407vg discovery ve ti-lm3s9b92 var.

Buildroot ile bir imaj oluşturdum. Gerçi uygun chipdef lemi oldu emin değilim. Şimdi sıra bu imajı kitlerle kullanmak ama nasıl. bootloader a gerek varmı. imajı nereye atacağız. root dosya yapısını ne yapacağız.

yamak

Normalde CM3-CM4 linux koşturmak için uygun işlemciler değildir. Yukarıda @Tagli'nin verdiği linkte adam özel bir yöntem kullanmış.8 bitlik mcu'yu sanki 32 bitlikmiş gibi çalıştırdı. Ve bu bu yaptığı şeyi ilk defa orada gördüm. Zaten yorumları okursanız yaptığı şeyin ne kadar sıradan olmadığını anlayacaksınız.

Tagli

MMU: Memory Management Unit.
Her process (Türkçe'sinin terim olarak ne olduğunu unuttum, görev olabilir) sistemde sadece kendisinin var olduğunu sanır. Bunların çalışma sırasında kullandığı adresler kendilerine özgüdür ancak gerçek fiziksel adresler değildir. MMU process bazındaki sanal adresleri gerçek fiziksel adreslere çeviren donanımsal bir birimdir.

MPU'nun ne olduğunu bilmiyorum. ARM'ın bazı işlemcilerine özgü bir birim olabilir. Belki de aynı şeydir ama öyle olsa farklı isim vermezlerdi diye sanıyorum.

buildroot neredeyse herşeyi kendisi oluşturuyor. Önce kendisine bir çapraz derleyici derliyor (kaynak koddan), daha sonra kernel'i çekip derliyor, ve gerekli diğer programları ve kütüphaneleri de kaynak kodlarını çekip derleyerek root file system'i oluşturuyor. Yanılmıyorsam istenildiğinde bootloader da çekip derliyor (u-boot sanırım). buildroot'un bir kötü yanı, her şeyi otomatik yaptığı için öğrenme üzerinde pek katkısı olmaması. Yine de ilk denemeler için uygun. Ben de bununla başlamıştım.

Bootloader, kernel ve root file system (rootfs) tercihlere göre çok farklı yerelere yüklenebilir. Örneğin hepsini bir SD karta koyup çalıştırılabilir. Popüler kartlarla veya qemu isimli emülatör ile başlanmasını öneririm. mini2440, Beagleboard(xM), Beaglebone, Raspberry Pi gibi kartlar popüler oldukları için bunlarla ilgili kaynak bulmak kolay. Beagleboard ve Beagleboard xM, qemu ile emüle edilebiliyor. qemu ile çalışırken bootloader olmasıne gerek yok.
Gökçe Tağlıoğlu

memo333

Gömülü Linux Notları --> http://linuxedu.xyz/

OptimusPrime

m3 ve m4 mikrokontrolcü uygulamaları için geliştirilmiş modellerdir. işletim sistemleri için kullanılanlar ise application processors olarak geçer. bunlara bakabilirsin.

fakat 8 bitlik avr de linux çalışıyorsa cortex m serisindede çalışır heralde... ;D
https://donanimveyazilim.wordpress.com || Cihân-ârâ cihân içredir ârâyı bilmezler, O mâhîler ki deryâ içredir deryâyı bilmezler ||

demket

16 MByte SRam ve 8MByte Nor Flash olursa olacakmış gibi görünüyor. Ne yapabiliriz bu hususta?

gambit1244

arkadaşlar linüx ün cortex  m3 m4 lerde kullanılmasının temel amacı nedir
bu konuda hiç bilgim yok

mesela linux hangi alanlarda işi kolaylaştırır

yada neler linux olmazsa yapılamaz?
[email]tufan_ozbek@hotmail.com[/email] Yesterday is history. Tomorrow is a mystery. Today is a gift aslında bütün mesele bu.

sakkan

önce bi bootloader derlemeleri lazım m3 ve m4 için sonrası gelir inşallah.

linux bir seçimdir. ücretsizdir. açık kaynak kodludur kendine göre değişiklikler yapabilirsin. stabildir. işletim sistemi  ve böyle ihtiyaçların varsa linuxu seçebilirsin.

Tagli

Ben Linux'un real time uygulamalardan ziyade, yüksek seviyeli ve hesap yükü çok olan algoritmalar için kullanılmasının daha faydalı olacağını düşünüyorum. Örneğin, insansız bir hava taşıtında, taşıtın dengede kalması ve bir yöne yönelmesi mikrodenetleyici ile sağlanırken, görüntü işleme, iletişim ve karar verme gibi eylemler Linux çalıştıran bir gömülü bilgisayarda yapılabilir. Bu bilgisayar uygun şekilde mikrodenetleyiciyi yönetir.

Bootloader derlemek ilk etapta gerekmeyebilir. Gömülü sistemlerde sıklıkla kullanılan u-boot'u, desteklediği pek çok sistem için hazır derlenmiş olarak bulmak mümkün.

Gömülü Linux öğrenme sürecini bir işlemci veya kart ile sınırlamayın. Olayın bunlarla doğrudan bir ilgisi yok. Az önce bir başlıkta daha bahsettim, burada da yazayım: Nazım Koç'un "Gömülü Linux Sistemleri" adlı kitabını alıp okumanızı tavsiye ederim.
Gökçe Tağlıoğlu

gambit1244

Alıntı yapılan: Tagli - 04 Nisan 2012, 18:03:27
Ben Linux'un real time uygulamalardan ziyade, yüksek seviyeli ve hesap yükü çok olan algoritmalar için kullanılmasının daha faydalı olacağını düşünüyorum. Örneğin, insansız bir hava taşıtında, taşıtın dengede kalması ve bir yöne yönelmesi mikrodenetleyici ile sağlanırken, görüntü işleme, iletişim ve karar verme gibi eylemler Linux çalıştıran bir gömülü bilgisayarda yapılabilir. Bu bilgisayar uygun şekilde mikrodenetleyiciyi yönetir.

Bootloader derlemek ilk etapta gerekmeyebilir. Gömülü sistemlerde sıklıkla kullanılan u-boot'u, desteklediği pek çok sistem için hazır derlenmiş olarak bulmak mümkün.

Gömülü Linux öğrenme sürecini bir işlemci veya kart ile sınırlamayın. Olayın bunlarla doğrudan bir ilgisi yok. Az önce bir başlıkta daha bahsettim, burada da yazayım: Nazım Koç'un "Gömülü Linux Sistemleri" adlı kitabını alıp okumanızı tavsiye ederim.


hocam peki android ile linux arasındaki fark nedir
androidin linüx tabanlı olduğunu okumuştum
android yüklü bir bilgisayardada accelerometer gyro wireless blutooth modul gps vs vs hepsi var
mesela cortex m4 ile android kullanılabilirmi
[email]tufan_ozbek@hotmail.com[/email] Yesterday is history. Tomorrow is a mystery. Today is a gift aslında bütün mesele bu.

SpeedyX

İşlemcide MAM modülü varsa işletim sistemi çalıştırmaya elverişsizdir. Tagli nin da dediği gibi işletim sistemleri MMU mantığına göre yazılmışlardır, tüm PC işlemcileri de aynı sıralı indexleme modüllerini barındırırlar.
Birileri MAM için Linux yazarsa ozaman çalıştırılabilir fakat genelde MAM barındıran işlemciler düşük hızda çalışır MMU olanlar daha yüksek hızlarda çalışır. Düşük hızda işletim sisteminin bir esprisi kalmayabilir. O yüzden bazı işlemciler işletim sistemi koşturmak için tasarlanırlar, bazıları farklı amaçlar için...

demket

Doğrdur. Fakat 200 Mhz. hızında çalışan ve üzerinde linux koşturan işlemciler var. 168 Mhz lik STM32F407VG bu işi yapabilir mi diye sormaktan kendimi alamıyorum. Hatta ST nin STM3220G-EVAL bordu için uClinux olması lazım ki bu kitte M3. Grafik içeren uygulamalarda M3 ve M4 zor. Fakat minimal bir linux oluşturduğumuzu düşünelim. Üzerinde de küçük bir web server ve veritabanı mesela sqlite(boyutuna bakmadım). Ölçtüğümüz ısı değerlerini (dahili olan vb...) SDcard a yazıyoruz. Bu verileri de webden raporluyoruz. Bu işlemi linux üzerindeki hazır servisleri kullanarak yapmak ne kadar zor olabilir. Bunu bir saat içinde yapacak çok kişi var. Oysa aynı işi işletim sistemi olmaksızın elimizdeki kitlerin örneklerine bakarak kaç kişi yapabilir. :) Yapan çok ta acaba buraya mı yazmıyor diye düşünmüyor da değilim.