LPC1114 LPC EXPRESSO kartı hakkında ve kart hakkında çeşitli sorular

Başlatan aykut54, 16 Nisan 2018, 22:36:07

aykut54

Herkese Merhabalar,

Elimdeki LPC1114 kullanmaya başladım.Windows 10 home single language 64 bit işletim sistemi kullanıyorum.


Kartı bilgisayara bağlandığımda,  donanımın sürücüsünün yüklenmesi gerektiğini söylüyor, İlk önce ilgili exe'yi yüklemem gerekiyor.Bu exe'yi internette bulamadım. Bu konu hakkında yardımcı olabilir misiniz?

ve bu ürün için hangi derleyiciyi kullanmam gerekir. LPC expresson 8.22 ya da keil uvision 5.25 versiyonu mu?

ayrıyaten Kartın üzerindeki J5 JTAG soketi ile diğer arm işlemciler (LPC2103-SMT32xxx serisi arm işlemciler programlanabilir mi?



Herkese iyi akşamlar.

aykut54

Merhabalar Herkese,

Konu hakkında biraz ilerleme sağlayabildim.

LPCExpresso 8.22 versiyonunu sitesinden kurdum. Daha sonra  LPC1114 için gerekli exe yüklendi.

Aşağıdaki program sorunsuz derlendi ve karta sorunsuz yüklendi. Karta bağlanan 3 led programa göre çalışıyor.

#include <lpc11xx.h>

void bekleme (void)  {
  unsigned long  d;
  for (d = 0; d < 1000000; d++);
}
//Saat kaynagi olarak 12mhz harici kristalli sistem osilatörü ayarlarnir
void osc_init(void){
LPC_SYSCON->SYSOSCCTRL = 0x00; // krsital baglama araligi 1-20MHz + Osilatör pllye gönderilmez.
LPC_SYSCON->PDRUNCFG &=~(1<<5); // sistem osilatörünü aç
LPC_SYSCON->MAINCLKSEL = 1; // main clock = sistem osilatörü
LPC_SYSCON->MAINCLKUEN = 0; // main clock seçme
LPC_SYSCON->MAINCLKUEN = 1; // güncellemesi
}


int main (void) {
  LPC_GPIO0 -> DIR |= 1<<7;  //GPIO Registeri 7.bit
  LPC_GPIO1 -> DIR |= 1<<10; //GPI01 Registeri 10.bit
  LPC_GPIO3 -> DIR |= 1<<0; //GPI03 Registeri 0.bit
  osc_init();

  while (1)  {

LPC_GPIO0 -> DATA |= (1<<7);
    bekleme ();
LPC_GPIO0 -> DATA &= ~(1<<7);
bekleme ();

LPC_GPIO1 -> DATA |= (1<<10);
    bekleme ();
LPC_GPIO1 -> DATA &= ~(1<<10);
bekleme ();

LPC_GPIO3 -> DATA |= (1<<0);
    bekleme ();
LPC_GPIO3 -> DATA &= ~(1<<0);
bekleme ();

  }
}

Hex dosyasını program dosyalarının olduğu klasörde göremedim.Sebebini bilen var mıdır?


NOT: ayrıyaten Kartın üzerindeki J5 JTAG soketi ile diğer arm işlemciler (LPC2103-SMT32xxx serisi arm işlemciler programlanabilir mi?  (Bu konu hakkında detaylı bir araştırma yapıp bilgi vereceğim)

MC_Skywalker

NXP'nin ğrogramlayıcıyla kendi MCU larını programlayıp debug edersin. Hatta bu Freescale i satın almadan önce çıktığından kinetis serisininde programlayıp debug edemeye bilirsin.

STLink adı üsütünde o da benzer yapıda olup STM firmasının ürünleri için özel. 

tüm üreticilerin ürünlerini rahat programlamak ve debu etmek için ARM/Keil in ULINK ürününü kullanan bilirsin

aykut54

Merhabalar,

lpc expresso 8.22 versiyonunda hex dosyasını oluşturmayı yaptım.

Hex dosyasını oluşturmanın yolu

Window>>>>Prefences>>>LPCXpresso>>>Utilities

Utilities sayfasında  default ayarlarda

Create Binary command kısmında arm-none-eabi-objcopy -O binary "${FileName}" "${FileBaseName}.bin"

yazıyor.

hex dosyasının oluşturulması için bu kısma

arm-none-eabi-objcopy -O ihex "${FileName}" "${FileBaseName}.hex"

yazılması gerekir.


daha sonra program üzerinden
program ismi.c
sağ tuş tıklanır.Binary Utilities >>> Create hex  seçeneği aktif edilir ve hex dosyası DEBUG klasörüne gelir.C

aykut54

Merhabalar,

Devre üzerinde sorunsuz çalışan uygulama proteusta çalışmıyor. Simülasyonda tüm ledler sürekli yanıyor koda göre çalışmıyor. Sebebini bilen var mıdır?

#include <lpc11xx.h>

void bekleme (void)  {
  unsigned long  d;
  for (d = 0; d < 500000; d++);

}

 //Saat kaynagi olarak 12mhz harici kristalli sistem osilatörü ayarlarnir
 void osc_init(void){
 LPC_SYSCON->SYSOSCCTRL = 0x00; // krsital baglama araligi 1-20MHz + Osilatör pllye gönderilmez.
 LPC_SYSCON->PDRUNCFG &=~(1<<5); // sistem osilatörünü aç
    LPC_SYSCON->MAINCLKSEL = 1; // main clock = sistem osilatörü
    LPC_SYSCON->MAINCLKUEN = 0; // main clock seçme
    LPC_SYSCON->MAINCLKUEN = 1; // güncellemesi
 }

int main (void)
 {
  LPC_GPIO2 -> DIR |=0xFFFFFFFF;  //GPIO2  12 BİT PORT TAMAMI ÇIKIŞ YAPILDI//
  LPC_GPIO2->DATA |= 0x50023FFC;  // chapter 9  9.3.1 GPIO data register başlığında  anlatılmış:)
  osc_init();
  while (1)
  {

LPC_GPIO2 -> DATA |=0x00000001;  //P2.0 LEDİ YAK
bekleme ();
LPC_GPIO2 -> DATA &=0x00000000;
bekleme ();

LPC_GPIO2 -> DATA |=0x00000002;  //P2.1 LEDİ YAK
bekleme ();
LPC_GPIO2 -> DATA &=0x00000000;
bekleme ();

LPC_GPIO2 -> DATA |=0x00000004;  //P2.2 LEDİ YAK
bekleme ();
LPC_GPIO2 -> DATA &=0x00000000;
bekleme ();

LPC_GPIO2 -> DATA |=0x00000008;  //P2.3 LEDİ YAK
bekleme ();
LPC_GPIO2 -> DATA &=0x00000000;
bekleme ();

LPC_GPIO2 -> DATA |=0x00000040;  //P2.6 LEDİ YAK
bekleme ();
LPC_GPIO2 -> DATA &=0x00000000;
bekleme ();

LPC_GPIO2 -> DATA |=0x00000100;  //P2.7 LEDİ YAK
bekleme ();
LPC_GPIO2 -> DATA &=0x00000000;
bekleme ();

LPC_GPIO2 -> DATA |=0x00000200;  //P2.8 LEDİ YAK
bekleme ();
LPC_GPIO2 -> DATA &=0x00000000;
bekleme ();

LPC_GPIO2 -> DATA |=0x00000400;  //P2.9 LEDİ YAK
bekleme ();
LPC_GPIO2 -> DATA &=0x00000000;
bekleme ();


  }
 }

aykut54



devrede sorunsuz çalışan fakat simülasyonda bu şekilde çalışan devre

iyi çalışmalar dilerim.

M.Salim GÜLLÜCE

Bu işlemciyi destekleyip desteklemediğini bilmiyorum.
Ama Proteusta işlemci ayarları vardır.
Clock frekansı vs.
Ayarlarla halledebilirsin.

aykut54