Stellaris CCS v5 Sorunları

Başlatan fractal, 28 Aralık 2012, 17:48:06

fractal

denemeler devam ediyor ama sonuç yok.
Restantum cogniscutur Quantum deligutur

mcan

Alıntı yapılan: fractal - 04 Ocak 2013, 16:36:30
stellaris içindeki blinky dosyasını açtım orda şu düzenlemeleri yaptım.bendeki pine göre ayarladım.sonra işlemci .h dosyasını benimkine göre değiştirdim.porgramı yükledim .hiç sorun vermeden çalıştırdım ama.tabiki led yanıp sönmedi.bu osc ayarını nerden yapıcam.ve neden orda bir .h dosyası var.netteki örneklerlde bir sürü .h dosyası var.onları eklediğimde .h dosyalrı hata vermiyor ama port yönlerdime açma kapa osc ayarı gibi komutlar çalışlmıyor...işlemci,ye program yüklemeden pini on-off yapabilirmiyim?osc nasıl ayarlarım?
Elindeki deneme kartı hangi kart, hazır çalışan blinky örneği hiç mi yok kartla beraber gelen?

z

Led yakıp söndürme kodlarını yazarmısın buraya.

Bana e^st de diyebilirsiniz.   www.cncdesigner.com

fractal

#18
hocam kartı ben yaptım.jtag dan programlamaya çalışıyorum.karta bağlanıyorum debug yapıyorum.o aşamaya geldim.ancak stellaris ware örnekleri launchpad,ve kendi kitlerine göre hazırlanmış..ben kendi kartıma göre o projeyi ceviremedim.yeni proje oluşturmayıda tam sökemedim.örneğin yeni proje oluşturduğumda startup_ccs.c çıkmıyor.bu startpın içinde osc ayarları pin port adc..ayarları varmış.bunları ben bulamadım..elimde bu hazır kitlerin için olmayan bir program olsa ve konfigürasyon ayarları nerden nasıl yapılıyor bilgisi olsa olayı cözeceğimi düşünüyorum..


//#include "inc/lm4f211h5qr.h"


int
main(void)
{
    volatile unsigned long ulLoop;

    //
    // Enable the GPIO port that is used for the on-board LED.
    //
    SYSCTL_RCGC2_R = SYSCTL_RCGC2_GPIOG;

    //
    // Do a dummy read to insert a few cycles after enabling the peripheral.
    //
    ulLoop = SYSCTL_RCGC2_R;

    //
    // Enable the GPIO pin for the LED (PG5).  Set the direction as output, and
    // enable the GPIO pin for digital function.
    //
    GPIO_PORTG_DIR_R |= 0x20;
    GPIO_PORTG_DEN_R |= 0x20;

    //
    // Loop forever.
    //
    while(1)
    {
        //
        // Turn on the LED.
        //
        GPIO_PORTG_DATA_R |= 0x20;

        //
        // Delay for a bit.
        //
        for(ulLoop = 0; ulLoop < 200000; ulLoop++)
        {
        }

        //
        // Turn off the LED.
        //
        GPIO_PORTG_DATA_R &= ~(0x20);

        //
        // Delay for a bit.
        //
        for(ulLoop = 0; ulLoop < 200000; ulLoop++)
        {
        }
    }


netteki örneklerde aşağıdaki gibi header dosyaları  var.bende kurcalaım ama nerdeler bulamadım..



#include "C:\StellarisWare\inc/hw_ints.h"
#include "C:\StellarisWare\inc/hw_memmap.h"
#include "C:\StellarisWare\inc/hw_types.h"
#include "C:\StellarisWare\driverlib/debug.h"
#include "C:\StellarisWare\inc/hw_gpio.h"

#include "C:\StellarisWare\inc/hw_sysctl.h"

#include "C:\StellarisWare\driverlib/gpio.h"
#include "C:\StellarisWare\driverlib/sysctl.h"
Restantum cogniscutur Quantum deligutur

mcan

Alıntı yapılan: fractal - 05 Ocak 2013, 20:51:56
hocam kartı ben yaptım.jtag dan programlamaya çalışıyorum.karta bağlanıyorum debug yapıyorum.o aşamaya geldim.ancak stellaris ware örnekleri launchpad,ve kendi kitlerine göre hazırlanmış..ben kendi kartıma göre o projeyi ceviremedim.yeni proje oluşturmayıda tam sökemedim.örneğin yeni proje oluşturduğumda startup çıkmıyor.bu startpın içinde osc ayarları pin port adc..ayarları varmış.bunları ben bulamadım..elimde bu hazır kitlerin için olmayan bir program olsa ve konfigürasyon ayarları nerden nasıl yapılıyor bilgisi olsa olayı cözeceğimi düşünüyorum..

Kartın üzerindeki çip hangisi , birde @z nin dediği gibi en basitinden yaptığın led yak söndür programını buraya koyarmısın.

fractal

Restantum cogniscutur Quantum deligutur

z

SYSCTL_RCGC2_R = SYSCTL_RCGC2_GPIOG; 

Bu satıra breakpoint koyup çipi resetleyip ardından kodu koşturunca bu noktada duruyormu?
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

fractal

çalıştırdığımda starup_ccs.c  nin while döngüsünde takılı kalıyor.arkadaş dediki örneğin frekans belli değere kadar çıkana kadar bekliyordur.çıkmadığı içinde o noktada takılı kalabilir.krsital doğru taıkılı bak dedi.ama doğru takılı.bu startup_ccs.c dosyasında konfigurasyon ayarlarını bulamadım.birde macros_ini_initial dosyası var.acaba ayarlar ordamı.ama onun içinde birşey bulamadım.bir kalsör yolu gösteriyor sanırım.
Restantum cogniscutur Quantum deligutur

z

#23
Tamam main'e gelemiyor demekki. Startup kodlarını da ver o zaman.

Bir dakika ya. Kafama dank etti şimdi. Temel ayıyı mı becermiş. Tokat atılacak bayanı mı sormuş sonrada?
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

fractal

//*****************************************************************************
void ResetISR(void);
static void NmiSR(void);
static void FaultISR(void);
static void IntDefaultHandler(void);

//*****************************************************************************
//
// External declaration for the reset handler that is to be called when the
// processor is started
//
//*****************************************************************************
extern void _c_int00(void);

//*****************************************************************************
//
// Linker variable that marks the top of the stack.
//
//*****************************************************************************
extern unsigned long __STACK_TOP;

//*****************************************************************************
//
// The vector table.  Note that the proper constructs must be placed on this to
// ensure that it ends up at physical address 0x0000.0000 or at the start of
// the program if located at a start address other than 0.
//
//*****************************************************************************
#pragma DATA_SECTION(g_pfnVectors, ".intvecs")
void (* const g_pfnVectors[])(void) =
{
    (void (*)(void))((unsigned long)&__STACK_TOP),
                                            // The initial stack pointer
    ResetISR,                               // The reset handler
    NmiSR,                                  // The NMI handler
    FaultISR,                               // The hard fault handler
    IntDefaultHandler,                      // The MPU fault handler
    IntDefaultHandler,                      // The bus fault handler
    IntDefaultHandler,                      // The usage fault handler
    0,                                      // Reserved
    0,                                      // Reserved
    0,                                      // Reserved
    0,                                      // Reserved
    IntDefaultHandler,                      // SVCall handler
    IntDefaultHandler,                      // Debug monitor handler
    0,                                      // Reserved
    IntDefaultHandler,                      // The PendSV handler
    IntDefaultHandler,                      // The SysTick handler
    IntDefaultHandler,                      // GPIO Port A
    IntDefaultHandler,                      // GPIO Port B
    IntDefaultHandler,                      // GPIO Port C
    IntDefaultHandler,                      // GPIO Port D
    IntDefaultHandler,                      // GPIO Port E
    IntDefaultHandler,                      // UART0 Rx and Tx
    IntDefaultHandler,                      // UART1 Rx and Tx
    IntDefaultHandler,                      // SSI0 Rx and Tx
    IntDefaultHandler,                      // I2C0 Master and Slave
    IntDefaultHandler,                      // PWM Fault
    IntDefaultHandler,                      // PWM Generator 0
    IntDefaultHandler,                      // PWM Generator 1
    IntDefaultHandler,                      // PWM Generator 2
    IntDefaultHandler,                      // Quadrature Encoder 0
    IntDefaultHandler,                      // ADC Sequence 0
    IntDefaultHandler,                      // ADC Sequence 1
    IntDefaultHandler,                      // ADC Sequence 2
    IntDefaultHandler,                      // ADC Sequence 3
    IntDefaultHandler,                      // Watchdog timer
    IntDefaultHandler,                      // Timer 0 subtimer A
    IntDefaultHandler,                      // Timer 0 subtimer B
    IntDefaultHandler,                      // Timer 1 subtimer A
    IntDefaultHandler,                      // Timer 1 subtimer B
    IntDefaultHandler,                      // Timer 2 subtimer A
    IntDefaultHandler,                      // Timer 2 subtimer B
    IntDefaultHandler,                      // Analog Comparator 0
    IntDefaultHandler,                      // Analog Comparator 1
    IntDefaultHandler,                      // Analog Comparator 2
    IntDefaultHandler,                      // System Control (PLL, OSC, BO)
    IntDefaultHandler,                      // FLASH Control
    IntDefaultHandler,                      // GPIO Port F
    IntDefaultHandler,                      // GPIO Port G
    IntDefaultHandler,                      // GPIO Port H
    IntDefaultHandler,                      // UART2 Rx and Tx
    IntDefaultHandler,                      // SSI1 Rx and Tx
    IntDefaultHandler,                      // Timer 3 subtimer A
    IntDefaultHandler,                      // Timer 3 subtimer B
    IntDefaultHandler,                      // I2C1 Master and Slave
    IntDefaultHandler,                      // Quadrature Encoder 1
    IntDefaultHandler,                      // CAN0
    IntDefaultHandler,                      // CAN1
    IntDefaultHandler,                      // CAN2
    IntDefaultHandler,                      // Ethernet
    IntDefaultHandler,                      // Hibernate
    IntDefaultHandler,                      // USB0
    IntDefaultHandler,                      // PWM Generator 3
    IntDefaultHandler,                      // uDMA Software Transfer
    IntDefaultHandler,                      // uDMA Error
    IntDefaultHandler,                      // ADC1 Sequence 0
    IntDefaultHandler,                      // ADC1 Sequence 1
    IntDefaultHandler,                      // ADC1 Sequence 2
    IntDefaultHandler,                      // ADC1 Sequence 3
    IntDefaultHandler,                      // I2S0
    IntDefaultHandler,                      // External Bus Interface 0
    IntDefaultHandler,                      // GPIO Port J
    IntDefaultHandler,                      // GPIO Port K
    IntDefaultHandler,                      // GPIO Port L
    IntDefaultHandler,                      // SSI2 Rx and Tx
    IntDefaultHandler,                      // SSI3 Rx and Tx
    IntDefaultHandler,                      // UART3 Rx and Tx
    IntDefaultHandler,                      // UART4 Rx and Tx
    IntDefaultHandler,                      // UART5 Rx and Tx
    IntDefaultHandler,                      // UART6 Rx and Tx
    IntDefaultHandler,                      // UART7 Rx and Tx
    0,                                      // Reserved
    0,                                      // Reserved
    0,                                      // Reserved
    0,                                      // Reserved
    IntDefaultHandler,                      // I2C2 Master and Slave
    IntDefaultHandler,                      // I2C3 Master and Slave
    IntDefaultHandler,                      // Timer 4 subtimer A
    IntDefaultHandler,                      // Timer 4 subtimer B
    0,                                      // Reserved
    0,                                      // Reserved
    0,                                      // Reserved
    0,                                      // Reserved
    0,                                      // Reserved
    0,                                      // Reserved
    0,                                      // Reserved
    0,                                      // Reserved
    0,                                      // Reserved
    0,                                      // Reserved
    0,                                      // Reserved
    0,                                      // Reserved
    0,                                      // Reserved
    0,                                      // Reserved
    0,                                      // Reserved
    0,                                      // Reserved
    0,                                      // Reserved
    0,                                      // Reserved
    0,                                      // Reserved
    0,                                      // Reserved
    IntDefaultHandler,                      // Timer 5 subtimer A
    IntDefaultHandler,                      // Timer 5 subtimer B
    IntDefaultHandler,                      // Wide Timer 0 subtimer A
    IntDefaultHandler,                      // Wide Timer 0 subtimer B
    IntDefaultHandler,                      // Wide Timer 1 subtimer A
    IntDefaultHandler,                      // Wide Timer 1 subtimer B
    IntDefaultHandler,                      // Wide Timer 2 subtimer A
    IntDefaultHandler,                      // Wide Timer 2 subtimer B
    IntDefaultHandler,                      // Wide Timer 3 subtimer A
    IntDefaultHandler,                      // Wide Timer 3 subtimer B
    IntDefaultHandler,                      // Wide Timer 4 subtimer A
    IntDefaultHandler,                      // Wide Timer 4 subtimer B
    IntDefaultHandler,                      // Wide Timer 5 subtimer A
    IntDefaultHandler,                      // Wide Timer 5 subtimer B
    IntDefaultHandler,                      // FPU
    IntDefaultHandler,                      // PECI 0
    IntDefaultHandler,                      // LPC 0
    IntDefaultHandler,                      // I2C4 Master and Slave
    IntDefaultHandler,                      // I2C5 Master and Slave
    IntDefaultHandler,                      // GPIO Port M
    IntDefaultHandler,                      // GPIO Port N
    IntDefaultHandler,                      // Quadrature Encoder 2
    IntDefaultHandler,                      // Fan 0
    0,                                      // Reserved
    IntDefaultHandler,                      // GPIO Port P (Summary or P0)
    IntDefaultHandler,                      // GPIO Port P1
    IntDefaultHandler,                      // GPIO Port P2
    IntDefaultHandler,                      // GPIO Port P3
    IntDefaultHandler,                      // GPIO Port P4
    IntDefaultHandler,                      // GPIO Port P5
    IntDefaultHandler,                      // GPIO Port P6
    IntDefaultHandler,                      // GPIO Port P7
    IntDefaultHandler,                      // GPIO Port Q (Summary or Q0)
    IntDefaultHandler,                      // GPIO Port Q1
    IntDefaultHandler,                      // GPIO Port Q2
    IntDefaultHandler,                      // GPIO Port Q3
    IntDefaultHandler,                      // GPIO Port Q4
    IntDefaultHandler,                      // GPIO Port Q5
    IntDefaultHandler,                      // GPIO Port Q6
    IntDefaultHandler,                      // GPIO Port Q7
    IntDefaultHandler,                      // GPIO Port R
    IntDefaultHandler,                      // GPIO Port S
    IntDefaultHandler,                      // PWM 1 Generator 0
    IntDefaultHandler,                      // PWM 1 Generator 1
    IntDefaultHandler,                      // PWM 1 Generator 2
    IntDefaultHandler,                      // PWM 1 Generator 3
    IntDefaultHandler                       // PWM 1 Fault
};

//*****************************************************************************
//
// This is the code that gets called when the processor first starts execution
// following a reset event.  Only the absolutely necessary set is performed,
// after which the application supplied entry() routine is called.  Any fancy
// actions (such as making decisions based on the reset cause register, and
// resetting the bits in that register) are left solely in the hands of the
// application.
//
//*****************************************************************************
void
ResetISR(void)
{
    //
    // Jump to the CCS C initialization routine.  This will enable the
    // floating-point unit as well, so that does not need to be done here.
    //
    __asm("    .global _c_int00\n"
          "    b.w     _c_int00");
}

//*****************************************************************************
//
// This is the code that gets called when the processor receives a NMI.  This
// simply enters an infinite loop, preserving the system state for examination
// by a debugger.
//
//*****************************************************************************
static void
NmiSR(void)
{
    //
    // Enter an infinite loop.
    //
    while(1)
    {
    }
}

//*****************************************************************************
//
// This is the code that gets called when the processor receives a fault
// interrupt.  This simply enters an infinite loop, preserving the system state
// for examination by a debugger.
//
//*****************************************************************************
static void
FaultISR(void)
{
    //
    // Enter an infinite loop.
    //
    while(1)
    {
    }
}

//*****************************************************************************
//
// This is the code that gets called when the processor receives an unexpected
// interrupt.  This simply enters an infinite loop, preserving the system state
// for examination by a debugger.
//
//*****************************************************************************
static void
IntDefaultHandler(void)
{
    //
    // Go into an infinite loop.
    //
    while(1)
    {
    }
}
Restantum cogniscutur Quantum deligutur

z

ok

    __asm("    .global _c_int00\n"
          "    b.w     _c_int00");


FaultISR satırına breakpoint koy.

İşlemciyi resetledikten sonra kodları adım adım adımlattığında yukarıdaki reset rutinine gelmen gerekir.
Tekrar adımlat.   _c_int00 'e gidiyormu. Bir iki kez daha adımlat ve run et.

FaultISR de sonsuz döngüye giriyor olmalı.

Deneme şansın varmı?
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

fractal

#26
tama hocam var.hep cantamla dolaşırım hemen deneme yapıyorum...
tamamda burda osc ayarları gibi konfigürasyonları nerde bulamadım..

mesaj birleştirme:: 05 Ocak 2013, 21:53:40

evet hocam orda sonsuz döngüye giriyor..
Restantum cogniscutur Quantum deligutur

z

Clockları aktif edilmemiş donanımlara erişilmeye kalkıldığında Stellaris işlemciler exception üretir.

Bu ayarlamaların bir yerlerde yapılması gerekiyor. Ben main fonksiyonu içinde yapıyorum.

Varsa diğer örnek kodlarında muhtemelen main içinden initalize işlemleri yapan bir fonksiyon çağırılıyordur.

Senin verdiğin örnekte böyle bir kod olmadığına göre led yak söndüre ait startup kod, verdiğin startup kodu değil.

Büyük olasılıkla led yak söndürün ayrı bir satartup kod var ve init işlemleri o kodda yapılıyor.

Arayıp bulabilirsin. Sorununun ne olduğu belli oldu.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

fractal

z hocam ben bu blinky programı kopyaladım adını değiştirdim gerekli düzeltmeleri yapıp yükleyip deniyorum.orjinal programda main.c ve startp_ccs.c dosyaları var.arıyorum tarıyorum bulamıyorum...
Restantum cogniscutur Quantum deligutur

mcan

Alıntı yapılan: fractal - 05 Ocak 2013, 20:59:25
ekledim.yukarıda.lm3s5g51
işlemci LM3S5G51 is neden //#include "inc/lm4f211h5qr.h" cortex m4 ün dosyasını include ediyoruz? Register yapıları farklı olması sebebiyle düzgün ayarlanamayacak.