logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

[STM32] - Firmware zapisany we FLASH i wysyłka po SPI.

dev_toolpackage 01 Mar 2016 13:26 825 2
REKLAMA
  • #1 15484763
    dev_toolpackage
    Poziom 2  
    Posty: 2
    Witam,

    zwracam się do Was o pomoc, w jaki sposób zrealizować taki problem:

    Mam dwa pliki z oprogramowaniem na zewnętrzny układ. Zewnętrzny układ trzeba zaprogramować tymi firmware'ami za pomocą SPI podczas każdorazowego uruchomienia urządzenia.

    Docelowo będzie mikrokontroler np. STM32F103RCT6 ze względu na 256 kB pamięci FLASH.

    Czyli algorytm będzie wyglądał mniej więcej tak:

    1. Zapisać do FLASH dwa wsady dla zewnętrznego układu.
    2. Odczytywać po jednym bajcie wsad i wysyłać go poprzez SPI
    3. Koniec programowania

    Teraz pytanie jak zrealizować to? W jaki sposób wrzucić wsady do pamięci FLASH mikrokontrolera? Tak aby było wygodnie potem programować kolejne sztuki. Utworzyć jakąś tablicę z danymi? Tylko jak to przetrawić na odpowiedni format?

    Poprosiłbym o jakieś rady, rozwiązania.

    Dziękuję!
  • REKLAMA
  • Pomocny post
    #2 15484973
    vonar
    Poziom 28  
    Posty: 690
    Pomógł: 151
    Ocena: 30
    Możesz przekonwertować plik na tablicę C (jest wiele narzędzi, poza tym to max kilkanaście linii w większości języków).
    Albo wygenerować od razu plik obiektowy i zlinkować z programem.
    arm-none-eabi-objcopy -I binary -O elf32-littlearm --set-section-flags .data=alloc,load,data,readonly --rename-section .data=.rodata plik.bin plik.o

    Dodaj plik plik.o do listy plików obiektowych w makefile / IDE.
    Do tego plik nagłówkowy
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod
  • #3 15487748
    arturt134
    Poziom 27  
    Posty: 792
    Pomógł: 76
    Ocena: 24
    Bardzo często kompilator którym generujesz firmware ładowany przez SPI do zewnętrznego układu ma opcję zapisu w formacie tekstowym. Tak ma Visual DSP++ Analog Devices - kompilator do procesorów DSP. Do takiego pliku dajesz tylko nagłówek tablicy. Tak wygląda to w moim projekcie:
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod
REKLAMA