Can-lib in AS6.2 bauen

Gast #4361885
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.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.