LpcXpresso yada KEIL

Başlatan muhittin_kaplan, 16 Şubat 2011, 22:34:17

muhittin_kaplan

elimdeki NXP LPCEXPROSSO 1768 kitim e (aidiyetlik veriyor ama hala kendisiyle bişey yapabilmiş değiliz) Code-RED in expresso su yada Keil ile bir kod bile yazamadım. Sanırım Problem Bende
Mümkünse "blinky" (system tick olmadan) örneği için bana en temelden yardım edecek bir hayır sever aranıyor.
Saygılarımı Sunar iyi çalışmalar dilerim.

MC_Skywalker

LpcXpresso yada KEIL bana zor geldi. LpcXpresso kitim yatıyor masanın üsütünde mbed ile uğraşıyorum. basic gibi kolay kütüpanleri sayesinde

anlatacak biri olsa sevaba girer.

EMG81

#2
Ya evet.! Biz ARM ile bi proje yapamıyacakmıyız arkadaşlar?

@Muhittin_Kaplan Aynı şeyler banada oldu. Mplab, proton gibi değil meret...

Ayrıca Şu aletleri C ile değilde Basic ile programlıyamıyormuyuz ? Şayet c de port tanımlamaları bana gayet karışık geldi...

muhittin_kaplan

Benim problemim C ile vs ile değil. Hatta Keil i de biiyorum. Ama adımlardan birini atlıyor yada eklemem gereken bir kütüphaneyi eklemiyorum gibi geliyor. P.Tesiden Bu Yana uğraşıyorum (SytemTick in dışında) portun bir piini aktif yada pasif yapamadım..

z

Kullandiginiz cipi tanimasam da ARM yapisindaki ciplerin cevrebirimlerinin isletilme prensipleri uc asagi bes yukari ayni.

Eger hazir kutuphane fonksiyonlari kullanmayacaksaniz cipin dokumanlarini iyi okumaniz gerekiyor.

ARM da oncelikle kullanacaginiz cevre biriminin clk ile beslenmesini saglamalisiniz. Ardindan bu cevre biriminin standart kurulumlarini yapmalisiniz.

Ornegin. Bir porttan veri cikabilmek icin. oncelikle o PORTun  CLK sinyalini aktif etmelisin.
Ardindan portun bitlerini cikis tanimlamalisin.

Daha sonra porta dogrudan  yukleme yapip 8 bit veri cikartabilir yada bitleri set ve reset eden farkli registerlerden ilgilendigin pinlerin seviyelerini degistirebilirsin.

Ornek kod bulamamaniz ilginc.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

teknikelektronikci

hocam startup dosyasini ekledinizmi ?
bendede ayni problem vardi yazdiklarim calismyiordu startup dosyasini ekleyince düzeldi bunu keil otomatik ekliyeyimmi diye soruyor evet dediginizde ekliyor
Ey Türk istikbalinin evlâdı! İşte, bu ahval ve şerâit içinde dahi, vazifen; Türk İstiklâl ve Cumhuriyetini kurtarmaktır! Muhtaç olduğun kudret, damarlarındaki asil kanda mevcuttur!

muhittin_kaplan

code-red in derleyicisi ve system tick ile ilgili deneme programından çekip aldığım led yak söndür programı.

CMSISv1p30_LPC17xx dosyasını, projelere eklememiz gerekiyor. neden olduğunu bilmiyorum bilen açıklarsa sevinirim
ayrıca kodların işlemcide neler yaptığı konusunda az biraz bilgi verirseniz yine sevinirim.

/*
===============================================================================
 Name        : main.c
 Author      : 
 Version     :
 Copyright   : Copyright (C) 
 Description : main definition
===============================================================================
*/

#ifdef __USE_CMSIS
#include "LPC17xx.h"
#endif

#include <cr_section_macros.h>
#include <NXP/crp.h>

// Variable to store CRP value in. Will be placed automatically
// by the linker when "Enable Code Read Protect" selected.
// See crp.h header for more information
__CRP const unsigned int CRP_WORD = CRP_NO_CRP ;

// TODO: insert other include files here

// TODO: insert other definitions and declarations here
int delay(int a)
{
	for (a=0;a<0x000FFFFF;a++)
	{

	}

}
void led2_init (void)
{
	// Set P0_22 to 00 - GPIO
	LPC_PINCON->PINSEL1	&= (~(3 << 12));
	// Set GPIO - P0_22 - to be output
	LPC_GPIO0->FIODIR |= (1 << 22);
}


// Function to turn LED2 on
void led2_on (void)
{
	LPC_GPIO0->FIOSET = (1 << 22);
}

// Function to turn LED2 off
void led2_off (void)
{
	LPC_GPIO0->FIOCLR = (1 << 22);
}

// Function to invert current state of LED2
void led2_invert (void)
{
	int ledstate;

	// Read current state of GPIO P0_0..31, which includes LED2
	ledstate = LPC_GPIO0->FIOPIN;
	// Turn off LED2 if it is on
	// (ANDing to ensure we only affect the LED output)
	LPC_GPIO0->FIOCLR = ledstate & (1 << 22);
	// Turn on LED2 if it is off
	// (ANDing to ensure we only affect the LED output)
	LPC_GPIO0->FIOSET = ((~ledstate) & (1 << 22));
}
int main(void) {
	
	// TODO: insert code here
	led2_init();

	// Enter an infinite loop, just incrementing a counter
	volatile static int i = 0 ;
	while(1) {
		i++ ;
		led2_on();
		delay(0);
		led2_off();
		delay(0);

	}
	return 0 ;
}

MC_Skywalker

#7

muhittin_kaplan

Bu dosya yı kullandığımızda "The CMSIS memory requirement for the Core Peripheral Access Layer is less the 1 KB code, less than 10 Bytes RAM" kullandığını bildiriyor.
Ben Basit bir led yak söndür için bu dosyayı neden kullanmak zorunda kalayım ?

MC_Skywalker

version 2 ile DSP geliştirmeleri eklenmiş. hatta yeni çıkan çift çekirdekli işlemciler için eklemeler yapmışlar.

fatihinanc

Alıntı yapılan: muhittin_kaplan - 20 Şubat 2011, 01:31:37
CMSISv1p30_LPC17xx dosyasını, projelere eklememiz gerekiyor. neden olduğunu bilmiyorum bilen açıklarsa sevinirim

Merhaba,
Biraz geç oldu ama aşağıdaki linkte CMSIS hakkında açıklayıcı bilgiler var.
http://www.barissamanci.net/Makale/19/nxp-lpcxpresso/

@muhittin_kaplan hocam;
Eğer başlangıç için LPXPresso IDE'sı biraz karışık geldiyse ben Keil ile başlamanızı tavisye ederim.
Keil LPXPresso'ya nispeten biraz daha basit bir arayüze sahip.
Kainat dediğimiz kitap, yazıldığı dil ve harfler öğrenilmedikçe anlaşılamaz.  (Galileo Galilei)

muhittin_kaplan

bugün sehpanın üzerine koyduğum lpcXpresso kartımı Kızımın elinde görünce ilk ne yapacağımı şaşırdım. sonrasında üzerinde bulunan RTC (Sanırım)osc ün olmadığını gördüm değeri nedir ?

M_B

Alıntı yapılan: muhittin_kaplan - 12 Mart 2011, 22:32:01
bugün sehpanın üzerine koyduğum lpcXpresso kartımı Kızımın elinde görünce ilk ne yapacağımı şaşırdım. sonrasında üzerinde bulunan RTC (Sanırım)osc ün olmadığını gördüm değeri nedir ?
Hocam 32768Hz Kristal olması gerek.
İmkanın sınırlarını görmek için imkansızı denemek lazım.                                                             Fatih Sultan Mehmet

muhittin_kaplan

üzerinde 11xxxxx gibi bişey yazıyordu. Emin olamadım.

M_B

Alıntı yapılan: muhittin_kaplan - 12 Mart 2011, 23:04:37
üzerinde 11xxxxx gibi bişey yazıyordu. Emin olamadım.
Hocam siz oyle diyince yanlıs olmasın dıye eski msjları kontrol ettim.
altakı linki bir incelermisiniz.
https://www.picproje.org/index.php/topic,28357.285.html

İmkanın sınırlarını görmek için imkansızı denemek lazım.                                                             Fatih Sultan Mehmet