Elektroda.pl
Elektroda.pl
X
CControls
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

LpcXpresso - gdzie hex dla Flash Magic ?

Gumis-92 19 Sty 2015 19:01 1017 7
  • #1 19 Sty 2015 19:01
    Gumis-92
    Poziom 8  

    Jestem w trakcie poznawania środowiska programistycznego LpcXpresso, umiem utworzyć projekt i skompilować program ale po skończeniu kompilacji w katalogu Debug projektu powstaje plik z roszerzeniem axf. Google podpowiedziało, że axf to "The AXF file extension is related to the ARM Executable files produced by ARM Linker.".
    Flash Magic nie chcę wczytać pliku axf, a hex-a lpcxpresso nie generuje. Co trzeba zrobić żeby wygenerować plik z roszerzeniem hex ?

    0 7
  • CControls
  • Pomocny post
    #2 19 Sty 2015 20:27
    landy13
    Poziom 29  

    Project -> Properites -> C/C++Build -> Settings

    Zakładka "BuildSteps"
    Okno "Post-Build steps"
    W pole "Command" wpisz:

    arm-none-eabi-objcopy -O ihex ${BuildArtifactFileName} ${BuildArtifactFileBaseName}.hex

    1
  • CControls
  • #3 20 Sty 2015 12:08
    Gumis-92
    Poziom 8  

    Nie działa :(

    Pole Command jest zablokowane ale udało się wpisać klikając obok na przycisk Edit. Po wpisaniu arm-none-eabi-objcopy -O ihex ${BuildArtifactFileName} ${BuildArtifactFileBaseName}.hex i ponownej kompliacji nie został utworzony hex. Nawet zrobiłem Clean i Build lecz nie dało efektu :(

    -1
  • #4 20 Sty 2015 13:51
    Badmaneq
    Poziom 23  

    Która wersja LPCXpresso ?
    Pokaż co dokładnie masz w Command

    0
  • #5 20 Sty 2015 14:11
    Gumis-92
    Poziom 8  

    Wersja: LPCXpresso v7.5.0 [Build 254] [2014-10-31]

    Zawartoć pola Command - nie udało się zrobić screenshoot-a całego pola bo ekran a raczej roździelczość za mała
    LpcXpresso - gdzie hex dla Flash Magic ?

    to jest jak klikne Edit

    Kod: text
    Zaloguj się, aby zobaczyć kod

    0
  • Pomocny post
    #6 20 Sty 2015 16:41
    Badmaneq
    Poziom 23  

    Gumis-92 napisał:
    Pole Command jest zablokowane ale udało się wpisać klikając obok na przycisk Edit

    Sprawdziłem ta wersja faktycznie ma zablokowane to pole (w 7.3.0_186 była możliwość wpisu bezpośrednio), lecz jak klikniesz jak sam napisałeś "Edit" pojawia się następujące okno:
    LpcXpresso - gdzie hex dla Flash Magic ?

    Pierwsza informacja w oknie "A comment character (#) disables all following commands" oznacza: znak # wyłącza wszytkie następujące (po nim) polecenia zatem wpis arm-none-eabi-objcopy -O ihex ${BuildArtifactFileName} ${BuildArtifactFileBaseName}.hex musi być przed pierwszym znakiem #
    Jeśli chcesz tworzyć tylko plik w formacie Intel Hex wpisy niżej spokojnie możesz usnąć;
    Kod: text
    Zaloguj się, aby zobaczyć kod

    Gdybyś potrzebował w przyszłości bin'a pamiętaj o linii generującej sumę kontrolną w pliku bin. Bez prawidłowej sumy kontrolnej bootlader nie uruchomi Twojego kodu:
    Cytat:
    The reserved ARM Cortex-M3 exception vector location 7 (offset 0x0000 001C in the vector table) should contain the 2’s complement of the check-sum of table entries 0 through 6. This causes the checksum of the first 8 table entries to be 0. The bootloader code checksums the first 8 locations in sector 0 of the flash. If the result is 0, then execution control is transferred to the user code.

    Natomiast dla hex'a nie trzeba dołączać sumy kontrolnej ponieważ program Flash Magic wygeneruje i ustawi ją automatycznie podczas programowania mikrokontrolera.

    BTW. Do opcji budowania projektu wejdziesz szybciej klikając w Quick Panel opcje Edit 'nazwa_projektu' project settings
    LpcXpresso - gdzie hex dla Flash Magic ?

    1
  • #7 20 Sty 2015 17:40
    Gumis-92
    Poziom 8  

    Dziekuję Wam. Działa.

    0
  • #8 21 Sty 2015 08:54
    Badmaneq
    Poziom 23  

    Wczoraj przypadkowo znalazłem inny sposób generacji hex'a.
    Mianowicie klikając w Project Explorer na pliku axf prawym przyciskiem pojawia się menu, a w nim opcja Binary Utilities, następnie należy wybrać Create binary spowoduje co prawda wygenerowanie pliku bin dlatego trzeba zmienić konfiguracje.
    LpcXpresso - gdzie hex dla Flash Magic ?

    Aby zmienić konfiguracje wybierasz menu Window -> Preferences pojawi się okno preferencji
    LpcXpresso - gdzie hex dla Flash Magic ?

    rozwijasz LPCXpresso i kilasz na Utilities, następnie w polu Create Binary command wpisujesz arm-none-eabi-objcopy -O ihex "${FileName}" "${FileBaseName}.hex"
    Od tej pory jak będziesz używał Create binary będzie tworzyć plik hex.

    1