LPCXPRESSO keil ile programlama

Başlatan mistek, 28 Temmuz 2012, 13:14:09

mistek

Merhaba abilerim ve arkadaşlarım...
Bir yıllık piclerle (CCS ve MPLAB kullanarak) haşır neşir olduktan sonra bende LPCXPRESSO 1769 kartı ile ARM işlemcilere bulaşmış bulunmaktayım. Kartı farnell'den 27euro ya aldım ve ingiltereden ups kargo ile 2 günde geldi. İlk görüşte "bu 27 euro eder mi ki" desemde sonrasında yapabileceklerimi okuyunca aslında 27 euro az bile dedirtiyor. Velhasıl kelam bu cahil halimle ARM konusunda çok kafa yoracağım yardımlarınız için şimdiden teşekkürü bir borç bilirim.

Sormak istediğim şu; forumda aradım ancak ya ben göremedim ya da bu konu yok.(Eğer benzer konu varsa bunu silebilirsiniz)
Kartın kendi arayüzü olan code red derleyicisi var ancak ben kullanmayı bi türlü başaramadım ve daha önceden keil uvision4 le tanışıklığım olduğu için daha sıcak geldi tamamen keil ile çalışmak istiyorum ancak programlama işini beceremedim.

Oluşturduğum hex dosyasını başka hiçbir ek devreye ihtiyaç duymadan kartın üzerinde bulunan LPC-link kısmı ile yükleme şansım var mı? Flash magic programı veya başka bir programla hex dosyasını bu işlemciye nasıl atabilirim?

Saygılarımla...
boş işlerin adamı ---- OHM Kanunu: I = V/R ---- Güç Formülü: P = V*I = I^2*R = V^2/R

MC_Skywalker

#1
LPC link kısmı Programlamak ve debug yapmak içindir. Başka birşeye ihtiyacın yok. Keil de LPC-link i driveri kurduktan sonra kullana bilirsin.

AsHeS


mistek

Konuyu biraz daha detaylı anlatabilir misiniz? Genel olarak yapmam gereken ayarlamalar nedir? Birde lpcxpresso yu usb ye taktıktan sonra lpc-link kısmında hafif bir sıcaklık oluyor bu normal midir?

Ben diğer kargo seçeneğini işaretlemiştim ancak sağolsunlar ups ile göndermişler kargo ücreti ödemedim. Normalde ups kargo ücreti 15euro istanbula kadar.
boş işlerin adamı ---- OHM Kanunu: I = V/R ---- Güç Formülü: P = V*I = I^2*R = V^2/R

fatihinanc

Alıntı yapılan: MC_Skywalker - 28 Temmuz 2012, 14:00:47
Başka birşeye ihtiyacın yok. Keil e LPC-link i driveri kurduktan sonra kullana bilirsin.

Keil'a LPC-Link driverları nasıl kuruluyor ?

Alıntı yapılan: muhamm@ - 28 Temmuz 2012, 14:05:28
Birde lpcxpresso yu usb ye taktıktan sonra lpc-link kısmında hafif bir sıcaklık oluyor bu normal midir?

LPC-Link kısmındaki MCU(LPC3154 ARM9) yaklaşık 180 MHz hızda çalışıyor. Biraz sıcaklık olması normaldir.
Kainat dediğimiz kitap, yazıldığı dil ve harfler öğrenilmedikçe anlaşılamaz.  (Galileo Galilei)

MC_Skywalker

#5
Alıntı yapılan: fatihinanc - 29 Temmuz 2012, 05:10:33
Keil'a LPC-Link driverları nasıl kuruluyor ?

FLASH -> CONFIGURE FLASH TOOLS

işaretle: USE EXTERNAL TOOL FOR FLASH PROGRAMMING

Aşağıdakileri yapıştır.

command-> C:\nxp\LPCXpresso_4.1.5_219\lpcxpresso\bin\crt_emu _cm3_nxp.exe
arguments-> -wire=hid -pLPC1769 -load-base=0x0000 -flash-load=your_bin_file.bin

Driver ilk kullanımda yüklenecek.

C:\nxp\LPCXpresso_4.1.5_219\lpcxpresso\bin\Scripts \bootLPCXpresso.cmd

Windows device manager  görünür "USB DEVICE WITH DFU CAPABILITIES" yükleme tamalandıktan sonra  "LPC-LINK" olur.

Denedin mi diye sorarsan denemedim zira Code RED idesini beyenmediğim için LPCEXPRESSo yu satmış yetine ULINK 2 almıştım.

mistek

#6
Arkadaşlar uzun araştırmalar sonucunda @MC_Skywalker yardımı ile Lpcxpresso ide si üzerinden keilde oluşturduğumuz projeleri işlemciye atmayı öğrendim. İşlem çok basitmiş ancak bu bilgiye ulaşmak benim 3 günüme mal oldu.
Detayları aşağıdaki bağlantıdan öğrenebilirsiniz.
http://support.code-red-tech.com/CodeRedWiki/GuiFlashProgramming

Şöyle bir durum söz konusu;
Lpcxpresso idesinde derlediğim program ile keilde derlediğim program aynı şekilde çalışmıyor led yakıp söndürüyorum ancak birinde normal zamanda yanıp sönüyor diğerinde çok yavaş yanıp sönüyor muhtemelen osilatör ayarlarından kaynaklanıyordur diye düşünüyorum.

Lpcxpressoda derleyip yüklediğim program normal çalışıyor.
#include <cr_section_macros.h>
#include <NXP/crp.h>
__CRP const unsigned int CRP_WORD = CRP_NO_CRP ;

#include "lpc17xx.h"
#include "type.h"

void delay_ms(int value)
{
 	LPC_TIM0 -> TCR = 0x02;	  //Timer Control Register -reset timer
	LPC_TIM0 -> IR 	= 0xFF;		// kesmeleri temizle
	LPC_TIM0 -> MR0	= value*24000; 	//timer karsilastirma degeri
	LPC_TIM0 -> MCR = 0x04;	// MR0=TC oldugunda Timer Counteri ve Prescale Counteri durdur. TCR(0) biti temizle.
	LPC_TIM0 -> TCR = 0x01;	//Timer saymaya baslasin.
	LPC_TIM0 -> PR	= 0x00;	 //Prescale PR+1
	while(LPC_TIM0->TCR &= 0x01){};	 //timer tasana kadar bekle
	LPC_TIM0 -> TCR = 0x02;
}

int main()
{

	LPC_PINCON->PINSEL1	&= (~(3 << 12));
	LPC_GPIO0 -> FIODIR = (1 << 22);

	while(1)
	{

	LPC_GPIO0 -> FIOSET = (1 << 22);
	delay_ms(250);
	LPC_GPIO0->FIOCLR = (1 << 22);
	delay_ms(250);
	}
}



Aynı programı şu satırları çıkartıp keilde derlediğimde program çok yavaş çalışıyor. 250ms durması gerekirken en azından 5-6 saniye duruyor sizce sorun ne olabilir?
#include <cr_section_macros.h>
#include <NXP/crp.h>
__CRP const unsigned int CRP_WORD = CRP_NO_CRP ;

#include "type.h"

boş işlerin adamı ---- OHM Kanunu: I = V/R ---- Güç Formülü: P = V*I = I^2*R = V^2/R

iruraz

@muhamm@ problemin nedenini anlayabildiniz mi?

mistek

Farklı hızlarda çalışma problemi mi?
boş işlerin adamı ---- OHM Kanunu: I = V/R ---- Güç Formülü: P = V*I = I^2*R = V^2/R

vsalma

Keilde de  debug yapabiliyormuyuz? Yoksa sadece kod mu atabiliyoruz. Birde http://ics.nxp.com/support/lpcxpresso/ adresinde yer alan lpcexpresco için CMSIS kütüphanesini keil ile de kullanabilir miyim?

Canbus ve USB içeren bir proje yapacağım sizce hangi geliştirme ortamını kullanırsam daha fazla örnek bulabilirim, hızlı ilerleyebilirim. Teşekkürler.


iruraz

Alıntı YapFarklı hızlarda çalışma problemi mi?

Evet farklı hızlarda çalışma problemi. Geç cevap verdiğim için kusuruma bakmayın.