Picproje Elektronik Sitesi

MİKRODENETLEYİCİLER => ARM => Konuyu başlatan: gerbay - 28 Mart 2013, 23:02:18

Başlık: mbed open source olmuş
Gönderen: gerbay - 28 Mart 2013, 23:02:18
arkadaşlar güzel haber;

mbed in kaynak kodu açılmış.. güzel tasarlanmış ve yazılmış C++ kaynak kodu görmek istiyorsanız mutlaka inceleyin.. Hatta kullanmak da çok kolay ve zevkli olabilir..

http://mbed.org/handbook/mbed-SDK (http://mbed.org/handbook/mbed-SDK)

https://github.com/mbedmicro/mbed (https://github.com/mbedmicro/mbed)

şu an direk desteklediği MCU lar;

    NXP LPC1768 (Cortex-M3)
    NXP LPC111U24 (Cortex-M0)
    NXP LPC2368 (ARM7TDMI-S)
    NXP LPC812 (Cortex-M0+)
    Freescale KL25Z (Cortex-M0+)

Bence çok sıkıntı değil, artık diğerleri de kolayca eklenir..
Başlık: Ynt: mbed open source olmuş
Gönderen: pea - 31 Mart 2013, 21:37:21
Stellaris Launchpad kurcalıyorum bir haftadır. Aşırı yavaş ilerliyorum. Mbed'i görünce yemişim Stellaris'ini de CCS'ini de dedim artık.

Benim de mbed Nxp Lpc1768 kitinde gözüm kaldı. Nereden alabiliriz bunu?
Expkits'te 1 2 işe yarar kit var. Onlarla direkt kullanabilir miyiz?
Başlık: Ynt: mbed open source olmuş
Gönderen: MC_Skywalker - 31 Mart 2013, 22:13:05
Mbed sitesinde satış linkleri var.

http://mbed.org/handbook/Order (http://mbed.org/handbook/Order)
Başlık: Ynt: mbed open source olmuş
Gönderen: pea - 31 Mart 2013, 22:27:51
Türkiye'de satışı var mı, onu merak ediyorum.
Büyük distribütörlerden almak pahalı oluyor kargo bedeli sağolsun. Üstüne bir de bekleme süresi var.
Başlık: Ynt: mbed open source olmuş
Gönderen: run - 31 Mart 2013, 23:46:40
http://www.robots101.com/mbed-en-kolay-arm/ (http://www.robots101.com/mbed-en-kolay-arm/)

daha önce oldukça ucuzmuş şimdi fiyatı epey uçurmuşlar
Başlık: Ynt: mbed open source olmuş
Gönderen: pea - 31 Mart 2013, 23:50:38
Alıntı yapılan: run - 31 Mart 2013, 23:46:40
http://www.robots101.com/mbed-en-kolay-arm/ (http://www.robots101.com/mbed-en-kolay-arm/)

daha önce oldukça ucuzmuş şimdi fiyatı epey uçurmuşlar

Alıntı Yapali bayük said on 22 Eylül 2011
http://www.sparkfun.com/products/9564 (http://www.sparkfun.com/products/9564) linkinden ulaşabilirsiniz. 15 lira sadece kargo ücreti :)

Türkiye'de tek sitede bulabildim. Onlar da 170TL'ye satıyordu. 1 2 hafta bekleyecek olmasam Sparkfun'dan alırdım.
Başlık: Ynt: mbed open source olmuş
Gönderen: pea - 01 Nisan 2013, 01:08:45
@gerbay
Merak ettiğim bir konuya değindiniz, teşekkür ediyorum.
NXP'nin tüm entegrelerini kullanabiliyor muyuz böylece? USB üzerinden program atabilme işi nasıl oluyor? Olay sadece Memory Map, Pin Map'ten mi ibaret?
Başlık: Ynt: mbed open source olmuş
Gönderen: M_B - 01 Nisan 2013, 11:03:31
Alıntı yapılan: gerbay - 01 Nisan 2013, 00:54:03
arkadaşlar MBED in board unu almaya gerek yok..
gerbay hocam
(http://gamma.spb.ru/pictures/manager/nxp_ea_lpcxpresso_lpc1768.jpg)
bende bundan var. Bunu nasıl mbed ile kullanabilirim. Soru basit oldu.

Kodu online olarak yazıp derledik diyelim.  Kite programı nerden ve nasıl atacağım.
Videolarda genelde mbed kit kullanılıyor. Ordan dolayı da o kitle program uyumlu diye dusunuyorum. Elimdeki kiti takıp ta deneme yapmadım.

Başlık: Ynt: mbed open source olmuş
Gönderen: MC_Skywalker - 01 Nisan 2013, 11:51:44
https://www.picproje.org/index.php/topic,31501.msg334696.html#msg334696 (https://www.picproje.org/index.php/topic,31501.msg334696.html#msg334696)  daki konuda biraz bahsedilmişti.  hatta mbed de yazıp Keil vb. diğer toolara export yapıla biliyor.  bu arada şuan dikat etmeli mbed sitesinde 1 offical opensource  kodlar var birde bir kullanıcını  bunları geliştirip yayınladığı
Başlık: Ynt: mbed open source olmuş
Gönderen: sadogan - 01 Nisan 2013, 11:55:49
Alıntı yapılan: M_B - 01 Nisan 2013, 11:03:31
gerbay hocam
(http://gamma.spb.ru/pictures/manager/nxp_ea_lpcxpresso_lpc1768.jpg)
bende bundan var. Bunu nasıl mbed ile kullanabilirim. Soru basit oldu.

Kodu online olarak yazıp derledik diyelim.  Kite programı nerden ve nasıl atacağım.
Videolarda genelde mbed kit kullanılıyor. Ordan dolayı da o kitle program uyumlu diye dusunuyorum. Elimdeki kiti takıp ta deneme yapmadım.
Flashmagic programı ile atabilirsin.
Başlık: Ynt: mbed open source olmuş
Gönderen: MC_Skywalker - 01 Nisan 2013, 12:19:37
Mbed derleyicisi binary format dosya veriyor. Flashmagic hex format kullanıyor. ukarıda bahsettiğim konuda sanırsam dönüşüm ile ilgili toolardan bahsedilmişti.
Başlık: Ynt: mbed open source olmuş
Gönderen: M_B - 01 Nisan 2013, 12:35:17
@MC_Skywalker Hocam;

az once test icin mbed.org ye girdim ve uye oldum.
Ordan Compiler kısmına girip
New den
New program deyip
main.cpp
icine

#include "mbed.h"

DigitalOut leds[] = {(LED1), (LED2),(LED3),(LED4)};

int main() {
    int i,r;
    int numLeds = sizeof(leds)/sizeof(DigitalOut);
    i = -1;
    r = 1;
    while(1) {
            if (i > numLeds-2) r = -1;
            if (i == 0) r=1;
            i=i+r;           
            if (i<numLeds) leds[i] = 1;
            if (((i>0)&&(r==1))||((i>-1)&&(r==-1))) leds[i-r] = 0;
            wait(0.05);
    }
}

kodunu yapıstırdım.
Compile kısmından compile yapmaya çalıştım olmadı.
alt kısımda
Add a device to compile for
mesajını alıyorum. Ust kısımlardaki menulerde keile aktarma kısmını da goremedim.
Hocam nerde yanlış yapıyorum
Verdiğiniz linki de inceledim ama anlayamadım. :(



Başlık: Ynt: mbed open source olmuş
Gönderen: sadogan - 01 Nisan 2013, 12:35:49
Mbed binary dosya veriyor ama proje dosyalarınıda  keil e export
edebiliyor  keil de output hex seçip complier edince hex oluyor
(http://c1304.hizliresim.com/18/1/lp2lb.png) (http://bit.ly/c25MCx)

mesaj birleştirme:: 01 Nisan 2013, 12:38:05

Alıntı yapılan: M_B - 01 Nisan 2013, 12:35:17
@MC_Skywalker Hocam;

az once test icin mbed.org ye girdim ve uye oldum.
Ordan Compiler kısmına girip
New den
New program deyip
main.cpp
icine

#include "mbed.h"

DigitalOut leds[] = {(LED1), (LED2),(LED3),(LED4)};

int main() {
    int i,r;
    int numLeds = sizeof(leds)/sizeof(DigitalOut);
    i = -1;
    r = 1;
    while(1) {
            if (i > numLeds-2) r = -1;
            if (i == 0) r=1;
            i=i+r;           
            if (i<numLeds) leds[i] = 1;
            if (((i>0)&&(r==1))||((i>-1)&&(r==-1))) leds[i-r] = 0;
            wait(0.05);
    }
}

kodunu yapıstırdım.
Compile kısmından compile yapmaya çalıştım olmadı.
alt kısımda
Add a device to compile for
mesajını alıyorum. Ust kısımlardaki menulerde keile aktarma kısmını da goremedim.
Hocam nerde yanlış yapıyorum
Verdiğiniz linki de inceledim ama anlayamadım. :(
M_B hocam complier i kullanabilmek için mbed kartınız olması gerekli
Başlık: Ynt: mbed open source olmuş
Gönderen: pea - 01 Nisan 2013, 22:23:17
Bir de üzerinde Seri port-Usb haberleşme entegresi olan, Usb sanal seri port ile programlanabilen, ayrıca Türkiye'de bulunabilen bir kit bulsak her şey çok güzel olacak  ::)
Başlık: Ynt: mbed open source olmuş
Gönderen: MC_Skywalker - 01 Nisan 2013, 22:28:33
Alıntı yapılan: pea - 01 Nisan 2013, 22:23:17
Bir de üzerinde Seri port-Usb haberleşme entegresi olan, Usb sanal seri port ile programlanabilen, ayrıca Türkiye'de bulunabilen bir kit bulsak her şey çok güzel olacak  ::)

mbed üzerimdeki USB portunu kullanıp PC ile haberleşe biliyorsunuz. seri port şeklinde.
Başlık: Ynt: mbed open source olmuş
Gönderen: pea - 01 Nisan 2013, 22:40:19
mbed'i biliyorum, her şeyini güzel yapmışlar ama Türkiye fiyatı 170TL olması büyük sıkıntı.
eBay'de satılan LandTiger'da sadece USB-RS232 eksik, fiyatı 60$ ama o da Türkiye'de yok.
Başlık: Ynt: mbed open source olmuş
Gönderen: pea - 20 Nisan 2013, 19:42:18
Şu kartı aldım: http://www.hotmcu.com/lpc1768minidk2-development-board-28-tft-lcd-p-12.html (http://www.hotmcu.com/lpc1768minidk2-development-board-28-tft-lcd-p-12.html)
Şuradan da mbed kütüphanesini indirdim: https://github.com/mbedmicro/mbed (https://github.com/mbedmicro/mbed)

Tüm .h ve .c dosyaları var yani elimde. Ancak hala Keil'da çalışan bir proje oluşturamadım.
startup_LPC17xx.s ekli.
main.cpp'de "#include "mbed.h"" var ve gerekli "include path" ayarlarını yaptığımı düşünüyorum.
".h dosyası bulunamadı" hatası almıyorum. Yerine şu hatayı alıyorum:

Build target 'Target 1'
compiling main.cpp...
linking...
LedDenemesi.axf: Error: L6218E: Undefined symbol SystemInit (referred from startup_lpc17xx.o).
LedDenemesi.axf: Error: L6218E: Undefined symbol gpio_init (referred from main.o).
LedDenemesi.axf: Error: L6218E: Undefined symbol wait (referred from main.o).
Target not created


Sanırım sorun, .h dosyalarının olup içerisindeki fonksiyonların tanımlanmamış olması. Yani .c dosyaları tanımlı değil.
Bu .c dosyalarını projeye ekledim, bu sefer de bunları derlerken bir sürü hata aldım.

Ne yapmak gerekiyor?
Başlık: Ynt: mbed open source olmuş
Gönderen: pea - 21 Nisan 2013, 12:12:18
Çok teşekkür ediyorum yardımınız için.
Biraz daha ilerleme sağlamış oldum ama hala bitmedi. Bir sürü şey eklendi sadece bir led yakıp söndürebilmek için.
#if defined(TARGET_LPC1768) || defined(TARGET_LPC2368)
yüzünden compiler hata çıkarıyor.
#define TARGET_LPC1768 ekledim ama yemedi. Keil'da da LPC1768 seçili

Son durum şöyle:
(http://i.imgur.com/HepQaNh.png)

Main.cpp'de ise DigitalOut ve Wait dışında bir şey yok zaten.

Yeni gelişme:
Options for Target bölümünde, C/C++ Preprocessor symbol olarak TARGET_LPC1768 ekleyince if defined bölümünü de geçmiş oldum.
Şu an son sorun şu:
Error: L6218E: Undefined symbol stdio_retargeting_module (referred from system_lpc17xx.o).
Başlık: Ynt: mbed open source olmuş
Gönderen: fryrmnd - 21 Nisan 2013, 16:26:40
Hocam şurda  http://www.embeddedartists.com/mbedsdk (http://www.embeddedartists.com/mbedsdk) mbed kaynak kodla lpcxpresso için örnek proje oluşturmuşlar. Belki fikir verir.
Ben de keil e port ederim dedim indirdim ama gene aynı senaryo. Hangi register ları nasıl ayarlamışlar diye bakıyorum.  Sanki çok iyi kütüphane hazırlıyomuşum gibi. Al kullan işte. >:(
Başlık: Ynt: mbed open source olmuş
Gönderen: pea - 21 Nisan 2013, 20:52:16
Son durum:
Başka bir yerde kullanımını görmediğim için stdio_retargeting_module = 1 satırını "//" ile iptal ettim. Şu an led yakıp söndürebiliyorum ;D
Bu değişkenin ne işe yaradığını, iptal edilmesinin zararlarını söyleyebilecek bir babayiğit aranıyor.
Başlık: Ynt: mbed open source olmuş
Gönderen: pea - 22 Nisan 2013, 00:19:46
En son durum:
Yukarıda bahsettiğim stdio_retargeting_module bölümünü comment'a almam Pwm kodunu ekleyince sorun çıkardı, SystemInit bölümünde takılıyordu işlemci.
Gerekli Stdio, Filex .cpp dosyalarını da ekleyince artık her şey sorunsuz çalışıyor.
5-10 satırlık, wait+dijital giriş çıkış+pwm fonksiyonlarından oluşan kod 13kB'a çıktı ama olsun.