Q. How can I decide if I want to compile my own firmware?
- People who got GenBoard/VerThree from WebShop implicitely have GenBoard/Manual/License/WBSensor so usually use the WBO2 enabled precompiled firmware release from GenBoard/UnderDevelopment/FirmwareChanges that gets testing (developers use it too, on their vehicles). Remember, in any case, WhatEverYouDoYouDoItAtYourOwnRisk.
- v2.2 users are more experienced (because at that time everyone compiled his own firmware) and build their firmware themselves. Anyone is encouraged to release compiled firmware for whatever board/LCD/... versions, after sufficient testing.
- some use the firmware for special applications, they usually compile themselves
Q. I have Windows and I want to build the VEMS firmware. What do I need?
- Visit http://sourceforge.net/projects/winavr Download version 20040720 WINAVR package (13MB).
Q. I get "cannot find the file specified" or similar error.
- Verify that avr-gcc is in your PATH (countrary to rumours, it works from cmd not just sh, if the necessary programs are in the PATH).
Q. I get some "library" related problems
- Verify that you don't have unrelated entries in the LIB variable. unset LIB (in sh) or set LIB="" (in cmd) usually works.
Q. I am still having problems getting the Gcc Compiler to work correctly. Who will help me?
- visit [AVRfreaks AVR GCC forum] Use the search function in the left column. Ask a question on the forum if searching the archives gets you nowhere.
Q. I have linux. Is there anything for me?
A. Some linux rpm packages are here:
I successfully used them on debian using alien --to-deb conversion.
The above link for linux rpm's is obsolete. I searched on the AVR freaks site and came up with this software under tools, but I'm not sure which we would recommend to use.
There was an annoying optimization bug (combine bug) fixed on 2003.jul.11.
in mainstream experimental gcc (not only avr).
If your package contains an older gcc, you must use gcc -O0 for several
files (button.c and lcd.c comes to mind) or get a newer version.
Please copy the testprogram (that tests wether a gcc has the bug) here:
I think I've run into it (again?). I used this gcc version:
avr-gcc -v Reading specs from /usr/lib/gcc-lib/avr/3.3/specs Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --enable-languages=c,c++ --disable-nls --target=avr i386-redhat-linux Thread model: single gcc version 3.3 20030512 (prerelease)
There was a serious compilation error likely in table_lookup().
corr.ve_hp was all around the place, so was pulsewidth. The car behaved badly (it's a miracle that it ran at all!) MegaTune showed the incorrect VE as well.
Another compiler that failed with table_lookup():
Reading specs from /usr/lib/gcc/avr/3.4.3/specs Configured with: ./configure -v --enable-languages=c,c++ --prefix=/usr --infodir=/usr/share/info --mandir=/usr/share/man --enable-shared --with-system-zlib --enable-long-long --enable-nls --without-included-gettext --disable-checking --build=i386-linux --host=i386-linux --target=avr Thread model: single gcc version 3.4.3
Also bad calculated ve (often jumped to 0). Since this was triggered when we were fiddling with new timing code, so we suspected our code, but it was the compiler.