LPCXpresso üzerinde mbed kodu çalistirmak

Başlatan picusta, 04 Ekim 2010, 01:34:16

picusta

LPCXpresso kitlerimiz elimize geçti. Cortex konulu mesajlar gün geçtikçe çogaliyor.
Simdi gelelim yazilim kismina.
mbed denilen board, IDE'si ve derleyicisi online olan, programlanmasi ancak kendi özel çipi ile programlanabiliyor, JTAG pinlerine ulasilamayan, LPCXPresso 'dan 3 kat pahali ve daha az özellikli, kisaca kil bir board.(artik bedavaya dagitmiyorlar).
AMA,
mbed.org sitesinde ilk sayfasindaki video imrendiriyor:  karta magjack RJ45 baglayip 10 satir kod yüklüyor ve aninda embeded webserver çalisiyor. 

anlayacaginiz mbed'in güçlü yani yazilim, daha dogrusu genis modüler kütüphanesi (maalesef açik kaynak degil) . Ayrica mbed.org 'da genis programlayici toplulugu bulunuyor. Gelismis Arduino tarzi bir board olmaya aday.

LPCXpresso'da hizli prototip islerinde kullanmak için mbed ide'sini kullanmanin yollarini ariyorum. simdilik buldugum siteler :
mbed (LED blink) code on LPCXpresso-LPC1768
http://mbed.org/users/nxpfan/notebook/mbed-led-blink-code-on-lpcxpresso-lpc1768/
Prototype to hardware
http://mbed.org/users/chris/notebook/prototype-to-hardware/

Embeded webserver demosunu mbed IDE'sini kullanip LPCXpresso'da çalistirip nasil yapildigini bize gösterecek  genç araniyor.

picusta

#1
mbed.org 'a yazilmak için mbed'de ihtiyaç varmis.
Alıntı YapTo signup, you need an mbed Microcontroller!

Plug one in, and open the MBED.HTM file on it to get started.
bu mbed.htm dosyasinda ne var ? gizli bir link'mi yoksa seri numarasi tarzi bir dosyami ? mbed'i olan arkadaslar yardim edebilir mi ?

güncelleme :
http://mbed.org/handbook/Signup-Codes
Alıntı YapEvery new mbed Microcontroller includes a single licence key which allows you to create one mbed account.

However, in some circumstances, such and labs and workshops, hardware is shared and there are more users than there are microcontrollers.

To solve this problem, we have the ability to create signup codes, which enables an account to be created, even if the single license key supplied on the board has already been used. Below are the isntructions on how to use the sign up codes.
Ayni kod ile birden fazla hesap açilabiliyormus. bi zahmet ?

MC_Skywalker

#2
embed ben istek te bulundum yola çıkmış bana gönderilen e-mail de en erken 8 ekim de bana ulaşacağı söyleniyor.

LPCExpresso da almıştım ikisini birden kurcalayacağım. embed in diğer iyi yanı direkt RJ45 soket takıp kullanılıyor olması .  mbed bootloader vasıtası ile yüklüyor kodları. içinde kendi firmware i var.



http://mbed.org/media/uploads/chris/mbed-005.1.pdf


Ek:
-----
http://mbed.org/handbook/Firmware

picusta

Alıntı Yapembed in diğer iyi yanı direkt RJ45 soket takıp kullanılıyor olması
Aynisi LPCXPresso için de geçerli. Yeterki örnek uygulamayi derle ve yükle. LPCXpresso mbed'in her yaptigini yapabilir hatta fazlasini da.
mbed bootloaderin da pek bi numarasi yok. USB-Serial dönüstürücü "magic chip" sayesinde programi yolluyor.

Dedigim gibi mbed  en iyi avantaji kütüphaneleri. LPCXpresso'nun kütüphanesi var mi? tabii ki var, örnek uygulamalar da sayica fazla.
Fakat mbed'in kütüphaneleri C++ olarak yazilmis, derleyici de C++ destekliyor. Dolayisi ile hizli bir prototip yapmak için nesne tabanli programlama yapilabilir (OOP Object oriented vs..)
LPCXpresso ile gelen derleyici bedava versyon oldugu için C++'u desteklemiyor, düz C bu yüzden olan kütüphaneler de C'de yazilmis.
Ayni ethernet stack'i kullaniyorlar lwIP veya uIP. Fark programlama dilinde, C++ olunca daha modüler, daha hizli prototip yaparim gibi bir kaniya variyorum nedense.

Fazladan signup code edinmek için ögretmen oldugunuza dair mail atmaliymissiniz.
FreeRTOS USB'li  webserver projesini LPCXpresso'da bir çalistirayim, tatmin etmezse mbed alicam, karti için degil derleyicisi için.

Internette çogu kisi mbed üzerinde LPCXpresso kodu (veya baska IDE) çalistirmak için ugrasir, ben ise tersinin pesindeyim.

MC_Skywalker

Using the FreeRTOS Real Time Kernel - a Practical Guide - NXP LPC17xx Edition şu elektronik kitabı free olarak bulmadım.


picusta

O kitaba ben de baktim. Son sivride de sorulmus.
LPC'nin sitesinde kitabin basliklari ve her bölümün girisi var.
LPC17 edition nun standart edition'a göre fazla bir farki olmadigini zannediyorum (kaç satir farklidir ? ).
RTOS mekanizmalari ve API'ler anlatiliyor çogu zaman.

MC_Skywalker

iste tam aradığına yakın birşey.

Alıntı Yap
Use LPCxpresso and my tool to convert axf file to bin

(Resim gizlendi görmek için tıklayın.)

http://www.mediafire.com/file/d75nnsr2pk64zjd/axf2bin.zip

Because from my NXP LPC111x contest of Cortex-M0 I started to use LPCxpresso and I loved it, I decide do not go to online "Cloud" C/C++ compiler yet, maybe later or in special cases. For this reason I found the way how to make my life easier, to build my project from LPCxpresso for my mbed PCB. The LPCxpresso generate the axf file which is not directly suitable for mbed, because it need bin file for it disk storage. For that I use the LPCxpresso tools which helps me to generate suitable bin file with proper checksum for my mbed, but these tools are command line tools.

So, to make my life easier and maybe yours too, probably? I create the GUI which will help you to convert your compiled axf file from LPCxpresso IDE to bin file.

So, now you can work with LPCxpresso IDE as before, which is free, just limit your code up to 128K.

If you need more size for your compiled code you have many options: use "Cloud" mbed online C/C++ compiler or try CooCox, otherwise buy something suitable for you.

But I will stay with free LPCxpresso solution and my tool.

How you can use it very simple, just unzip the comperez axf2bin.zip file and run the axf2bin.hta :)

If you like this solution or maybe hate it please leave your comments. Thanks.


leblebitozu

@picusta

Mbed'in IDE'si keil'den başka birşey değil, Keil'in application note'una göz atabilirsin. Mbed farklı olarak derlenmiş library'leri kullanıyor, ben örnek kodlardan birini keil'de derlemeyi başarmıştım. Mbed'in kütüphanelerini Keil'deki armar (komut tabanlı) utility'si ile keil'e uyumlu hale getirebilirsin, oluşan kütüphaneleri keil'e import etmen gerekiyor. Bu şekilde mbed kodlarını kullanabilirsin. Kolay gelsin.

http://www.keil.com/appnotes/docs/apnt_207.asp

http://mbed.org/forum/mbed/topic/518/?page=1#comment-2604


picusta

@MC_Skywalker
Aradigimin tersi. Bu tür girisimler çok.
Alıntı YapInternette çogu kisi mbed üzerinde LPCXpresso kodu (veya baska IDE) çalistirmak için ugrasir, ben ise tersinin pesindeyim.

@serdararikan
Link biraz konu disi. ugramayali Martin Thomas  LPC17xx'li yeni proje eklemis.

@leblebitozu
Tam aradigim buydu. Bir de o dosyalar .o degil de .c olsaymis tam olurmus.
Keil'in ben de 2005 'ten kalma versyonu var, ARM7'ler le kullanmistim.
sitesinden 32KB'lik demo versyonunu kullansam yeterlidir herhalde ?
Kisitlamalar bir engel teskil etmez herhalde.
mbed'den LPCXpressoya kod tasimak için birkaç sabit tanimlamanin degismesi gerekebilir (LED Pinleri mesela, PHY ayni midir ? ).

leblebitozu

@picusta

32KB versiyonu kod boyutu fazla gelmiyorsa iş görür, ben bu işi keil'in 4.xx versiyonunda denedim, PHY çipleri aynı ise bağlantılar aynıdır, ama farklı ise yapacak birşey yok. Ayrıca IAR compiler'in içerisinde de IAR LPC17XX kiti için (Olimex'in kitiyle aynı)  uIP ile yapılmış bir web server demosu var, güzel çalışıyor, bilgi olarak bunu da söyleyelim.

IDE-Version:
µVision V4.10
Copyright (C) 2010 KEIL, An ARM(R) Company

Tool Version Numbers:
Toolchain:        RealView MDK-ARM  Version: 4.12