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į:

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

Pradžios langas

Patvirtiname licenziją

Pasirenkame direktoriją kur instaliuosime GNUARM

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

Start menu katalogo pavadinimas

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ė.

Spaudžiame install.

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ą.

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...
- 624 reads
Komentarai
Re: GNUARM paleidimas ir pirmi žingsniai
Unlike COMMAND.COM, which is a DOS program, cmd.exe is a native program for the platform. This allows it to take advantage of features available to native programs on the platform and not available to DOS programs.
Skelbti naują komentarą