Forum: Mikrocontroller und Digitale Elektronik Can-lib in AS6.2 bauen


von can-lib chaos (Gast)


Lesenswert?

Hi,

habs Googeln grad über - jetzt muss's Forum ran.

Hab vor einem Jahr MCUs erstmals wahrgenommen, nu will ich die Greifsche 
can-lib ausprobieren. Noch nie eine static lib gebaut (und: externes 
makefile verschärft vermutlich das Unterfangen. Mal sehen). Normale 
Menschen scheinen dafür das Studio auch nicht nutzen zu wollen, mag 
sein.
Deswegen findet man vielleicht auch wenig im Netz.
Momentan ist AS noch mein Mittel der Wahl. Bin auch bereit das zu 
überdenken.

- AS6.2 vorhanden
- can-lib.zip von kreatives-chaos.com geladen
- Neues Static Library Projekt angelegt
- Quellen aus Ordner src eingefügt
- can.h eingefügt
- Build probiert - gibt paar Fehler

Gut, die Lib ist schon ein paar Jahre alt. prog_uint8_t ist wohl nicht 
zu Unrecht deprecated mittlerweile 
(Beitrag "prog_uint8_t") - geändert also. Auf 
http://www.kreatives-chaos.com/artikel/universelle-can-bibliothek wird 
erklärt, wie man in AVR Studio baut (das ist sicher nicht dasselbe wie 
AS6.2, aber was will man machen):

"Zuerst einmal muss die Bibliothek erstellt werden: Dazu ändert man im 
src/-Ordner die Datei ‘config.h’ für seine Konfiguration ab und stellt 
im Makefile den verwenden AVR-Typ ein.
Dann kann die Bibliothek gebaut werden:
$ make lib
Wer WinAVR verwendet kann auch einfach im Programmers Notepad eine der 
Dateien aus dem src/-Ordner öffnen und dann “Tools > [WinAVR] Make All” 
auswählen."

Also mit externem Makefile bauen. Kann man in den Projekteigenschaften 
anhaken und das File angeben - prima. Baut aber nicht (erfolgreich).

Und nu? Kann man im kreativen-chaos thread noch in den Kommentaren 
wühlen. Das gibts noch Tipps:

"You need an installed Version of WinAVR.
Then you go the src/ folder and adapt the config.h file and the Makefile 
(MCU and F_CPU) to your needs. Then open a command line and type make 
lib. This should build the library.
See also “Einbinden ins eigene Programm” in the article above."

Ok, gefunden. Unter dem Menüpunkt "Tool" in AS6.2 kann man ein schäbiges 
DOS Command Prompt finden und dort "make all" eingeben, ach so war das 
gemeint! Erleuchtung. Klappt aber noch nicht so ganz.

Jetzt gerade gibts leider nur ein "No rule to make target 'all'", aber 
kann sein, dass da noch etwas fehlt. Gestern sah ich sowas wie "The 
system cannot find the path specified."

Dasselbe gibts auch im Studio, wenn man den Build Button drückt:

------ Build started: Project: testcan, Configuration: Debug AVR ------
Build started.
Project "testcan.cproj" (default targets):
Target "PreBuildEvent" skipped, due to false condition; 
('$(PreBuildEvent)'!='') was evaluated as (''!='').
Target "CoreBuild" in file "C:\Program Files\Atmel\Atmel Studio 
6.2\Vs\Compiler.targets" from project "C:\Documents and 
Settings\furzi\My Documents\Atmel 
Studio\6.2\testcan\testcan\testcan.cproj" (target "Build" depends on 
it):
  Task "RunCompilerTask"
    Shell Utils Path C:\Program Files\Atmel\Atmel Studio 6.2\shellUtils
    C:\Program Files\Atmel\Atmel Studio 6.2\shellUtils\make.exe -C 
"C:\Documents and Settings\furzi\My Documents\Atmel 
Studio\6.2\testcan\testcan" -f "makefile" all
    The system cannot find the path specified.
    The system cannot find the path specified.
    make: Entering directory `C:/Documents and Settings/furzi/My 
Documents/Atmel Studio/6.2/testcan/testcan'
    ECHO is off.
    -------- begin --------
    avr-gcc (AVR_8_bit_GNU_Toolchain_3.4.4_1229) 4.8.1
    Copyright (C) 2013 Free Software Foundation, Inc.
    This is free software; see the source for copying conditions.  There 
is NO
    warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR 
PURPOSE.
    -f was unexpected at this time.
    make: *** [sizebefore] Error 255
    make: Leaving directory `C:/Documents and Settings/furzi/My 
Documents/Atmel Studio/6.2/testcan/testcan'
  Done executing task "RunCompilerTask" -- FAILED.
Done building target "CoreBuild" in project "testcan.cproj" -- FAILED.
Done building project "testcan.cproj" -- FAILED.

Build FAILED.
========== Build: 0 succeeded or up-to-date, 1 failed, 0 skipped 
==========


Gibt es Leute da draussen, die ab und zu schonmal eine static Lib im 
Studio bauen? Und mit externem Makefile?

Wenns mit dem Studio sein soll, dann helfen Kommentare wie "ich nutz 
kein Studio, aber.." nicht weiter. Wenn jemand schreibt: Vergiss das 
Studio, ich mach das immer mit ... und bin seitdem zufrieden ... also 
probier doch mal xy -- dann wäre das vermutlich ok. Ihr dürft mich 
heilen, wenns notwendig ist. Wenns nur ein dummer Fehler war und Heilen 
(noch) nicht notwendig ist, dann mach ich noch was ASxy weiter, bis zum 
nächsten Mal.

Ich will ja nur mal bauen - kann doch kein Hexenwerk sein.

Sorry für den Roman.

von can-lib chaos (Gast)


Lesenswert?

Habs gefunden: Tatsächlich mal WinAVR installiert, ein C-File aus src 
geöffnet und Make all gemacht: tadaa, libcan.a ist da.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.