GNUARM paleidimas ir pirmi žingsniai

GNUARM tai atviro kodo įrankių rinkinys ARM7 mikrokontroleriams, į kurį įeina GCC kompiliatorius bei debugeris.
Nesigilinant į smulkmenas pabandykime paleisti GNUARM windows aplinkoje ir sukompiliuokime viena projektėlį.
Pirmiausiai iš http://www.gnuarm.com parsisiunčiame sukompiliuotą įrankių rinkinį:

gnuarm_files.jpg

Pasirenakme naujausią [GCC-4.0 toolchain] esantį prie Cygwin.
Parsiuntus paleidžiame instaliaciją:

gnuarm_setup1.jpg

Pradžios langas

gnuarm_setup2.jpg

    Patvirtiname licenziją

    gnuarm_setup3.jpg

    Pasirenkame direktoriją kur instaliuosime GNUARM

    gnuarm_setup4.jpg

    Pasirenkame komonentus. Praktiškai galima visus palikti sužymėtus.

    gnuarm_setup5.jpg

    Start menu katalogo pavadinimas

    gnuarm_setup6.jpg

    Darbastalio ikonos uždėjimas. Rekomenduoju palikti pažymėtą Install Cygwin DLLs nes pas manęs nors ir buvo Cygwin suinstaliuotas, bet teko tuos DLL sudėti, kitaip neveikė.

    gnuarm_setup7.jpg

    Spaudžiame install.

    gnuarm_setup8.jpg

    8. Uždėkite varnelę kad būtų sukuriamas sisteminis kintamasis, t.y. PATH=c:\gnuarm\bin


    Kai GNUARM suinstaliuotas, lieka parsisiųsti Binutils iš čia utils. Parsiuntus archyvą išarchyvuoti visa turinį į c:\gnuarm\bin katalogą. Taip pat parsisiųskite cygncurses-8.dll. Taip pat įrašykite į c:\gnuarm\bin katalogą.

    Dabar įrankis paruoštas darbui...


    Atliksim bandomąjį kompiliavimą. Parsisiųskite projektą iš čia lpc2214_blink.zip ir išarchyvuokite jums norimoj direktorijoj.
    Jame rasite tokius failus:

    lpc2214.h LPC2214 headerį. Jį galima parsisiųsti iš www.gnuarm.com puslapio, kur yra Support Files.
    blink.c LED mirksiuko programa
    boot.s The startup routine which first is executed after the resetting CPU. From among these C main function is called.(Palikau specialiai)
    Startupas kuris pasileidžia po reseto. čia iškviečiama C main funkcija.
    makfile makefile
    lpc2214-rom.ld The load script file which linker uses
    The start address size and the like of ROM/RAM is described. Necessity to ROM conversion binary is drawn up.
    setenv.cmd Konfiguracinis failas, kur nurodomas kelias iki C:\GNUARM\bin ir bin\utils
    jtag_flash.exe The tool which writes the flash by way of jtag
    Writing the hex file which it appoints, it executes.
    When 'N' is appointed in 2nd parameter, after the writing in, it does not execute. (įrankis leidžiantis įrašyti Flash per JTAG.)
    jtag_stub.exe The JTAG debugger for GDB/Insight. JTAG debugeris

    Kadangi setenv.cmd yra naudojamas nustatyti PATH, C: kai GCC yra suinstaliuotas kitur nei C:\GNUARM, tia reikia jį paredaguoti. Kadangi mes nukopijavom visus utils į BIN katalogą o instaliuodami GNUARM pasirinkome, kad būtų sukuriamas sisteminis kintamasis, tai setenv.cmd leisti nereikia.


    Ka gi bandome sukompiliuoti parsisiųsta programėlę. Pasileidžiame DOS komandinį langą.

    make_run.jpg

    Kadangi neturiu programatoriaus, tia kol kas sukompiliuosime ir sukursime hex failą.
    Kadangi makefile neredaguoju, palieku toki koks yra, tai kad gauti hex failą reikia leisti tokias komandas:
    make ir po to make hex
    Viskas - hex failas sukurtas.
    Pateikiu lentelę su galimomis make komandomis:

    Command Target (function)
    Make Compiling & linking and forming the elf file
    Make clean The formation file (o lst elf hex bin) it deletes
    Make hex Hex (forming the hexa-) file
    Make bin Bin (binary) forming the file
    Make lst Listing (assembling) formation of file
    Make run Compiling & linking and it writes in to the flash, starts the program
    Make debug Compiling & linking and it writes in to the flash, starts Insight/GDB. Because it does not start the program automatically, you indicate with the debugger

    Turint adapterį galima flašinti ir debuginti.
    Sėkmės...

    Skelbti naują komentarą

    Šio laukelio turinys bus laikomas privatus ir nerodomas viešai.
    CAPTCHA
    Apsauga nuo spamo. Įveskite žemiau esantį kodą.
    Image CAPTCHA
    Copy the characters (respecting upper/lower case) from the image.