ARM:0001, softas

Jau praėjo kelios dienos nuo pirmo bandymo. Iki tol aš net neieškojau softo, nes tikėjausi, kad gamintojas turi pilną free paketą. Deja aš klydau.
Teko biški pasukti galvą… Prie J-Link, kinai pridėjo warezų kompaktą, kuriame buvo Segger programinė įranga kuri dar dirba su mano padirbta hardware. Kiek supratau iš visokių forumų, naujausias softas jau žino, kad tai kiniškas reikalas ir užsilenkia. Todėl J-Linkas dirba su senu softu- versija tikriausiai ARM V4.64a.
Dar tame kompakte buvo crackai, serial generatoriai visokiems komerciniams ARM kompiliatoriams ir toolchainams. Buvo mintis tai daryti, bet kažkai užsimiršau aš apie tą kompaktą ir pradėjau guglinti. Keli rusiški forumai ir pats guglė išmetė tokį dalyką kaip YAGARTO, sprendžiant iš to, kad softas guli sourceforge, tai jis tikrai free. O last update stovi 2013-04-24 , tai vadinasi kažkas dar dirba su šiuo paketu. Ir dar gerai, kad šitas paketus turi kažkokį installerį kuris viską sumetą į windows kietą diską.
Tačiau tai plikas command line įrankis. Tačiau gal man tai ir patiko, nes man kiek nepatinka eclipsė (ypač prisiminus kaip ji gliučino ant seno kompo). Kaip gi tada tuom paketu naudotis? Ogi pas mane yra suinstaliuotas WinAVR paketus, kuriam buvo susiinstaliuotas “make” ir man jau įprastas “programmers notepad”. Vadinasi teoriškai “make” turi veikti. Nusikroviau “mirksiuko” projektą iš interneto. Ten rodos oficialus pavyzdinis projektas SAM7S64 procesoriukui.
Pasileidžiam make ir … vaje neranda mano gcc tinkamo. Reikia pakeisti biški makefile:

Iš:

# Define programs and commands.
SHELL = sh
CC = arm-elf-gcc
CPP = arm-elf-g++
OBJCOPY = arm-elf-objcopy
OBJDUMP = arm-elf-objdump
SIZE = arm-elf-size
NM = arm-elf-nm

Į:

# Define programs and commands.
SHELL = sh
CC = arm-none-eabi-gcc
CPP = arm-none-eabi-g++
OBJCOPY = arm-none-eabi-objcopy
OBJDUMP = arm-none-eabi-objdump
SIZE = arm-none-eabi-size
NM = arm-none-eabi-nm

Dabar padarius make, atsiranda hex failas. Valio.
Bet čia 64 kilobaitų procesoriukui. Maniškis šrotas turi kiek daugiau- 256kb.
Iš visokių oficialių ir neoficialių puslapių ir projektų susirankiojau reikalingus failus:

AT91SAM7S256-RAM.ld, AT91SAM7S256-ROM.ld, at91sam7s256.h, lib_AT91SAM7S256.h. Tuo tarpu Cstartup.S ir Cstartup_SAM7.c tiko iš mažesnio procesoriuko. Nu dar make file ir dar kažkur reikia pakeisti 64 į 256 failų ir MCU pavadinimuose. Ir mirksiukas vėl susikompiliavo.
O minėtą hex failą sumaitino J-Linkas į mikroschemą ir oscilografas parodė, kad tikrai kojos kaitaliojasi pagal mano norus. Tiesa ne iš karto.

Tai tiek buvo sugalvota per tuos du ar trys vakarus. Tiesa paskutinis vakaras buvo tūpai praleistas debuginant ir krapštant galą. Tiesiog ten kažkaip nesigavo ir manau tai aprašysiu sekančiam poste, kur busi minima pirma programa.

9 replies on “ARM:0001, softas”

  1. Nelabai suprantu kam reikia tų kiniškų J-Link’ų, kurie su normaliu softu neveikia, jei galima iš Farnell nusipirkt M0 Cortex Discovery board’ą* su integruotu ST-Link’u už 30Lt (!!). Ir tas integruotas ST-Link nuėmus du trumpiklius veikia kaip pilnavertis programatorius/debugeris.

    O Windows’inis softas normalus yra Keil uVision**. Paprastiem darbam pilnai pakanka nemokamos versijos tiesiai iš gamintojo (tik reikia su betkokiu email’u prisiregistruot).


    * http://lt.farnell.com/stmicroelectronics/stm32f0discovery/eval-kit-stm32f0-with-st-link-v2/dp/2096251

    ** http://www.keil.com/download/product/ (siųstis MDK-ARM)

  2. Su kokiu normaliu softu tas J-link neveikia? Kiek buvau visokių paleidęs, visi net be mano noro pasigaudavo tą J-linką.

    Gal tuom, kad devboardas visiškai neįdomu? Turiu keletą dev boardu. Manai kiek nors jos užkabino? Ypač su OS on-board.

    O integruotas st-linkas irgi didelis blogis, nes jis integruotas 🙂
    Beja, šitas SAM7 nereikalauja jokių stlinkų darbui- jis puikiausiai programuojasi tiesiai per USB- SAM-BA.

  3. Blem, man Seggerio gdb serveris su tokiu kiniški jlinku nulūžo ir aiškiai sugadino aparačiuko firmwarą. Neberanda jo kompas ir lempelė neįsižiebia. Sako, kad problema enumeruojant usb divaisą…. nebežinau, ką daryt. Kažkur radau, kad su Atmel sam-ba galima tą firmwarą įrašyt, bet konkrečių instrukcijų — ne. Reikės patyrinėt, ką draugai kinai į kompaktą įdėjo… bloga dienos pradžia 🙁

  4. SAM7 softas per USB įsikelia labai paprastai- reikia tik pajungti tipinį USB pajungimą ir TEISINGA seka užtrumpinti valdymo kojas. Tada SAM7 kompui pasimato kaip paprasčiausias COM portas ir su Atmelio softu visas susikelia. Bandžiau, veikia. Ką ir kaip trumpinti parašyta datasheete.

Leave a Reply

Your email address will not be published. Required fields are marked *