From: marcus9384 <mar...@gm...> - 2009-02-12 03:07:01
|
Hello All, I have a series of questions because im not quite sure what Im doing wrong here. ERROR: function do_compile failed ERROR: log data follows (/home/marcus9384/gumstix/gumstix-oe/tmp/work/armv5te-angstrom-linux-gnueabi/projectX-1.0.0-r0/temp/log.do_compile.25501) | projectX.c:4:20: error: avr/io.h: No such file or directory | In file included from projectX.c:7: | Hardware.h:28:20: error: Config.h: No such file or directory | Hardware.h:30:20: error: avr/io.h: No such file or directory | In file included from projectX.c:9: | Timer.h:168:5: error: #error Common/avr/Timer.h Processor not supported | projectX.c: In function 'main': | projectX.c:78: error: 'TIMER_SERVO_1_OCR' undeclared (first use in this function) | projectX.c:78: error: (Each undeclared identifier is reported only once | projectX.c:78: error: for each function it appears in.) NOTE: Task failed: /home/marcus9384/gumstix/gumstix-oe/tmp/work/armv5te-angstrom-linux-gnueabi/projectX-1.0.0-r0/temp/log.do_compile.25501 here is my .c file using Mr. Hylands example from Simple-Servo //---Call Source Files--- #include <stdio.h> #include <avr/io.h> #include "Hardware.h" #include "Delay.h" #include "Timer.h" //---Servo Pin Definitions----- //Relies on definition from Timer.h #define Servo_1 3A #define SERVO__( ocr, reg ) TIMER_ ## ocr ## _ ## reg #define SERVO_( ocr ,reg ) SERVO__( ocr, reg ) #define SERVO( num, reg ) SERVO_( SERVO_ ## num, reg ) main() { printf("Running???\n"); int pwm_usec = 1500; int i; char *spinner = "/-\\|"; int spinnerIdx = 0; InitHardware(); #if defined( __AVR_LIBC_VERSION__ ) fdevopen( UART0_PutCharStdio, UART0_GetCharStdio ); #else fdevopen( UART0_PutCharStdio, UART0_GetCharStdio, 0 ); #endif while(1) { printf("Pulse is %i", pwm_usec); SERVO( 1, OCR) = (pwm_usec*2); printf("Movement"); I have written a .bb file for a simple servo using the hello world example DESCRIPTION = "Sr. Project" PR ="r0" DEPENDS = "" SRC_URI = " \ file://avr/io.h \ (I have tried removing this file because of the angle brackets?) file://Hardware.h \ file://Delay.h \ file://Timer.h \ file://projectX.c \ " S = "${WORKDIR}" do_compile () { ${CC} ${CFLAGS} ${LDFLAGS} -o projectX projectX.c } do_install () { install -d ${D}${bindir}/ install -m 0755 ${S}/projectX ${D}${bindir}/ } FILES_${PN} = "${bindir}/projectX" Ive done some reading about bitbake and understand that it works like a makefile but better, but I am wondering What i have to do to get call the header files? I thought maybe it may be because I hadn't installed avr-gcc properly using the toolchain provided by Mr. Hylands. On http://docwiki.gumstix.org/index.php/Robostix_avr_gcc when I type avr-gcc --version I get. [marcus9384@dhcp-511-382 files]$ avr-gcc --version avr-gcc (GCC) 4.1.2 (Fedora 4.1.2-5.fc8) Copyright (C) 2006 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. the version from avr/include/avr/version.h = 1.5.0.20070514 Summary: Code not important I can debug it once i find out what im doing wrong with .bb and calling the avr/io.h file So... how can I successfully bitbake this file using bitbake have I installed the avr toolchain properly? Sorry about the long post :-) -- View this message in context: http://www.nabble.com/Robostix-Gumstix-Bitbake-or-Makefile-tp21969146p21969146.html Sent from the Gumstix mailing list archive at Nabble.com. |
From: Dave H. <dhy...@gm...> - 2009-02-12 06:42:34
|
Hi Marcus, > | projectX.c:4:20: error: avr/io.h: No such file or directory > | In file included from projectX.c:7: > | Hardware.h:28:20: error: Config.h: No such file or directory > | Hardware.h:30:20: error: avr/io.h: No such file or directory Did you also install avr-libc? avr/io.h comes from avr-libc. The Config.h file is supposed to be in the directory of your project. You can copy one from one of the other sample projects and then edit it as appropriate. -- Dave Hylands Shuswap, BC, Canada http://www.DaveHylands.com/ |
From: marcus9384 <mar...@gm...> - 2009-02-13 02:08:56
|
Dave Hylands wrote: > > Hi Marcus, > >> | projectX.c:4:20: error: avr/io.h: No such file or directory >> | In file included from projectX.c:7: >> | Hardware.h:28:20: error: Config.h: No such file or directory >> | Hardware.h:30:20: error: avr/io.h: No such file or directory > > Did you also install avr-libc? avr/io.h comes from avr-libc. > > I yum installed avr-libc but even when i do a search of my filesystem > avr/io does not show up. > > [root@dhcp-511-382 local]# yum install avr-libc > Setting up Install Process > Parsing package install arguments > Package avr-libc-1.4.6-4.fc8.noarch already installed and latest version > Nothing to do > > > The Config.h file is supposed to be in the directory of your project. > You can copy one from one of the other sample projects and then edit > it as appropriate. > > Thank you I added the Config.h file > > -- > Dave Hylands > Shuswap, BC, Canada > http://www.DaveHylands.com/ > > ------------------------------------------------------------------------------ > Create and Deploy Rich Internet Apps outside the browser with > Adobe(R)AIR(TM) > software. With Adobe AIR, Ajax developers can use existing skills and code > to > build responsive, highly engaging applications that combine the power of > local > resources and data with the reach of the web. Download the Adobe AIR SDK > and > Ajax docs to start building applications > today-http://p.sf.net/sfu/adobe-com > _______________________________________________ > gumstix-users mailing list > gum...@li... > https://lists.sourceforge.net/lists/listinfo/gumstix-users > > -- View this message in context: http://www.nabble.com/Robostix-Gumstix-Bitbake-or-Makefile-tp21969146p21988633.html Sent from the Gumstix mailing list archive at Nabble.com. |
From: marcus9384 <mar...@gm...> - 2009-03-26 02:05:48
|
After trying to get everything working with bitbake I have given up and tried make... here is the error given by your makefile... ########################################################################### # # ProjectX Makefile # ########################################################################### TARGET = projectX COMMON_OBJS = Timer.o UART.o Hardware.o include ../Rules.mk [marcus9384@dhcp-511-382 projectX]$ make v=1 ../Rules.mk:191: warning: overriding commands for target `projectX' ../Rules.mk:14: warning: ignoring old commands for target `projectX' make: Circular projectX <- projectX dependency dropped. avr-gcc -mmcu=atmega128 -Wl,-Map,.map -o .o /usr/local/avr/bin/../lib/gcc/avr/4.2.2/../../../../avr/lib/avr5/crtm128.o: In function `__bad_interrupt': ../../../../crt1/gcrt1.S:193: undefined reference to `main' make: *** No rule to make target `projectX', needed by `all'. Stop. I then added .c to projectX (projectX.c) [marcus9384@dhcp-511-382 projectX]$ make v=1 ../Rules.mk:191: warning: overriding commands for target `projectX.c' ../Rules.mk:14: warning: ignoring old commands for target `projectX.c' projectX.c:1: *** missing separator. Stop. Any sugggestions? -- View this message in context: http://www.nabble.com/Robostix-Gumstix-Bitbake-or-Makefile-tp21969146p22714828.html Sent from the Gumstix mailing list archive at Nabble.com. |
From: marcus9384 <mar...@gm...> - 2009-02-26 19:39:58
|
marcus9384 wrote: > > > > Dave Hylands wrote: >> >>>Hi Marcus, >>>Did you also install avr-libc? avr/io.h comes from avr-libc. >> >> I yum installed avr-libc but even when i do a search of my filesystem >> avr/io does not show up. >> >> [root@dhcp-511-382 local]# yum install avr-libc >> Setting up Install Process >> Parsing package install arguments >> Package avr-libc-1.4.6-4.fc8.noarch already installed and latest version >> Nothing to do >> >> >>>The Config.h file is supposed to be in the directory of your project. >>>You can copy one from one of the other sample projects and then edit >>>it as appropriate. >> >> I added the Config.h file. >> >> > > Ive found the issue in my #include syntax. The problem is the backslash in the file avr/io.h, its causing my C file to search for a file called avr/io.h instead of the io.h file in the avr directory. in my ... What can I do to get around this? [marcus9384@dhcp-511-382 files]$ locate avr/io.h /home/marcus9384/avr/avr/include/avr/io.h /usr/avr/include/avr/io.h -- View this message in context: http://www.nabble.com/Robostix-Gumstix-Bitbake-or-Makefile-tp21969146p22231942.html Sent from the Gumstix mailing list archive at Nabble.com. |
From: Dave H. <dhy...@gm...> - 2009-02-26 22:44:17
|
Hi Marcus, > Ive found the issue in my #include syntax. The problem is the backslash in > the file avr/io.h, its causing my C file to search for a file called > avr/io.h instead of the io.h file in the avr directory. in my ... What can I > do to get around this? Perhaps you could send me the file in question and point out which line number you think that the problem is in. Which OS are you using? I wrote the following, and I'm not sure if it exactly addresses your problem or not. It would also be useful to see the You said back slash, which looks like this: \ while a forward slash looks like / I'm assuming that the following is your problem: So, all #includes, on all platforms (regardless of whether they're linux or Windows or whatever) should be using: #include <avr/io.h> and never of the form #include <avr\io.h> <rant> The first form is guaranteed to work, according to the C language spec. Also, contrary to popular belief, all versions of Windows, including MS-DOS actually support forward slashes as directory separators. Well, at least the O/S does. Some user applications, like command.com and cmd.exe choose to not allow them, and some other applications also parse for only \ and don't allow / </rant> Which file has the backslash in it? If it came that way, then it's probably a bug in the file, and it needs to be fixed. Actually, I went back and re-read your original post, and it appears that forward slashes are being used (and my comments above don't apply). If the code contains #include <avr/io.h> and your error message is: | projectX.c:4:20: error: avr/io.h: No such file or directory Then the problem is that the search directory to find the avr/io.h file is missing or incorrectly specified. Some versions of the toolchain require environment variables to be initialized to determine wherre to find the include files. In particular, the chromiteblue.com one has the following in their installation instructions: the single greatest number of “bug” reports we get are due to the user not setting the env variable AVR. on a linux system: export AVR=/usr/local/avr (or wherever you've installed it, $HOME/avr, /opt/avr, etc ) export AVRROOT=$AVR export AVRBIN=$AVRROOT/bin export AVRLIB=$AVRROOT/lib/avrlib export PATH=$AVR/bin:$PATH -- Dave Hylands Shuswap, BC, Canada http://www.DaveHylands.com/ |
From: marcus9384 <mar...@gm...> - 2009-02-27 18:00:19
|
Dave Hylands wrote: > > Hi Marcus, > >>Perhaps you could send me the file in question and point out which >>line number you think that the problem is in. Which OS are you using? > > I sent the bashrc file... and Im using FedoraCore8 > >>Which file has the backslash in it? If it came that way, then it's >>probably a bug in the file, and it needs to be fixed. > > Sorry I meant forwardslash > >>If the code contains >> >>#include <avr/io.h> >> >>and your error message is: >> >>| projectX.c:4:20: error: avr/io.h: No such file or directory >> >>Then the problem is that the search directory to find the avr/io.h >>file is missing or incorrectly specified. Some versions of the >>toolchain require environment variables to be initialized to determine >>wherre to find the include files. In particular, the chromiteblue.com >>one has the following in their installation instructions: > >>the single greatest number of “bug” reports we get are due to the user >>not setting the env variable AVR. on a linux system: > >>export AVR=/usr/local/avr (or wherever you've installed it, $HOME/avr, >>/opt/avr, etc ) > export AVR=/home/marcus9384/avr > >>export AVRROOT=$AVR >>export AVRBIN=$AVRROOT/bin >>export AVRLIB=$AVRROOT/lib/avrlib (avr-libc?) >>export PATH=$AVR/bin:$PATH > > added the enviroment variables but I know that the avrlib directory DNE > > But I do have > > avr-libc-1.6.2 in > /home/marcus9384/avr/share/doc > > avr-libc-1.0.3 in > /home/marcus9384/gumstix/gumstix-oe/org.openembedded.snapshot/packages/avr-libc/ > > and > > avr-libc-1.4.6 > /usr/share/doc > > -- View this message in context: http://www.nabble.com/Robostix-Gumstix-Bitbake-or-Makefile-tp21969146p22251062.html Sent from the Gumstix mailing list archive at Nabble.com. |
From: marcus9384 <mar...@gm...> - 2009-03-10 17:54:45
|
>Perhaps you could send me the file in question and point out which >line number you think that the problem is in. Which OS are you using? I sent the bashrc file... and Im using FedoraCore8 >Which file has the backslash in it? If it came that way, then it's >probably a bug in the file, and it needs to be fixed. Sorry I meant forwardslash >If the code contains > >#include <avr/io.h> > >and your error message is: > >| projectX.c:4:20: error: avr/io.h: No such file or directory > >Then the problem is that the search directory to find the avr/io.h >file is missing or incorrectly specified. Some versions of the >toolchain require environment variables to be initialized to determine >wherre to find the include files. In particular, the chromiteblue.com >one has the following in their installation instructions: >the single greatest number of “bug” reports we get are due to the user >not setting the env variable AVR. on a linux system: >export AVR=/usr/local/avr (or wherever you've installed it, $HOME/avr, >/opt/avr, etc ) export AVR=/home/marcus9384/avr >export AVRROOT=$AVR >export AVRBIN=$AVRROOT/bin >export AVRLIB=$AVRROOT/lib/avrlib (avr-libc?) >export PATH=$AVR/bin:$PATH added the enviroment variables but I know that the avrlib directory DNE But I do have avr-libc-1.6.2 in /home/marcus9384/avr/share/doc avr-libc-1.0.3 in /home/marcus9384/gumstix/gumstix-oe/org.openembedded.snapshot/packages/avr-libc/ and avr-libc-1.4.6 /usr/share/doc -- View this message in context: http://www.nabble.com/Robostix-Gumstix-Bitbake-or-Makefile-tp21969146p22439613.html Sent from the Gumstix mailing list archive at Nabble.com. |
From: marcus9384 <mar...@gm...> - 2009-03-29 16:29:34
|
Dave Hylands wrote: > > Hi Marcus, > > Can you send me your Rules.mk file? > > Thanks > > Dave Hylands > > > #################\########################################################## # # Rules.mk - Contains common makefile support for the Robostix sameples # ########################################################################### ifeq ($(AVR_MCU),) AVR_MCU = atmega128 endif all: $(TARGET) $(TARGET) : % : %.hex .PHONY: all $(TARGET) CROSS_COMPILE = avr- CC = $(CROSS_COMPILE)gcc OBJCOPY = $(CROSS_COMPILE)objcopy AVR_MCU_FLAGS = -mmcu=$(AVR_MCU) vpath %.c ../Common ../Shared vpath %.S ../Common ../Shared CFLAGS += -Os CPPFLAGS += $(AVR_MCU_FLAGS) -I . -I ../Common -I ../Shared LDFLAGS += $(AVR_MCU_FLAGS) -Wl,-Map,$(basename $@).map DEP_OUTPUT_OPTION = -MMD -MF $(@:.o=.d) ECHO = @echo RM = rm COMMON_DEPS = $(strip $(COMMON_OBJS:.o=.d)) DEP_FILES = $(TARGET).d $(COMMON_DEPS) #-------------------------------------------------------------------------- # # make 3.80 introduced a new variable, called MAKEFILE_LIST. The # last word in that variable will be the name of this makefile. We # use this to figure out the directory that Rules.mk is located in # and hence avr-mem.sh. # # For earlier versions of make, the use will need to put avr-mem.sh # somewhere in their PATH # ifneq ($(MAKEFILE_LIST),) RULES_MK_DIR := $(dir $(shell pwd)/$(word $(words $(MAKEFILE_LIST)),$(MAKEFILE_LIST))) export PATH := $(PATH):$(RULES_MK_DIR) endif #-------------------------------------------------------------------------- # # Run make with v=1 or verbose=1 to get verbose output # ifeq ($(v),) export verbose = 0 else export verbose = 1 endif ifeq ($(verbose),) export verbose = 0 endif ifeq ($(verbose),0) Q = @ MAKEFLAGS += -s else Q = endif export Q #-------------------------------------------------------------------------- # # CFLAGS = flags used for C compiler # CXXFLAGS = flags for the C++ compiler # CPPFLAGS = flags for the C preprocessor (-D, -I) # PREPROCESS.c = $(CC) $(CPPFLAGS) $(TARGET_ARCH) -E -Wp,-C,-dD,-dI #-------------------------------------------------------------------------- # # The FORCE target can be used for things that you want to have rebuild # every single time (like *.pp files) # FORCE: .PHONY: FORCE #-------------------------------------------------------------------------- # # Compile C source files # # COMPILE.c = $(CC) $(CFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -c # # Create a rule for when the dependency exists, and one for when it doesn't # .PRECIOUS: %.o %.o : %.c %.d $(ECHO) "Compiling $< ..." $(Q)$(COMPILE.c) $(DEP_OUTPUT_OPTION) $(OUTPUT_OPTION) $< %.o : %.c $(ECHO) "Compiling $< ..." $(Q)$(COMPILE.c) $(DEP_OUTPUT_OPTION) $(OUTPUT_OPTION) $< #-------------------------------------------------------------------------- # # Assemble gas assembly files. # # COMPILE.c = $(CC) $(CFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -c # %.o : %.S $(ECHO) "Assembling $< ..." $(Q)$(COMPILE.S) $(OUTPUT_OPTION) $< # Making the .d's be phony and providing a dummy rule to make them, combined # with the %.o : %.c %.d causes make to work properly when the .d file is # removed, but the .o file isn't. make will now regenerate the .d by # recompiling the .o .PHONY: %.d %.d: ; #-------------------------------------------------------------------------- # # Generate Preprocessed files from C source (useful for debugging) # %.pp : %.c FORCE $(ECHO) "Preprocessing $< ..." $(Q)$(PREPROCESS.c) $< > $@ #-------------------------------------------------------------------------- # # Generate C/asm listing %.cod : %.c FORCE $(ECHO) "Listing $< ..." $(Q)$(COMPILE.c) -gstabs -Wa,-ahdlms=$@ $< #-------------------------------------------------------------------------- # # Create a hex file from an elf file # %.hex : %.elf $(ECHO) "Creating $@ ..." $(Q)$(OBJCOPY) -j .text -j .data -O ihex $< $@ $(ECHO) #-------------------------------------------------------------------------- # # Create the EEPROM hex file from an elf file # %-eep.hex : %.elf $(ECHO) "Creating $@ ..." $(Q)$(OBJCOPY) -j .eeprom -O ihex $< $@ $(ECHO) #-------------------------------------------------------------------------- # # Create simple executables # .PRECIOUS: %.elf ifeq ($(MAIN_OBJS),) MAIN_OBJS = $(TARGET).o endif $(TARGET).elf : $(MAIN_OBJS) $(COMMON_OBJS) $(ECHO) "Linking $@ ..." $(Q)$(LINK.o) $^ $(LOADLIBES) $(LDLIBS) -o $@ $(ECHO) avr-mem.sh $@ $(AVR_MCU) $(ECHO) clean: clean-other clean-hex clean-other: $(ECHO) "Removing generated files ..." $(Q)$(RM) -f *.d *.o *.elf *.map clean-hex: $(ECHO) "Removing hex files ..." $(Q)$(RM) -f *.hex #-------------------------------------------------------------------------- # # Include dependencies. # # The '-' at the beginning tells make not to complain about missing # dependency files. # ifneq ($(DEP_FILES),) ifeq ($(strip $(filter clean% exec print-%, $(MAKECMDGOALS))),) -include $(DEP_FILES) endif endif Im using fedora core 8. -- View this message in context: http://www.nabble.com/Robostix-Gumstix-Bitbake-or-Makefile-tp21969146p22769487.html Sent from the Gumstix mailing list archive at Nabble.com. |
From: Dave H. <dhy...@gm...> - 2009-03-10 19:32:09
|
Hi Marcus, >>the single greatest number of “bug” reports we get are due to the user >>not setting the env variable AVR. on a linux system: > >>export AVR=/usr/local/avr (or wherever you've installed it, $HOME/avr, >>/opt/avr, etc ) > export AVR=/home/marcus9384/avr > >>export AVRROOT=$AVR >>export AVRBIN=$AVRROOT/bin >>export AVRLIB=$AVRROOT/lib/avrlib (avr-libc?) >>export PATH=$AVR/bin:$PATH Just to report a few things I tried: So I went to here: <http://chromiteblue.com/archive/category/projects/gnu-avr-toolchain/> and downloaded: <http://chromiteblue.com/Projects/AVR_Toolchain/dist/avr_toolchain-core-2008-04-15.tar.bz2> I untarred it into ~/dhylands (so it created an avr directory). I also set the following environment variables, but they didn't seem to be required (just the PATH portion): export AVR_ROOT=~/dhylands/avr export AVR_BIN=${AVRROOT}/bin export AVR_LIB=${AVRROOT}/avr/lib export PATH=${AVR_BIN}:${PATH} I was then able build AVR stuff using the avr-gcc and avr-libc that was installed. avr-gcc --version reports the following for the ChromiteBlue version I installed: avr-gcc (GCC) 4.2.2 (ChromiteBlue-20080415) Copyright (C) 2007 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. If you installed a different version of avr-gcc (prior to this I was using the one that came with ubuntu) you should get a different version string. Using ubuntu, I had to install avr-gcc and avrlibc seperately: sudo apt-get install gcc-avr sudo apt-get install avr-libc and after doing this I was also able to build robostix stuff. I would try the following to see if you can find your io.h file find / -name iom128.h That should be in a directory called avr, and there should be an io.h file in the same directory. -- Dave Hylands Shuswap, BC, Canada http://www.DaveHylands.com/ |
From: marcus9384 <mar...@gm...> - 2009-03-10 23:13:55
|
>avr-gcc --version >reports the following for the ChromiteBlue version I installed: >avr-gcc (GCC) 4.2.2 (ChromiteBlue-20080415) >Copyright (C) 2007 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. I have the exact same version from chromite blue. The first version i used (given from the robostix wiki) is also there but I uncommented its path. When I had initially changed the environment variables to give it a path before, I received an output similar to the one on the wiki. >If you installed a different version of avr-gcc (prior to this I was >using the one that came with ubuntu) you should get a different >version string. >Using ubuntu, I had to install avr-gcc and avrlibc seperately: >sudo apt-get install gcc-avr >sudo apt-get install avr-libc >and after doing this I was also able to build robostix stuff. >I would try the following to see if you can find your io.h file >find / -name iom128.h found in 3 different locations /usr/local/avr/avr/include/avr/iom128.h /usr/avr/include/avr/iom128.h /usr/avr/avr/include/avr/iom128.h Im assuming the /usr/local/avr/avr/include/avr/iom128.h file is the important one because it is in my environment variables >That should be in a directory called avr, and there should be an io.h >file in the same directory. the io.h file is located in the same directory. when I bitbake my project the i get the same issue Im finding it odd that my my main .c file cannot find avr/io.h but the Hardware.h file doesnt show any compilation errors. ERROR: log data follows (/home/marcus9384/gumstix/gumstix-oe/tmp/work/armv5te-angstrom-linux-gnueabi/projectX-1.0.0-r0/temp/log.do_compile.4303) | projectX.c:5:20: error: avr/io.h: No such file or directory | In file included from projectX.c:10: | Timer.h:168:5: error: #error Common/avr/Timer.h Processor not supported | projectX.c: In function 'main': | projectX.c:79: error: 'TIMER_SERVO_1_OCR' undeclared (first use in this function) | projectX.c:79: error: (Each undeclared identifier is reported only once | projectX.c:79: error: for each function it appears in.) NOTE: Task failed: /home/marcus9384/gumstix/gumstix-oe/tmp/work/armv5te-angstrom-linux-gnueabi/projectX-1.0.0-r0/temp/log.do_compile.4303 -- View this message in context: http://www.nabble.com/Robostix-Gumstix-Bitbake-or-Makefile-tp21969146p22445617.html Sent from the Gumstix mailing list archive at Nabble.com. |
From: marcus9384 <mar...@gm...> - 2009-03-29 17:57:11
|
Wow that worked!!! Thank you so much... Imma try to try it out on my robostix and see If my program is good enough to work... Now if I copy that Rules.mk and avr-mem.sh files and the Common and shared directories to original Robostix folder should everything work just the same? Thank you so much. Dave Hylands wrote: > > Hi Marcus, > >> > Can you send me your Rules.mk file? >> > > I couldn't find any problems with that either. > > So what I did was to put together a tarball, which you can find over here: > http://www.davehylands.com/gumstix-wiki/marcus.tar.gz > > It will create a directory called marcus with some other directories in > it. > > cd into marcus/projectX and type make and see if that works. > > -- > Dave Hylands > Shuswap, BC, Canada > http://www.DaveHylands.com/ > > ------------------------------------------------------------------------------ > _______________________________________________ > gumstix-users mailing list > gum...@li... > https://lists.sourceforge.net/lists/listinfo/gumstix-users > > -- View this message in context: http://www.nabble.com/Robostix-Gumstix-Bitbake-or-Makefile-tp21969146p22770488.html Sent from the Gumstix mailing list archive at Nabble.com. |
From: Dave H. <dhy...@gm...> - 2009-03-30 02:06:47
|
Hi Marcus, On Sun, Mar 29, 2009 at 10:57 AM, marcus9384 <mar...@gm...> wrote: > > Wow that worked!!! Thank you so much... Imma try to try it out on my robostix > and see If my program is good enough to work... Now if I copy that Rules.mk > and avr-mem.sh files and the Common and shared directories to original > Robostix folder should everything work just the same? I expect so. If it doesn't then I would guess that you have a file on disk thats the same name as one of the internal "phony" targets and that that's confusing the makefile (like a file or directory with the name projectX inside your projectX directory). If this is the case, then let me know, and I'll see what I can change in the Rules.mk file. -- Dave Hylands Shuswap, BC, Canada http://www.DaveHylands.com/ |
From: Dave H. <dhy...@gm...> - 2009-03-11 01:06:32
|
Hi Marcus, > ERROR: log data follows > (/home/marcus9384/gumstix/gumstix-oe/tmp/work/armv5te-angstrom-linux-gnueabi/projectX-1.0.0-r0/temp/log.do_compile.4303) > | projectX.c:5:20: error: avr/io.h: No such file or directory > | In file included from projectX.c:10: > | Timer.h:168:5: error: #error Common/avr/Timer.h Processor not supported This particular error is probably because the -mmcu=atmega128 is missing from the avr-gcc line when it was invoked. I'm still not familiar with OE, but there should be some way to get the commands which are actually executed to be printed out, so you can show us the full avr-gcc command (and also confirm that it's actually using avr-gcc and not gcc - because gcc wouldn't know where to find avr/io.h -- Dave Hylands Shuswap, BC, Canada http://www.DaveHylands.com/ |
From: Dave H. <dhy...@gm...> - 2009-03-26 03:30:42
|
Hi Marcus, > After trying to get everything working with bitbake I have given up and tried > make... here is the error given by your makefile... > > ########################################################################### > # > # ProjectX Makefile > # > ########################################################################### > > TARGET = projectX > > COMMON_OBJS = Timer.o UART.o Hardware.o > > include ../Rules.mk > > > [marcus9384@dhcp-511-382 projectX]$ make v=1 > ../Rules.mk:191: warning: overriding commands for target `projectX' > ../Rules.mk:14: warning: ignoring old commands for target `projectX' > make: Circular projectX <- projectX dependency dropped. > avr-gcc -mmcu=atmega128 -Wl,-Map,.map -o .o > /usr/local/avr/bin/../lib/gcc/avr/4.2.2/../../../../avr/lib/avr5/crtm128.o: > In function `__bad_interrupt': > ../../../../crt1/gcrt1.S:193: undefined reference to `main' > make: *** No rule to make target `projectX', needed by `all'. Stop. > > I then added .c to projectX (projectX.c) > > [marcus9384@dhcp-511-382 projectX]$ make v=1 > ../Rules.mk:191: warning: overriding commands for target `projectX.c' > ../Rules.mk:14: warning: ignoring old commands for target `projectX.c' > projectX.c:1: *** missing separator. Stop. > > > Any sugggestions? Hmmm. I'd recommend that you double check your Rules.mk. It sounds like it might have some changes or corruption. As a sanity check I did the following commands: cd robostix mkdir projectX cd projectX cp ../FlashLED/*.[ch] . mv Flash-LED.c projectX.c Edited projectX.c and put #if 0/#endif around the following lines: #if 0 for ( i = 0; i < 8; i++ ) { gADC[ i ] = a2d_8( i ); printf( "%02x ", gADC[ i ]); } printf( "C: %02x\n", PINC ); #endif make v=1 yields: Compiling projectX.c ... avr-gcc -Os -Wall -Werror -Wimplicit -Wpointer-arith -Wswitch -Wredundant-decls -Wreturn-type -Wshadow -Wunused -Wcast-qual -Wnested-externs -Wmissing-prototypes -Wstrict-prototypes -Wmissing-declarations -mmcu=atmega128 -I . -I ../Common -I ../Shared -c -MMD -MF projectX.d -o projectX.o projectX.c Compiling ../Common/Timer.c ... avr-gcc -Os -Wall -Werror -Wimplicit -Wpointer-arith -Wswitch -Wredundant-decls -Wreturn-type -Wshadow -Wunused -Wcast-qual -Wnested-externs -Wmissing-prototypes -Wstrict-prototypes -Wmissing-declarations -mmcu=atmega128 -I . -I ../Common -I ../Shared -c -MMD -MF Timer.d -o Timer.o ../Common/Timer.c Compiling ../Common/UART.c ... avr-gcc -Os -Wall -Werror -Wimplicit -Wpointer-arith -Wswitch -Wredundant-decls -Wreturn-type -Wshadow -Wunused -Wcast-qual -Wnested-externs -Wmissing-prototypes -Wstrict-prototypes -Wmissing-declarations -mmcu=atmega128 -I . -I ../Common -I ../Shared -c -MMD -MF UART.d -o UART.o ../Common/UART.c Compiling Hardware.c ... avr-gcc -Os -Wall -Werror -Wimplicit -Wpointer-arith -Wswitch -Wredundant-decls -Wreturn-type -Wshadow -Wunused -Wcast-qual -Wnested-externs -Wmissing-prototypes -Wstrict-prototypes -Wmissing-declarations -mmcu=atmega128 -I . -I ../Common -I ../Shared -c -MMD -MF Hardware.d -o Hardware.o Hardware.c Linking projectX.elf ... avr-gcc -mmcu=atmega128 -Wl,-Map,projectX.map projectX.o Timer.o UART.o Hardware.o -o projectX.elf avr-mem.sh projectX.elf atmega128 AVR Memory Usage: ----------------- Device: atmega128 Program: 4184 bytes (3.2% Full) (.text + .data + .bootloader) Data: 681 bytes (16.6% Full) (.data + .bss + .noinit) Creating projectX.hex ... avr-objcopy -j .text -j .data -O ihex projectX.elf projectX.hex -- Dave Hylands Shuswap, BC, Canada http://www.DaveHylands.com/ |
From: marcus9384 <mar...@gm...> - 2009-03-27 23:07:29
|
Dave Hylands wrote: > > Hi Marcus, > > Hmmm. I'd recommend that you double check your Rules.mk. It sounds > like it might have some changes or corruption. > > As a sanity check I did the following commands: > > cd robostix > mkdir projectX > cd projectX > cp ../FlashLED/*.[ch] . > mv Flash-LED.c projectX.c > > Edited projectX.c and put #if 0/#endif around the following lines: > > #if 0 > for ( i = 0; i < 8; i++ ) > { > gADC[ i ] = a2d_8( i ); > > printf( "%02x ", gADC[ i ]); > } > printf( "C: %02x\n", PINC ); > #endif > > make v=1 yields: > > ... > I redid the bitbake of the gumstix-basic-image rm -rf ~/gumstix/gumstix-oe/tmp gumstix -c rebuild gumstix-basic-image ... bitbake robostix in the hopes that Rules.mk would work for me. tried a sanity check... [marcus9384@dhcp-511-382 projectX]$ ls Config.h Hardware.c Makefile projectX.c [marcus9384@dhcp-511-382 projectX]$ cp ../Flash-LED/*.[ch] . [marcus9384@dhcp-511-382 projectX]$ mv Flash-LED.c projectX.c [marcus9384@dhcp-511-382 projectX]$ vi projectX.c [marcus9384@dhcp-511-382 projectX]$ make v=1 ../Rules.mk:191: warning: overriding commands for target `projectX' ../Rules.mk:14: warning: ignoring old commands for target `projectX' make: Circular projectX <- projectX dependency dropped. avr-gcc -mmcu=atmega128 -Wl,-Map,.map -o .o /usr/local/avr/bin/../lib/gcc/avr/4.2.0/../../../../avr/lib/avr5/crtm128.o: In function `__bad_interrupt': ../../../../crt1/gcrt1.S:124: undefined reference to `main' make: *** No rule to make target `projectX', needed by `all'. Stop. [marcus9384@dhcp-511-382 projectX]$ On a whim I tried adding MAIN_OBJS = projectX.c to the make file got this in return [marcus9384@dhcp-511-382 projectX]$ make v=1 ../Rules.mk:191: warning: overriding commands for target `projectX' ../Rules.mk:14: warning: ignoring old commands for target `projectX' Compiling projectX.c ... avr-gcc -Os -mmcu=atmega128 -I . -I ../Common -I ../Shared -c -MMD -MF projectX.d -o projectX.o projectX.c Compiling ../Common/Timer.c ... avr-gcc -Os -mmcu=atmega128 -I . -I ../Common -I ../Shared -c -MMD -MF Timer.d -o Timer.o ../Common/Timer.c Compiling ../Common/UART.c ... avr-gcc -Os -mmcu=atmega128 -I . -I ../Common -I ../Shared -c -MMD -MF UART.d -o UART.o ../Common/UART.c Compiling Hardware.c ... avr-gcc -Os -mmcu=atmega128 -I . -I ../Common -I ../Shared -c -MMD -MF Hardware.d -o Hardware.o Hardware.c make: *** No rule to make target `projectX', needed by `all'. Stop. and got this [marcus9384@dhcp-511-382 projectX]$ avr-nm projectX.o U __do_clear_bss U __do_copy_data U fdevopen U fgetc U fputs 00000008 C gADC U gUart0RxBuf U InitHardware U __iob 00000000 T main U printf U puts 0000003e a __SP_H__ 0000003d a __SP_L__ 0000003f a __SREG__ U __stack 00000000 a __tmp_reg__ U UART0_GetCharStdio U UART0_PutCharStdio U UART1_PutCharStdio U WaitForTimer0Rollover 00000001 a __zero_reg__ Am I on the right track or no where near? In I read that mr. fokum got rid of the error by: "I resolved my error. I found out that I had forgotten to include .o in my target line." http://www.nabble.com/Re%3A-Error-In-function-%60__bad_interrupt%27-when-compiling-program---RESOLVED-td11105000.html#a11105000 But Idk... -- View this message in context: http://www.nabble.com/Robostix-Gumstix-Bitbake-or-Makefile-tp21969146p22751559.html Sent from the Gumstix mailing list archive at Nabble.com. |
From: Dave H. <dhy...@gm...> - 2009-03-28 02:20:51
|
Hi Marcus, Can you send me your Rules.mk file? Thanks Dave Hylands On Fri, Mar 27, 2009 at 4:07 PM, marcus9384 <mar...@gm...> wrote: > > > > Dave Hylands wrote: >> >> Hi Marcus, >> >> Hmmm. I'd recommend that you double check your Rules.mk. It sounds >> like it might have some changes or corruption. >> >> As a sanity check I did the following commands: >> >> cd robostix >> mkdir projectX >> cd projectX >> cp ../FlashLED/*.[ch] . >> mv Flash-LED.c projectX.c >> >> Edited projectX.c and put #if 0/#endif around the following lines: >> >> #if 0 >> for ( i = 0; i < 8; i++ ) >> { >> gADC[ i ] = a2d_8( i ); >> >> printf( "%02x ", gADC[ i ]); >> } >> printf( "C: %02x\n", PINC ); >> #endif >> >> make v=1 yields: >> >> ... >> > I redid the bitbake of the gumstix-basic-image > > rm -rf ~/gumstix/gumstix-oe/tmp > gumstix -c rebuild gumstix-basic-image > ... > bitbake robostix > > in the hopes that Rules.mk would work for me. > > tried a sanity check... > > [marcus9384@dhcp-511-382 projectX]$ ls > Config.h Hardware.c Makefile projectX.c > [marcus9384@dhcp-511-382 projectX]$ cp ../Flash-LED/*.[ch] . > [marcus9384@dhcp-511-382 projectX]$ mv Flash-LED.c projectX.c > [marcus9384@dhcp-511-382 projectX]$ vi projectX.c > [marcus9384@dhcp-511-382 projectX]$ make v=1 > ../Rules.mk:191: warning: overriding commands for target `projectX' > ../Rules.mk:14: warning: ignoring old commands for target `projectX' > make: Circular projectX <- projectX dependency dropped. > avr-gcc -mmcu=atmega128 -Wl,-Map,.map -o .o > /usr/local/avr/bin/../lib/gcc/avr/4.2.0/../../../../avr/lib/avr5/crtm128.o: > In function `__bad_interrupt': > ../../../../crt1/gcrt1.S:124: undefined reference to `main' > make: *** No rule to make target `projectX', needed by `all'. Stop. > [marcus9384@dhcp-511-382 projectX]$ > > On a whim I tried adding MAIN_OBJS = projectX.c to the make file > > got this in return > > [marcus9384@dhcp-511-382 projectX]$ make v=1 > ../Rules.mk:191: warning: overriding commands for target `projectX' > ../Rules.mk:14: warning: ignoring old commands for target `projectX' > Compiling projectX.c ... > avr-gcc -Os -mmcu=atmega128 -I . -I ../Common -I ../Shared -c -MMD -MF > projectX.d -o projectX.o projectX.c > Compiling ../Common/Timer.c ... > avr-gcc -Os -mmcu=atmega128 -I . -I ../Common -I ../Shared -c -MMD -MF > Timer.d -o Timer.o ../Common/Timer.c > Compiling ../Common/UART.c ... > avr-gcc -Os -mmcu=atmega128 -I . -I ../Common -I ../Shared -c -MMD -MF > UART.d -o UART.o ../Common/UART.c > Compiling Hardware.c ... > avr-gcc -Os -mmcu=atmega128 -I . -I ../Common -I ../Shared -c -MMD -MF > Hardware.d -o Hardware.o Hardware.c > make: *** No rule to make target `projectX', needed by `all'. Stop. > > and got this > > [marcus9384@dhcp-511-382 projectX]$ avr-nm projectX.o > U __do_clear_bss > U __do_copy_data > U fdevopen > U fgetc > U fputs > 00000008 C gADC > U gUart0RxBuf > U InitHardware > U __iob > 00000000 T main > U printf > U puts > 0000003e a __SP_H__ > 0000003d a __SP_L__ > 0000003f a __SREG__ > U __stack > 00000000 a __tmp_reg__ > U UART0_GetCharStdio > U UART0_PutCharStdio > U UART1_PutCharStdio > U WaitForTimer0Rollover > 00000001 a __zero_reg__ > > Am I on the right track or no where near? > > In > > I read that mr. fokum got rid of the error by: > "I resolved my error. I found out that I had forgotten to include .o in my > target line." > > http://www.nabble.com/Re%3A-Error-In-function-%60__bad_interrupt%27-when-compiling-program---RESOLVED-td11105000.html#a11105000 > > But Idk... > -- > View this message in context: http://www.nabble.com/Robostix-Gumstix-Bitbake-or-Makefile-tp21969146p22751559.html > Sent from the Gumstix mailing list archive at Nabble.com. > > > ------------------------------------------------------------------------------ > _______________________________________________ > gumstix-users mailing list > gum...@li... > https://lists.sourceforge.net/lists/listinfo/gumstix-users > -- Dave Hylands Shuswap, BC, Canada http://www.DaveHylands.com/ |
From: marcus9384 <mar...@gm...> - 2009-03-29 17:36:14
|
/usr/avr/bin/../lib/gcc/avr/4.2.2/../../../../avr/lib/avr5/crtm128.o: In function `__bad_interrupt': this is part of the makefile issue, I have no idea what this means but im trying to figure it out. Does this help? [marcus9384@dhcp-511-382 projectX]$ avr-nm /usr/avr/avr/lib/avr5/crtm128.o 00000000 T __bad_interrupt U __data_end U __data_load_start U __data_start 00000000 T __do_copy_data 00000000 W __heap_end 00000000 W __init 000010ff W __stack 00000000 W __vector_1 00000000 W __vector_10 00000000 W __vector_11 00000000 W __vector_12 00000000 W __vector_13 00000000 W __vector_14 00000000 W __vector_15 00000000 W __vector_16 00000000 W __vector_17 00000000 W __vector_18 00000000 W __vector_19 00000000 W __vector_2 00000000 W __vector_20 00000000 W __vector_21 00000000 W __vector_22 00000000 W __vector_23 00000000 W __vector_24 00000000 W __vector_25 00000000 W __vector_26 00000000 W __vector_27 00000000 W __vector_28 00000000 W __vector_29 00000000 W __vector_3 00000000 W __vector_30 00000000 W __vector_31 00000000 W __vector_32 00000000 W __vector_33 00000000 W __vector_34 00000000 W __vector_4 00000000 W __vector_5 00000000 W __vector_6 00000000 W __vector_7 00000000 W __vector_8 00000000 W __vector_9 00000000 W __vector_default 00000000 T __vectors U exit U main -- View this message in context: http://www.nabble.com/Robostix-Gumstix-Bitbake-or-Makefile-tp21969146p22770266.html Sent from the Gumstix mailing list archive at Nabble.com. |
From: Dave H. <dhy...@gm...> - 2009-03-29 17:31:12
|
Hi Marcus, > > Can you send me your Rules.mk file? > I couldn't find any problems with that either. So what I did was to put together a tarball, which you can find over here: http://www.davehylands.com/gumstix-wiki/marcus.tar.gz It will create a directory called marcus with some other directories in it. cd into marcus/projectX and type make and see if that works. -- Dave Hylands Shuswap, BC, Canada http://www.DaveHylands.com/ |
From: marcus9384 <mar...@gm...> - 2009-03-29 17:58:26
|
Oh... Nevermind... Thank you. Dave Hylands wrote: > > Hi Marcus, > >> > Can you send me your Rules.mk file? >> > > I couldn't find any problems with that either. > > So what I did was to put together a tarball, which you can find over here: > http://www.davehylands.com/gumstix-wiki/marcus.tar.gz > > It will create a directory called marcus with some other directories in > it. > > cd into marcus/projectX and type make and see if that works. > > -- > Dave Hylands > Shuswap, BC, Canada > http://www.DaveHylands.com/ > > ------------------------------------------------------------------------------ > _______________________________________________ > gumstix-users mailing list > gum...@li... > https://lists.sourceforge.net/lists/listinfo/gumstix-users > > -- View this message in context: http://www.nabble.com/Robostix-Gumstix-Bitbake-or-Makefile-tp21969146p22770508.html Sent from the Gumstix mailing list archive at Nabble.com. |