eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaAVR32 - jak ruszyc z tym prockiemRe: AVR32 - jak ruszyc z tym prockiem
  • Path: news-archive.icm.edu.pl!news.gazeta.pl!newsfeed.pionier.net.pl!news.internetia.
    pl!newsfeed.neostrada.pl!atlantis.news.neostrada.pl!news.neostrada.pl!not-for-m
    ail
    From: SM <b...@k...com.pl>
    Newsgroups: pl.misc.elektronika
    Subject: Re: AVR32 - jak ruszyc z tym prockiem
    Date: Sun, 08 Nov 2009 08:53:04 +0100
    Organization: TP - http://www.tp.pl/
    Lines: 93
    Message-ID: <hd5u12$sh0$1@nemesis.news.neostrada.pl>
    References: <hd1e7s$hqa$1@nemesis.news.neostrada.pl>
    NNTP-Posting-Host: aeew249.neoplus.adsl.tpnet.pl
    Mime-Version: 1.0
    Content-Type: text/plain; charset=ISO-8859-2; format=flowed
    Content-Transfer-Encoding: 8bit
    X-Trace: nemesis.news.neostrada.pl 1257667426 29216 79.186.126.249 (8 Nov 2009
    08:03:46 GMT)
    X-Complaints-To: u...@n...neostrada.pl
    NNTP-Posting-Date: Sun, 8 Nov 2009 08:03:46 +0000 (UTC)
    User-Agent: Thunderbird 2.0.0.23 (Windows/20090812)
    In-Reply-To: <hd1e7s$hqa$1@nemesis.news.neostrada.pl>
    Xref: news-archive.icm.edu.pl pl.misc.elektronika:575115
    [ ukryj nagłówki ]


    MAM! DZIAŁA!

    Dla zainteresowanych podaję przepis na uruchomienie AT32UC3B0256
    bez całego zbędnego "bagażu".

    1. Programem BatchISP zgrać bootloader (potrzebny gdy programujemy
    używając BatchISP poprzez USB - zawsze zadeptuje bootloader nie
    uwzględniając adresów ładowania):

    batchisp -device at32uc3b0256 -hardware usb -operation erase f memory
    flash addrange 0x0 0x01FFF read savebuffer "C:\isp.hex" hex386

    2. Programem Hex2Bin przerobić "isp.hex" na "isp.bin"

    3. Napisać prosty program, np. taki jak poniżej (generowanie
    przebiegu prostokątnego na PA3): Zapisać pod nazwą "main.s".

    .equ GPIO_BASE, 0xFFFF1000
    .equ GPIO_GPERS, 0x04
    .equ GPIO_ODERS, 0x44
    .equ GPIO_OVR, 0x50

    .text

    .global _start

    _start:
    .incbin "isp.bin"

    program_start:

    // init

    mov R0, LO(GPIO_BASE)
    orh R0, HI(GPIO_BASE)
    mov R1, (1 << 3)
    st.w R0[GPIO_GPERS], R1
    mov R1, (1 << 3)
    st.w R0[GPIO_ODERS], R1

    // pętla

    main_loop:

    // zerowanie PA3

    mov R1, (0 << 3)
    st.w R0[GPIO_OVR], R1

    // opóźnienie

    mov R2, 1000
    del1: sub R2, R2, 1
    brne del1

    // ustawienie PA3

    mov R1, (1 << 3)
    st.w R0[GPIO_OVR], R1

    // opóźnienie

    mov R2, 1000
    del2: sub R2, R2, 1
    brne del2

    // powrót do pętli

    rjmp main_loop

    _stop:

    4. Asemblacja poprzez:

    avr32-as.exe -R -march=ucr1 -o main.out main.s

    5. Linkowanie poprzez:

    avr32-ld.exe --oformat ihex -m avr32elf_uc3b0256 -Ttext 0x80000000 -Tbss
    0x00000000 -o main.hex main.out

    6. Ładowanie do procka poprzez:

    batchisp -device at32uc3b0256 -hardware usb -operation erase f memory
    flash blankcheck loadbuffer main.hex program verify start reset 0

    Po załadowaniu program sam się uruchomi. Będzie się także uruchamiał
    po resecie. Aby znów zaprogramować procek należy zewrzeć do masy
    PA13 i zresetować go - wejdzie do bootloadera (programowania ISP
    poprzez USB).

    SM

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: