.titleBar { margin-bottom: 5px!important; }

eigenes Programm für fritzbox bauen

Dieses Thema im Forum "Freetz" wurde erstellt von Vlad_Tepesch, 12 Feb. 2012.

  1. Vlad_Tepesch

    Vlad_Tepesch Neuer User

    Registriert seit:
    2 Juni 2007
    Beiträge:
    60
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hi,
    Ich würde gern ein eigenes Programm für die Fritzbox schreiben.
    Ich benutze das freetz-linux zum bauen
    Kann mir vielleicht jemand ein simples Makefile als starting point für eine eigene Anwendung posten?
    wäre nett, wenn das außerdem die anbindung der libusb-1 schon enthalten sein würde.
    Ich bin was die gcc toolchains anbelangt nicht so firm (bisher hab ich das immer die IDE machen lassen).

    Was ich vorhab:
    ICh möchte eine RFM12-Netzwerkbrücke erstellen um die Daten von Funksensoren im Netzwerk verfügbar zu machen..
    dazu will ich einen µC (atmega8) mit SW-USB und RFM12 modul an die Fritzbox hängen.

    Auf dieser soll ein Programm laufen, dass eingeegangene Funkpakete per UDP Broadcast verschickt und umgekehrt auch auf Pakete lauscht und diese über den Funksender ausgibt.

    Die Funk-Hardware läuft schon. Das USB-Gerät hab ich an Windows am laufen und ein Funksensor verrichtet auch schon seine Arbeit, so dass die Funkstrecke schon funktioniert.
    Jetzt kommt der Teil, wo ich hoffe, dass mir hier jemand den Einstieg erleichtern kann.

    MfG
    Vlad
     
  2. sf3978

    sf3978 IPPF-Promi

    Registriert seit:
    2 Dez. 2007
    Beiträge:
    7,664
    Zustimmungen:
    5
    Punkte für Erfolge:
    38
    Hast Du schon den source code für dein Programm?
     
  3. RalfFriedl

    RalfFriedl IPPF-Urgestein

    Registriert seit:
    22 Apr. 2007
    Beiträge:
    12,343
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Es klingt nicht danach, und dann ist wohl das Makefile der kleinste Teil des Problems.

    Jedes der bereits vorhandenen Pakete kommt mit einem Makefile, das man als Vorlage verwenden kann.
     
  4. Vlad_Tepesch

    Vlad_Tepesch Neuer User

    Registriert seit:
    2 Juni 2007
    Beiträge:
    60
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Halb.
    Ich hab ein windowsprogramm, was die libusb benutzt, um mit dem µC zu reden.
    Der Socket-Teil fehlt noch.

    naja, mit sockets hab ich schon hin und wieder gearbeitet (wenn auch nicht unter linux), aber das ist ein anderes Problem.
    Mir gehts jetzt tatsächlich erst mal darum, ein funktionsfähiges Programm zu erstellen, ohne mich Tagelang damit allein beschäftigen zu müssen, da dachte ich, da kann ich auf das zurückgreifen, was hier andere wahrscheinlich schon hunderte Male gemacht haben und mich auf mein eigentliches Problem konzentrieren.
    naja, ich wollte ein möglichst kleines, von dem package-system unabhängiges.
     
  5. sf3978

    sf3978 IPPF-Promi

    Registriert seit:
    2 Dez. 2007
    Beiträge:
    7,664
    Zustimmungen:
    5
    Punkte für Erfolge:
    38
    OK, hier ein kleines und unabhängiges Paket, als Beispiel: klick
     
  6. olistudent

    olistudent IPPF-Urgestein

    Registriert seit:
    19 Okt. 2004
    Beiträge:
    14,756
    Zustimmungen:
    2
    Punkte für Erfolge:
    0
    Beruf:
    Softwareentwickler
    Ort:
    Kaiserslautern
    Je nachdem wie kompliziert dein Programm ist reicht auch ein einfacher Aufrufe des Compilers?
    Code:
    oliver@ubuntu:~/fritzbox/freetz/trunk$ toolchain/target/bin/mips-linux-gcc -o hello hello-world.c
    oliver@ubuntu:~/fritzbox/freetz/trunk$ file hello
    hello: ELF 32-bit MSB executable, MIPS, MIPS32 rel2 version 1, dynamically linked (uses shared libs), with unknown capability 0x41000000 = 0xf676e75, with unknown capability 0x10000 = 0x70403, not stripped
    
    Oder hast du ein configure Skript? Mehrere Code-Files?

    Gruß
    Oliver
     
  7. Vlad_Tepesch

    Vlad_Tepesch Neuer User

    Registriert seit:
    2 Juni 2007
    Beiträge:
    60
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ich meinte ein vom Freetz-Paket-System unabhängiges Makefile, was die Toolchain benutzt.

    vor allem, was für compiler/assembler/linker flags nötig sind, für meine fritzbox 7170 (MIPS OHIO MIPS 4KEc V4.8)

    hasb jetzt mal mit folgendem Makefiel probiert, was ich aus einem kleinen Arm-Testprojekt gneommen habe.
    Das programm scheint auch zu laufen, allerdings wundert mich, dass ich kein -mcpu spezifierien muss.

    Auch weiß ich leider nicht, wie ich die dynamische Lib benutzen kann. Die libs bisheriger µC Projekte waren immer h und c files die einfach mitkompiliert und gelinkt wurden.

    Code:
    TOOLCHAINBASE=/home/freetz/freetz-trunk/toolchain/build/mipsel_gcc-4.5.3_uClibc-0.9.29/mipsel-linux-uclibc
    INCLUDEPATH=$(TOOLCHAINBASE)/include
    LIBPATH=$(TOOLCHAINBASE)/lib
    BINPATH=$(TOOLCHAINBASE)/bin
    TOOLPREFIX=/mipsel-linux-
    
    ###############################################################
    #####
    ##### Compiler, Linker and Tools
    #####
    ###############################################################
    
    CC=$(BINPATH)$(TOOLPREFIX)gcc
    CPP=$(BINPATH)$(TOOLPREFIX)g++
    AS=$(BINPATH)$(TOOLPREFIX)as
    LD=$(BINPATH)$(TOOLPREFIX)gcc
    OC=$(BINPATH)$(TOOLPREFIX)objcopy
    OD=$(BINPATH)$(TOOLPREFIX)objdump
    
    CPUFLAGS=
    OPTFLAGS=-Os
    #OPTFLAGS=
    
    CFLAGS=$(CPUFLAGS) -c -Wall -I$(INCLUDEPATH)
    ASFLAGS=$(CPUFLAGS) -D --gstabs
    ROMLDFLAGS=-lc -s -Wl,-warn-common
    THUMBFLAGS=
    
    PROJECT=helloworld
    
    all: $(PROJECT)
    
    $(PROJECT): main.o
    	$(LD) $(ROMLDFLAGS) -o $(PROJECT) main.o
    
    main.o: main.c
    	$(CC) $(CFLAGS) $(THUMBFLAGS) -L $(LIBPATH) -o main.o main.c
    
    clean:
    	$(RM) -v $(PROJECT) *.o *.elf *.bin *.hex *~
    
    ### EOF
    
     
  8. olistudent

    olistudent IPPF-Urgestein

    Registriert seit:
    19 Okt. 2004
    Beiträge:
    14,756
    Zustimmungen:
    2
    Punkte für Erfolge:
    0
    Beruf:
    Softwareentwickler
    Ort:
    Kaiserslautern
  9. sf3978

    sf3978 IPPF-Promi

    Registriert seit:
    2 Dez. 2007
    Beiträge:
    7,664
    Zustimmungen:
    5
    Punkte für Erfolge:
    38
    Was ist da der Vorteil im Vergleich zu einem Freetz-Paket?
     
  10. RalfFriedl

    RalfFriedl IPPF-Urgestein

    Registriert seit:
    22 Apr. 2007
    Beiträge:
    12,343
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Gar keine, siehe das Beispiel von Oliver.
    Der verwendete Compiler erzeugt sowieso Code, den die CPU ausführen kann.
    Einfach an der Kommandozeile angeben. In diesem Fall -lusb.
    [/QUOTE]