eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronika › Pisanie do Flasha w LPC17xx
Ilość wypowiedzi w tym wątku: 8

  • 1. Data: 2010-08-14 12:13:06
    Temat: Pisanie do Flasha w LPC17xx
    Od: Mario <m...@p...onet.pl>

    Witam,
    może ktoś pomoże linkiem do przykładowych procedur w C umożliwiających
    pisanie/czytanie flasha w LPC1768 z poziomu programu. Najlepiej tak żeby
    działało pod FreeRtosem (non-MPU). Potrzebuję zapisywać kilkanaście
    zmiennych we flashu. AVRy miały rozdzielone flash programu i eeprom i
    nie było z tym problemu. W LPC podobno trzeba użyć funkcje interfejsu
    ISP ale jakoś nie mogę znaleźć przykładów.

    --
    Pozdrawiam
    MD


  • 2. Data: 2010-08-16 19:22:12
    Temat: Re: Pisanie do Flasha w LPC17xx
    Od: Adam Dybkowski <a...@4...pl>

    W dniu 2010-08-14 14:13 Mario napisał(a):

    > może ktoś pomoże linkiem do przykładowych procedur w C umożliwiających
    > pisanie/czytanie flasha w LPC1768 z poziomu programu. Najlepiej tak żeby
    > działało pod FreeRtosem (non-MPU). Potrzebuję zapisywać kilkanaście
    > zmiennych we flashu. AVRy miały rozdzielone flash programu i eeprom i
    > nie było z tym problemu. W LPC podobno trzeba użyć funkcje interfejsu
    > ISP ale jakoś nie mogę znaleźć przykładów.

    Wszystko dokładnie masz wyłuszczone w rozdziale 8 "IAP commands"
    dokumentu UM10360 "LPC17xx User manual". Niezbędne kawałki są napisane w C.

    --
    Adam Dybkowski
    http://dybkowski.net/

    Uwaga: przed wysłaniem do mnie maila usuń cyfry z adresu.


  • 3. Data: 2010-08-16 20:34:02
    Temat: Re: Pisanie do Flasha w LPC17xx
    Od: Mario <m...@p...onet.pl>

    W dniu 2010-08-16 21:22, Adam Dybkowski pisze:
    > W dniu 2010-08-14 14:13 Mario napisał(a):
    >
    >> może ktoś pomoże linkiem do przykładowych procedur w C umożliwiających
    >> pisanie/czytanie flasha w LPC1768 z poziomu programu. Najlepiej tak żeby
    >> działało pod FreeRtosem (non-MPU). Potrzebuję zapisywać kilkanaście
    >> zmiennych we flashu. AVRy miały rozdzielone flash programu i eeprom i
    >> nie było z tym problemu. W LPC podobno trzeba użyć funkcje interfejsu
    >> ISP ale jakoś nie mogę znaleźć przykładów.
    >
    > Wszystko dokładnie masz wyłuszczone w rozdziale 8 "IAP commands"
    > dokumentu UM10360 "LPC17xx User manual". Niezbędne kawałki są napisane w C.
    >

    Niby tak. Tylko jak w praktyce w Freertos uzyskać wspomniany poniżej
    warunek:

    3.2.6 Interrupts during IAP
    The on-chip flash memory is not accessible during erase/write
    operations. When the user
    application code starts executing the interrupt vectors from the user
    flash area are active.
    The user should either disable interrupts,

    Musiałbym chyba zatrzymać cały system. Tak sobie kombinuję bo jeszcze go
    zbyt nie poznałem.

    --
    Pozdrawiam
    MD


  • 4. Data: 2010-08-17 20:29:46
    Temat: Re: Pisanie do Flasha w LPC17xx
    Od: Adam Dybkowski <a...@4...pl>

    W dniu 2010-08-16 22:34 Mario napisał(a):

    >> Wszystko dokładnie masz wyłuszczone w rozdziale 8 "IAP commands"
    >> dokumentu UM10360 "LPC17xx User manual". Niezbędne kawałki są napisane
    >> w C.
    >>
    >
    > Niby tak. Tylko jak w praktyce w Freertos uzyskać wspomniany poniżej
    > warunek:
    >
    > 3.2.6 Interrupts during IAP
    > The on-chip flash memory is not accessible during erase/write
    > operations. When the user
    > application code starts executing the interrupt vectors from the user
    > flash area are active.
    > The user should either disable interrupts,
    >
    > Musiałbym chyba zatrzymać cały system. Tak sobie kombinuję bo jeszcze go
    > zbyt nie poznałem.

    Pominąłeś z cytatu to co najważniejsze:
    "The user should either disable interrupts, or ensure that user
    interrupt vectors are active in
    RAM and that the interrupt handlers reside in RAM, before making a flash
    erase/write IAP
    call."

    Nie możesz żyć przez chwilę bez przerwań? No to czeka Cię przeniesienie
    kodu ich obsługi do RAMu.

    --
    Adam Dybkowski
    http://dybkowski.net/

    Uwaga: przed wysłaniem do mnie maila usuń cyfry z adresu.


  • 5. Data: 2010-08-17 21:27:13
    Temat: Re: Pisanie do Flasha w LPC17xx
    Od: Mario <m...@p...onet.pl>

    W dniu 2010-08-17 22:29, Adam Dybkowski pisze:
    > W dniu 2010-08-16 22:34 Mario napisał(a):
    >
    >>> Wszystko dokładnie masz wyłuszczone w rozdziale 8 "IAP commands"
    >>> dokumentu UM10360 "LPC17xx User manual". Niezbędne kawałki są napisane
    >>> w C.
    >>>
    >>
    >> Niby tak. Tylko jak w praktyce w Freertos uzyskać wspomniany poniżej
    >> warunek:
    >>
    >> 3.2.6 Interrupts during IAP
    >> The on-chip flash memory is not accessible during erase/write
    >> operations. When the user
    >> application code starts executing the interrupt vectors from the user
    >> flash area are active.
    >> The user should either disable interrupts,
    >>
    >> Musiałbym chyba zatrzymać cały system. Tak sobie kombinuję bo jeszcze go
    >> zbyt nie poznałem.
    >
    > Pominąłeś z cytatu to co najważniejsze:
    > "The user should either disable interrupts, or ensure that user
    > interrupt vectors are active in
    > RAM and that the interrupt handlers reside in RAM, before making a flash
    > erase/write IAP
    > call."
    >
    > Nie możesz żyć przez chwilę bez przerwań? No to czeka Cię przeniesienie
    > kodu ich obsługi do RAMu.

    Musiałbym zatrzymać scheduler. Z kolei na to żeby przenosić część
    systemu do ramu to jestem za cienki. Chyba sobie dołożę bateryjkę i
    skorzystam z rejestrów RTC.


    --
    Pozdrawiam
    MD


  • 6. Data: 2010-08-17 22:03:36
    Temat: Re: Pisanie do Flasha w LPC17xx
    Od: Adam Dybkowski <a...@4...pl>

    W dniu 2010-08-17 23:27 Mario napisał(a):

    > Musiałbym zatrzymać scheduler. Z kolei na to żeby przenosić część
    > systemu do ramu to jestem za cienki. Chyba sobie dołożę bateryjkę i
    > skorzystam z rejestrów RTC.

    A to nie musisz koniecznie nic trzymać w wewn. Flashu?
    Bo zwykle zapisuje go bootloader (po otrzymaniu apgrejdu z zewnątrz np.
    przez USB) i tam da się radę żyć nawet bez przerwań.

    A do podręcznych rzeczy jeżeli nie potrzeba jakiejś hiper wydajności to
    polecam podłączyć zwykły 8-nóżkowy EEPROM na I2C. Będzie jak w starym
    dobrym AVR. :-)

    --
    Adam Dybkowski
    http://dybkowski.net/

    Uwaga: przed wysłaniem do mnie maila usuń cyfry z adresu.


  • 7. Data: 2010-08-17 22:33:05
    Temat: Re: Pisanie do Flasha w LPC17xx
    Od: Mario <m...@p...onet.pl>

    W dniu 2010-08-18 00:03, Adam Dybkowski pisze:
    > W dniu 2010-08-17 23:27 Mario napisał(a):
    >
    >> Musiałbym zatrzymać scheduler. Z kolei na to żeby przenosić część
    >> systemu do ramu to jestem za cienki. Chyba sobie dołożę bateryjkę i
    >> skorzystam z rejestrów RTC.
    >
    > A to nie musisz koniecznie nic trzymać w wewn. Flashu?
    > Bo zwykle zapisuje go bootloader (po otrzymaniu apgrejdu z zewnątrz np.
    > przez USB) i tam da się radę żyć nawet bez przerwań.

    Chciałem parę parametrów zmienianych przez użytkownika zapisywać z
    poziomu programu. W AVRach byłem przyzwyczajony, że są rozdzielone flash
    i eeprom. Na etapie projektowania w dokumentacji LPC zerknąłem, że da
    się zapisać w pamięci programu używając IAP. No i myślałem że sobie
    jakiś wyższy blok zajmę na przechowywanie zmiennych. Ale trochę mnie to
    przerasta biorąc pod uwagę, że sadzam to na Freertosie i nie chcę w nim
    za bardzo grzebać póki go nie znam.

    >
    > A do podręcznych rzeczy jeżeli nie potrzeba jakiejś hiper wydajności to
    > polecam podłączyć zwykły 8-nóżkowy EEPROM na I2C. Będzie jak w starym
    > dobrym AVR. :-)

    Już po zawodach. Płytki już wykonane a terminy gonią. No chyba że w
    przyszłości ją przeprojektuję wciskając małego EEproma. Póki co mogę
    wykorzystać rejestry ogólne i rejestry alarmów w RTC tylko trzeba się
    przeprosić z bateryjkami :)
    Dzięki

    --
    Pozdrawiam
    MD


  • 8. Data: 2010-08-18 20:36:25
    Temat: Re: Pisanie do Flasha w LPC17xx
    Od: Adam Dybkowski <a...@4...pl>

    W dniu 2010-08-18 00:33 Mario napisał(a):

    >> A to nie musisz koniecznie nic trzymać w wewn. Flashu?
    >> Bo zwykle zapisuje go bootloader (po otrzymaniu apgrejdu z zewnątrz np.
    >> przez USB) i tam da się radę żyć nawet bez przerwań.
    >
    > Chciałem parę parametrów zmienianych przez użytkownika zapisywać z
    > poziomu programu. W AVRach byłem przyzwyczajony, że są rozdzielone flash
    > i eeprom. Na etapie projektowania w dokumentacji LPC zerknąłem, że da
    > się zapisać w pamięci programu używając IAP. No i myślałem że sobie
    > jakiś wyższy blok zajmę na przechowywanie zmiennych. Ale trochę mnie to
    > przerasta biorąc pod uwagę, że sadzam to na Freertosie i nie chcę w nim
    > za bardzo grzebać póki go nie znam.

    Ja w podobnym przypadku w ATSAM7S256 z powodzeniem wykorzystywałem kilka
    ostatnich stron Flasha do organizacji "niby EEPROMu". Ale mogłem
    pozwolić sobie na wyłączenie przerwań w takiej chwili no i nie używałem
    FreeRTOSa tylko innego systemu (firmowego wynalazku). A zapisy/kasowania
    są tam na tyle szybkie, że nie powodują dłuższych przycięć. AFAIR
    jedynym wymaganiem było tylko aby funkcje programowania chodziły z
    wewnętrznego RAMu (trzeba było skopiować z Flasha przed użyciem).

    Tu widzę, że NXP w prockach LPC już udostępnia własne gotowe funkcje,
    które wystarczy wywoływać z wyłączonymi przerwaniami. Czyli czarna
    skrzynka i nie wiadomo co jak się programuje w środku. To już wolę jasny
    opis rejestrów do programowania Flasha w AT91SAM7xx.

    --
    Adam Dybkowski
    http://dybkowski.net/

    Uwaga: przed wysłaniem do mnie maila usuń cyfry z adresu.

strony : [ 1 ]


Szukaj w grupach

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: