[tuxdroid-svn] r457 - in firmware: fuxrf/trunk fuxrf/trunk/default tuxrf/trunk tuxrf/trunk/default
Status: Beta
Brought to you by:
ks156
From: jaguarondi <c2m...@c2...> - 2007-06-27 14:12:06
|
Author: jaguarondi Date: 2007-06-27 16:11:25 +0200 (Wed, 27 Jun 2007) New Revision: 457 Modified: firmware/fuxrf/trunk/bootloader.c firmware/fuxrf/trunk/bootloader.h firmware/fuxrf/trunk/default/Makefile firmware/fuxrf/trunk/defines.h firmware/fuxrf/trunk/device.aps firmware/fuxrf/trunk/device.c firmware/fuxrf/trunk/init.c firmware/fuxrf/trunk/misc.c firmware/fuxrf/trunk/prot.c firmware/fuxrf/trunk/spi.c firmware/fuxrf/trunk/varis.c firmware/fuxrf/trunk/varis.h firmware/tuxrf/trunk/bootloader.c firmware/tuxrf/trunk/bootloader.h firmware/tuxrf/trunk/default/Makefile firmware/tuxrf/trunk/defines.h firmware/tuxrf/trunk/device.aps firmware/tuxrf/trunk/device.c firmware/tuxrf/trunk/init.c firmware/tuxrf/trunk/misc.c firmware/tuxrf/trunk/prot.c firmware/tuxrf/trunk/sleep.c firmware/tuxrf/trunk/spi.c firmware/tuxrf/trunk/varis.c firmware/tuxrf/trunk/varis.h Log: * Fixed minor stuff on the RF firmware so that they now compile under AVRStudio. Note that they only work with the 2006 version of Winavr and gcc-3.4.6 as gcc-4.1.1 o gcc-4.1.2 produces bigger code and that doesn't fit anymore in the ATMega48. Modified: firmware/fuxrf/trunk/bootloader.c =================================================================== --- firmware/fuxrf/trunk/bootloader.c 2007-06-26 14:12:36 UTC (rev 456) +++ firmware/fuxrf/trunk/bootloader.c 2007-06-27 14:11:25 UTC (rev 457) @@ -39,8 +39,8 @@ i2cWaitForComplete(); /* wait the low byte of the page address */ if ((twStatus = TW_STATUS) != TW_SR_DATA_ACK) while(1); pageAddress.b[0] = TWDR; - if (pageAddress.w & 0x003F) while(1); /* incorrect page address */$ - if (pageAddress.w >= 0x0F00) while(1); /* don't overwrite the bootloader */$ + if (pageAddress.w & 0x003F) while(1); /* incorrect page address */ + if (pageAddress.w >= 0x0F00) while(1); /* don't overwrite the bootloader */ address = pageAddress.w; TWCR = _BV(TWEA) | _BV(TWEN) | _BV(TWINT); for (i=0; i<SPM_PAGESIZE; i++) /* fill the complete page with the next data */ Modified: firmware/fuxrf/trunk/bootloader.h =================================================================== --- firmware/fuxrf/trunk/bootloader.h 2007-06-26 14:12:36 UTC (rev 456) +++ firmware/fuxrf/trunk/bootloader.h 2007-06-27 14:11:25 UTC (rev 457) @@ -4,7 +4,7 @@ * Bootloader source code * created on 2006/11/25 David Bourgeois * ------------------------------------------------------------------- - * $Id$ + * $Id: bootloader.h 456 2007-06-26 14:12:36Z jaguarondi */ #ifndef _BOOTLOADER_H_ @@ -16,10 +16,10 @@ \brief Minimal I2C bootloader \author David Bourgeois \date 2006 -$ + The footprint is less than 0xFF bytes so it should be possible to place the bootlaoder at 0x0F00 in your application -$ + Use the following linker option: \code -Wl,--section-start=.bootloader=0x0F00 Modified: firmware/fuxrf/trunk/default/Makefile =================================================================== --- firmware/fuxrf/trunk/default/Makefile 2007-06-26 14:12:36 UTC (rev 456) +++ firmware/fuxrf/trunk/default/Makefile 2007-06-27 14:11:25 UTC (rev 457) @@ -13,11 +13,12 @@ ## Compile options common for all C compilation units. CFLAGS = $(COMMON) -CFLAGS += -Wall -gdwarf-2 -DF_CPU=13824000UL -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums +CFLAGS += -Wall -gdwarf-2 -DF_CPU=13824000UL -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums CFLAGS += -MD -MP -MT $(*F).o -MF dep/$(@F).d ## Assembly specific flags ASMFLAGS = $(COMMON) +ASMFLAGS += $(CFLAGS) ASMFLAGS += -x assembler-with-cpp -Wa,-gdwarf2 ## Linker flags @@ -36,7 +37,7 @@ HEX_EEPROM_FLAGS = -j .eeprom HEX_EEPROM_FLAGS += --set-section-flags=.eeprom="alloc,load" -HEX_EEPROM_FLAGS += --change-section-lma .eeprom=0 +HEX_EEPROM_FLAGS += --change-section-lma .eeprom=0 --no-change-warnings ## Objects that must be built in order to link @@ -81,7 +82,7 @@ avr-objcopy -O ihex $(HEX_FLASH_FLAGS) $< $@ %.eep: $(TARGET) - avr-objcopy $(HEX_EEPROM_FLAGS) -O ihex $< $@ + -avr-objcopy $(HEX_EEPROM_FLAGS) -O ihex $< $@ || exit 0 %.lss: $(TARGET) avr-objdump -h -S $< > $@ Modified: firmware/fuxrf/trunk/defines.h =================================================================== --- firmware/fuxrf/trunk/defines.h 2007-06-26 14:12:36 UTC (rev 456) +++ firmware/fuxrf/trunk/defines.h 2007-06-27 14:11:25 UTC (rev 457) @@ -8,10 +8,10 @@ #include <avr/pgmspace.h> #include <avr/eeprom.h> -// Define the used HOPPING SCHEME$ -#define HOPPING // No hopping, use signel channel TRX_CHANNEL. If no define use frequency hopping$ +// Define the used HOPPING SCHEME +#define HOPPING // No hopping, use signel channel TRX_CHANNEL. If no define use frequency hopping #define TRX_CHANNEL 90 -#define FHA // Use frequency hopping adaptativ$ +#define FHA // Use frequency hopping adaptativ #define WIFI @@ -23,9 +23,9 @@ //------->rf_status-Defines<-------// #define WAIT_HOPPING 0x02 -#define RXING 0x04$ +#define RXING 0x04 #define TXING 0x08 -#define LOGGED 0x10$ +#define LOGGED 0x10 #define FHA_EFFECTIVE 0x20 #define MASTER 0x40 #define SLAVE 0x80 @@ -97,7 +97,7 @@ // T_SLOT == 1ms ==> every 1000us 48 Bytes of payload are exchanged #define POLL_LOOPS 1 #define T_1ms 1728 // Exact -> 1000us - #define T_PWR_UP_TX 69 // 69 == 40us (39.93)$ + #define T_PWR_UP_TX 69 // 69 == 40us (39.93) #define T_LOOP_TX 341 // 341 == 197us (197.34) #define T_START_TX 59 // 59 == 34us (34.14) #define T_TX2RX 1259 // 1259 == 728us (728.59) @@ -106,7 +106,7 @@ #define T_RX_ON 260 // 260 == 150us (150.46) #define T_MAX_PAC_RX 1088 // 1088 == 630us (629.62) #define T_RX2TX 172 // 172 == 100us (99.54) - // ==> 48KB/second (384.000bps)$ + // ==> 48KB/second (384.000bps) //----->RF-Timing-Defines<-----// #endif Modified: firmware/fuxrf/trunk/device.aps =================================================================== --- firmware/fuxrf/trunk/device.aps 2007-06-26 14:12:36 UTC (rev 456) +++ firmware/fuxrf/trunk/device.aps 2007-06-27 14:11:25 UTC (rev 457) @@ -1 +1 @@ -<AVRStudio><MANAGEMENT><ProjectName>device</ProjectName><Created>10-Nov-2005 15:17:29</Created><LastEdit>12-Jun-2007 15:02:37</LastEdit><ICON>241</ICON><ProjectType>0</ProjectType><Created>10-Nov-2005 15:17:29</Created><Version>4</Version><Build>4, 12, 0, 454</Build><ProjectTypeName>AVR GCC</ProjectTypeName></MANAGEMENT><CODE_CREATION><ObjectFile>default\device.elf</ObjectFile><EntryFile></EntryFile><SaveFolder>C:\Documents and Settings\Pascal\Desktop\RF_test\Master\Trunk\</SaveFolder></CODE_CREATION><DEBUG_TARGET><CURRENT_TARGET>JTAGICE mkII</CURRENT_TARGET><CURRENT_PART>ATmega168</CURRENT_PART><BREAKPOINTS></BREAKPOINTS><IO_EXPAND><Item>51</Item><Item>580</Item><Item>103</Item><Item>17</Item><HIDE>false</HIDE></IO_EXPAND><REGISTERNAMES><Register>R00</Register><Register>R01</Register><Register>R02</Register><Register>R03</Register><Register>R04</Register><Register>R05</Register><Register>R06</Register><Register>R07</Register><Register>R08</Register><Register>R09</Register><Register>R10</Register><Register>R11</Register><Register>R12</Register><Register>R13</Register><Register>R14</Register><Register>R15</Register><Register>R16</Register><Register>R17</Register><Register>R18</Register><Register>R19</Register><Register>R20</Register><Register>R21</Register><Register>R22</Register><Register>R23</Register><Register>R24</Register><Register>R25</Register><Register>R26</Register><Register>R27</Register><Register>R28</Register><Register>R29</Register><Register>R30</Register><Register>R31</Register></REGISTERNAMES><COM>Auto</COM><COMType>0</COMType><WATCHNUM>1</WATCHNUM><WATCHNAMES><Pane0><Variables>ts</Variables><Variables>i</Variables><Variables>rf_rx_state</Variables><Variables>checksum</Variables><Variables>protocol_flags</Variables><Variables>rf_buffer_tx</Variables><Variables>channel</Variables><Variables>FHAState</Variables><Variables>frequencyTable</Variables><Variables>commandStatus</Variables></Pane0><Pane1><Variables>ACKmode</Variables><Variables>sof_ary</Variables><Variables>toy_id_h</Variables><Variables>toy_id_l</Variables><Variables>prf_buffer_tx</Variables><Variables>rf_tx_counter</Variables><Variables>tx_pac_len</Variables><Variables>rf_buffer_rx1</Variables><Variables>rf_buffer_rx2</Variables><Variables>pspi_buffer_rx</Variables><Variables>rf_buffer_tx2</Variables><Variables>rf_buffer_tx1</Variables><Variables>pspi_buffer_tx</Variables><Variables>rf_header</Variables><Variables>rf_status</Variables><Variables>watchdog</Variables><Variables>gfilter</Variables><Variables>replaceFrequency</Variables><Variables>frequencyTable</Variables><Variables>commandBuffer</Variables><Variables>spiConfigFrame</Variables></Pane1><Pane2></Pane2><Pane3></Pane3></WATCHNAMES><BreakOnTrcaeFull>0</BreakOnTrcaeFull></DEBUG_TARGET><Debugger><modules><module><map private="C:\Documents and Settings\Pascal\Desktop\TUX\Dongle\RF\Branches\RF_test\Branches\" public=""/><map private="C:\Documents and Settings\Pascal\Desktop\TUX\Dongle\RF\New_timing\" public=""/></module></modules><Triggers></Triggers></Debugger><AVRGCCPLUGIN><FILES><SOURCEFILE>device.c</SOURCEFILE><SOURCEFILE>init.c</SOURCEFILE><SOURCEFILE>misc.c</SOURCEFILE><SOURCEFILE>prot.c</SOURCEFILE><SOURCEFILE>rf_ctrl.c</SOURCEFILE><SOURCEFILE>varis.c</SOURCEFILE><SOURCEFILE>spi.c</SOURCEFILE><HEADERFILE>varis.h</HEADERFILE><HEADERFILE>init.h</HEADERFILE><HEADERFILE>misc.h</HEADERFILE><HEADERFILE>prot.h</HEADERFILE><HEADERFILE>rf_ctrl.h</HEADERFILE><HEADERFILE>defines.h</HEADERFILE><HEADERFILE>bootloader.h</HEADERFILE><HEADERFILE>spi.h</HEADERFILE><OTHERFILE>default\device.lss</OTHERFILE><OTHERFILE>default\device.map</OTHERFILE></FILES><CONFIGS><CONFIG><NAME>default</NAME><USESEXTERNALMAKEFILE>NO</USESEXTERNALMAKEFILE><EXTERNALMAKEFILE></EXTERNALMAKEFILE><PART>atmega168</PART><HEX>1</HEX><LIST>1</LIST><MAP>1</MAP><OUTPUTFILENAME>device.elf</OUTPUTFILENAME><OUTPUTDIR>default\</OUTPUTDIR><ISDIRTY>1</ISDIRTY><OPTIONS><OPTION><FILE>bootloader.c</FILE><OPTIONLIST></OPTIONLIST></OPTION><OPTION><FILE>device.c</FILE><OPTIONLIST></OPTIONLIST></OPTION><OPTION><FILE>init.c</FILE><OPTIONLIST></OPTIONLIST></OPTION><OPTION><FILE>misc.c</FILE><OPTIONLIST></OPTIONLIST></OPTION><OPTION><FILE>prot.c</FILE><OPTIONLIST></OPTIONLIST></OPTION><OPTION><FILE>rf_ctrl.c</FILE><OPTIONLIST></OPTIONLIST></OPTION><OPTION><FILE>varis.c</FILE><OPTIONLIST></OPTIONLIST></OPTION></OPTIONS><INCDIRS/><LIBDIRS/><LIBS/><LINKOBJECTS/><OPTIONSFORALL>-Wall -gdwarf-2 -DF_CPU=13824000UL -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums</OPTIONSFORALL><LINKEROPTIONS>-Wl,--section-start=.bootloader=0x0F00</LINKEROPTIONS><SEGMENTS><SEGMENT><NAME>.buffer_tx1</NAME><SEGMENT>SRAM</SEGMENT><ADDRESS>0x100</ADDRESS></SEGMENT><SEGMENT><NAME>.buffer_rx1</NAME><SEGMENT>SRAM</SEGMENT><ADDRESS>0x140</ADDRESS></SEGMENT><SEGMENT><NAME>.sof</NAME><SEGMENT>SRAM</SEGMENT><ADDRESS>0x1e6</ADDRESS></SEGMENT><SEGMENT><NAME>.globals</NAME><SEGMENT>SRAM</SEGMENT><ADDRESS>0x1ea</ADDRESS></SEGMENT><SEGMENT><NAME>.buffer_tx2</NAME><SEGMENT>SRAM</SEGMENT><ADDRESS>0x173</ADDRESS></SEGMENT><SEGMENT><NAME>.buffer_rx2</NAME><SEGMENT>SRAM</SEGMENT><ADDRESS>0x1b3</ADDRESS></SEGMENT></SEGMENTS></CONFIG></CONFIGS><LASTCONFIG>default</LASTCONFIG><USES_WINAVR>1</USES_WINAVR><GCC_LOC>C:\_WinAVR\bin\avr-gcc.exe</GCC_LOC><MAKE_LOC>C:\_WinAVR\utils\bin\make.exe</MAKE_LOC></AVRGCCPLUGIN><Files><File00000><FileId>00000</FileId><FileName>device.c</FileName><Status>259</Status></File00000><File00001><FileId>00001</FileId><FileName>varis.c</FileName><Status>257</Status></File00001><File00002><FileId>00002</FileId><FileName>prot.c</FileName><Status>259</Status></File00002><File00003><FileId>00003</FileId><FileName>rf_ctrl.c</FileName><Status>259</Status></File00003><File00004><FileId>00004</FileId><FileName>init.c</FileName><Status>259</Status></File00004><File00005><FileId>00005</FileId><FileName>prot.h</FileName><Status>1</Status></File00005><File00006><FileId>00006</FileId><FileName>defines.h</FileName><Status>1</Status></File00006><File00007><FileId>00007</FileId><FileName>misc.c</FileName><Status>259</Status></File00007><File00008><FileId>00008</FileId><FileName>varis.h</FileName><Status>257</Status></File00008><File00009><FileId>00009</FileId><FileName>init.h</FileName><Status>1</Status></File00009><File00010><FileId>00010</FileId><FileName>bootloader.c</FileName><Status>2</Status></File00010><File00011><FileId>00011</FileId><FileName>bootloader.h</FileName><Status>1</Status></File00011><File00012><FileId>00012</FileId><FileName>rf_ctrl.h</FileName><Status>1</Status></File00012><File00013><FileId>00013</FileId><FileName>misc.h</FileName><Status>1</Status></File00013><File00014><FileId>00014</FileId><FileName>spi.h</FileName><Status>1</Status></File00014><File00015><FileId>00015</FileId><FileName>C:\_WinAVR\avr\include\stdint.h</FileName><Status>259</Status></File00015><File00016><FileId>00016</FileId><FileName>spi.c</FileName><Status>259</Status></File00016></Files><Workspace><File00000><Position>335 72 1401 572</Position><LineCol>37 0</LineCol><State>Maximized</State></File00000><File00001><Position>1936 62 3034 649</Position><LineCol>0 0</LineCol></File00001><File00002><Position>5580 38 6678 625</Position><LineCol>0 0</LineCol></File00002><File00003><Position>10095 8 11193 595</Position><LineCol>0 0</LineCol></File00003><File00004><Position>11707 12 12805 651</Position><LineCol>0 0</LineCol></File00004><File00005><Position>17228 83 17691 520</Position><LineCol>0 0</LineCol></File00005><File00006><Position>4376 46 5474 633</Position><LineCol>0 0</LineCol></File00006><File00007><Position>17140 158 18114 563</Position><LineCol>0 0</LineCol></File00007><File00008><Position>14611 2 15589 563</Position><LineCol>0 0</LineCol></File00008><File00009><Position>16998 48 17931 366</Position><LineCol>0 0</LineCol></File00009><File00011><Position>16136 41 16947 360</Position><LineCol>0 0</LineCol></File00011><File00012><Position>16230 167 17188 546</Position><LineCol>0 0</LineCol></File00012><File00013><Position>16252 196 17210 601</Position><LineCol>0 0</LineCol></File00013><File00014><Position>9629 216 10587 647</Position><LineCol>0 0</LineCol></File00014><File00015><Position>9497 42 10455 473</Position><LineCol>0 0</LineCol></File00015><File00016><Position>2871 56 3969 643</Position><LineCol>0 0</LineCol></File00016></Workspace><Events><Bookmarks></Bookmarks></Events><Trace><Filters></Filters></Trace></AVRStudio> +<AVRStudio><MANAGEMENT><ProjectName>device</ProjectName><Created>10-Nov-2005 15:17:29</Created><LastEdit>27-Jun-2007 13:48:50</LastEdit><ICON>241</ICON><ProjectType>0</ProjectType><Created>10-Nov-2005 15:17:29</Created><Version>4</Version><Build>4, 12, 0, 454</Build><ProjectTypeName>AVR GCC</ProjectTypeName></MANAGEMENT><CODE_CREATION><ObjectFile>default\device.elf</ObjectFile><EntryFile></EntryFile><SaveFolder>C:\Documents and Settings\david\My Documents\tux\firmware\fuxrf\trunk\</SaveFolder></CODE_CREATION><DEBUG_TARGET><CURRENT_TARGET>JTAGICE mkII</CURRENT_TARGET><CURRENT_PART>ATmega168</CURRENT_PART><BREAKPOINTS></BREAKPOINTS><IO_EXPAND><Item>51</Item><Item>580</Item><Item>103</Item><Item>17</Item><HIDE>false</HIDE></IO_EXPAND><REGISTERNAMES><Register>R00</Register><Register>R01</Register><Register>R02</Register><Register>R03</Register><Register>R04</Register><Register>R05</Register><Register>R06</Register><Register>R07</Register><Register>R08</Register><Register>R09</Register><Register>R10</Register><Register>R11</Register><Register>R12</Register><Register>R13</Register><Register>R14</Register><Register>R15</Register><Register>R16</Register><Register>R17</Register><Register>R18</Register><Register>R19</Register><Register>R20</Register><Register>R21</Register><Register>R22</Register><Register>R23</Register><Register>R24</Register><Register>R25</Register><Register>R26</Register><Register>R27</Register><Register>R28</Register><Register>R29</Register><Register>R30</Register><Register>R31</Register></REGISTERNAMES><COM>Auto</COM><COMType>0</COMType><WATCHNUM>1</WATCHNUM><WATCHNAMES><Pane0><Variables>ts</Variables><Variables>i</Variables><Variables>rf_rx_state</Variables><Variables>checksum</Variables><Variables>protocol_flags</Variables><Variables>rf_buffer_tx</Variables><Variables>channel</Variables><Variables>FHAState</Variables><Variables>frequencyTable</Variables><Variables>commandStatus</Variables></Pane0><Pane1><Variables>ACKmode</Variables><Variables>sof_ary</Variables><Variables>toy_id_h</Variables><Variables>toy_id_l</Variables><Variables>prf_buffer_tx</Variables><Variables>rf_tx_counter</Variables><Variables>tx_pac_len</Variables><Variables>rf_buffer_rx1</Variables><Variables>rf_buffer_rx2</Variables><Variables>pspi_buffer_rx</Variables><Variables>rf_buffer_tx2</Variables><Variables>rf_buffer_tx1</Variables><Variables>pspi_buffer_tx</Variables><Variables>rf_header</Variables><Variables>rf_status</Variables><Variables>watchdog</Variables><Variables>gfilter</Variables><Variables>replaceFrequency</Variables><Variables>frequencyTable</Variables><Variables>commandBuffer</Variables><Variables>spiConfigFrame</Variables></Pane1><Pane2></Pane2><Pane3></Pane3></WATCHNAMES><BreakOnTrcaeFull>0</BreakOnTrcaeFull></DEBUG_TARGET><Debugger><modules><module><map private="C:\Documents and Settings\Pascal\Desktop\TUX\Dongle\RF\Branches\RF_test\Branches\" public=""/><map private="C:\Documents and Settings\Pascal\Desktop\TUX\Dongle\RF\New_timing\" public=""/></module></modules><Triggers></Triggers></Debugger><AVRGCCPLUGIN><FILES><SOURCEFILE>device.c</SOURCEFILE><SOURCEFILE>init.c</SOURCEFILE><SOURCEFILE>misc.c</SOURCEFILE><SOURCEFILE>prot.c</SOURCEFILE><SOURCEFILE>rf_ctrl.c</SOURCEFILE><SOURCEFILE>varis.c</SOURCEFILE><SOURCEFILE>spi.c</SOURCEFILE><SOURCEFILE>bootloader.c</SOURCEFILE><HEADERFILE>varis.h</HEADERFILE><HEADERFILE>init.h</HEADERFILE><HEADERFILE>misc.h</HEADERFILE><HEADERFILE>prot.h</HEADERFILE><HEADERFILE>rf_ctrl.h</HEADERFILE><HEADERFILE>defines.h</HEADERFILE><HEADERFILE>bootloader.h</HEADERFILE><HEADERFILE>spi.h</HEADERFILE><OTHERFILE>default\device.lss</OTHERFILE><OTHERFILE>default\device.map</OTHERFILE></FILES><CONFIGS><CONFIG><NAME>default</NAME><USESEXTERNALMAKEFILE>NO</USESEXTERNALMAKEFILE><EXTERNALMAKEFILE></EXTERNALMAKEFILE><PART>atmega48</PART><HEX>1</HEX><LIST>1</LIST><MAP>1</MAP><OUTPUTFILENAME>device.elf</OUTPUTFILENAME><OUTPUTDIR>default\</OUTPUTDIR><ISDIRTY>0</ISDIRTY><OPTIONS><OPTION><FILE>bootloader.c</FILE><OPTIONLIST></OPTIONLIST></OPTION><OPTION><FILE>device.c</FILE><OPTIONLIST></OPTIONLIST></OPTION><OPTION><FILE>init.c</FILE><OPTIONLIST></OPTIONLIST></OPTION><OPTION><FILE>misc.c</FILE><OPTIONLIST></OPTIONLIST></OPTION><OPTION><FILE>prot.c</FILE><OPTIONLIST></OPTIONLIST></OPTION><OPTION><FILE>rf_ctrl.c</FILE><OPTIONLIST></OPTIONLIST></OPTION><OPTION><FILE>spi.c</FILE><OPTIONLIST></OPTIONLIST></OPTION><OPTION><FILE>varis.c</FILE><OPTIONLIST></OPTIONLIST></OPTION></OPTIONS><INCDIRS/><LIBDIRS/><LIBS/><LINKOBJECTS/><OPTIONSFORALL>-Wall -gdwarf-2 -DF_CPU=13824000UL -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums</OPTIONSFORALL><LINKEROPTIONS>-Wl,--section-start=.bootloader=0x0F00</LINKEROPTIONS><SEGMENTS><SEGMENT><NAME>.buffer_tx1</NAME><SEGMENT>SRAM</SEGMENT><ADDRESS>0x100</ADDRESS></SEGMENT><SEGMENT><NAME>.buffer_rx1</NAME><SEGMENT>SRAM</SEGMENT><ADDRESS>0x140</ADDRESS></SEGMENT><SEGMENT><NAME>.sof</NAME><SEGMENT>SRAM</SEGMENT><ADDRESS>0x1e6</ADDRESS></SEGMENT><SEGMENT><NAME>.globals</NAME><SEGMENT>SRAM</SEGMENT><ADDRESS>0x1ea</ADDRESS></SEGMENT><SEGMENT><NAME>.buffer_tx2</NAME><SEGMENT>SRAM</SEGMENT><ADDRESS>0x173</ADDRESS></SEGMENT><SEGMENT><NAME>.buffer_rx2</NAME><SEGMENT>SRAM</SEGMENT><ADDRESS>0x1b3</ADDRESS></SEGMENT></SEGMENTS></CONFIG></CONFIGS><LASTCONFIG>default</LASTCONFIG><USES_WINAVR>1</USES_WINAVR><GCC_LOC>C:\WinAVR-20070122\bin\avr-gcc.exe</GCC_LOC><MAKE_LOC>C:\WinAVR-20070122\utils\bin\make.exe</MAKE_LOC></AVRGCCPLUGIN><IOView><usergroups/></IOView><Files><File00000><FileId>00000</FileId><FileName>device.c</FileName><Status>258</Status></File00000><File00001><FileId>00001</FileId><FileName>prot.c</FileName><Status>258</Status></File00001><File00002><FileId>00002</FileId><FileName>rf_ctrl.c</FileName><Status>258</Status></File00002><File00003><FileId>00003</FileId><FileName>init.c</FileName><Status>258</Status></File00003><File00004><FileId>00004</FileId><FileName>misc.c</FileName><Status>258</Status></File00004><File00005><FileId>00005</FileId><FileName>bootloader.c</FileName><Status>1</Status></File00005><File00006><FileId>00006</FileId><FileName>spi.c</FileName><Status>258</Status></File00006></Files><Workspace><File00005><Position>262 71 1038 645</Position><LineCol>19 1</LineCol><State>Maximized</State></File00005></Workspace><Events><Bookmarks></Bookmarks></Events><Trace><Filters></Filters></Trace></AVRStudio> Modified: firmware/fuxrf/trunk/device.c =================================================================== --- firmware/fuxrf/trunk/device.c 2007-06-26 14:12:36 UTC (rev 456) +++ firmware/fuxrf/trunk/device.c 2007-06-27 14:11:25 UTC (rev 457) @@ -1,5 +1,5 @@ #include <avr/wdt.h> -#include <stdlib.h>$ +#include <stdlib.h> #include "defines.h" #include "init.h" #include "misc.h" @@ -26,7 +26,7 @@ //* Parameters: NONE * //* Returns: NONE * //* Action: Main routine of the Device * -//* Duration: tbd *$ +//* Duration: tbd * //* Size: tbd * //* Date: 31.01.06 * //* Description: Get connected to the Basestation, get values from the sensors* @@ -41,9 +41,9 @@ asm volatile ("rjmp bootloader" ::); /* jump to bootloader */ #endif - init_avr(); // System init$ + init_avr(); // System init init_varis(); // Init variables - spiTransaction(); // Spi transaction to recieve$ + spiTransaction(); // Spi transaction to recieve // spiConfigFrame[5] = 6; // spiConfigFrame[6] = 32; generate_frequency_sequence (); // Generate hopping sequence @@ -70,16 +70,16 @@ if (random_numb == 12) random_numb = 0; if ((replaceFrequency < spiConfigFrame[5]) || (replaceFrequency > spiConfigFrame[6])) - break;$ + break; } FHAState = WAIT_ACK_CHF; } #endif -$ + if (spi_enable) // Spi transaction ready - {$ + { spi_enable = 0; // Reset spi flag spiTransaction(); } - }$ + } } Modified: firmware/fuxrf/trunk/init.c =================================================================== --- firmware/fuxrf/trunk/init.c 2007-06-26 14:12:36 UTC (rev 456) +++ firmware/fuxrf/trunk/init.c 2007-06-27 14:11:25 UTC (rev 457) @@ -19,7 +19,7 @@ { //init of AVR ports //*************PORTB*************// - //PORTB.0 -> OUT TXON$ + //PORTB.0 -> OUT TXON //PORTB.1 -> OUT nOLE //PORTB.2 -> IN CS //PORTB.3 -> IN MOSI @@ -31,9 +31,9 @@ output(DDRB,0x13); //*************PORTB*************// //*************PORTC*************// - //PORTC.0 -> OUT READY SPI$ + //PORTC.0 -> OUT READY SPI //PORTC.1 -> OUT Enable - //PORTC.2 -> OUT READY SPI$ + //PORTC.2 -> OUT READY SPI //PORTC.3 -> OUT DEBUFG RF //PORTC.4 -> NOT USED, PULLED UP //PORTC.5 -> NOT USED, PULLED UP @@ -42,7 +42,7 @@ output(DDRC,0x1F); //*************PORTC*************// //*************PORTD*************// - //PORTD.0 -> IN RX_DATA$ + //PORTD.0 -> IN RX_DATA //PORTD.1 -> OUT TX_DATA/Data //PORTD.2 -> OUT PU_TRX/PU_REG //PORTD.3 -> IN RESET LINE @@ -56,7 +56,7 @@ //***********init-needed-peripherals***************// output(UBRR0L,0x05); //***********init-needed-peripherals***************// -$ + SPCR=0x40; // Slave SPSR=0x00; // Clear the SPI interrupt flag @@ -66,7 +66,7 @@ "in __tmp_reg__, %1" "\n\t" : : "I" (_SFR_IO_ADDR(SPSR)), "I" (_SFR_IO_ADDR(SPDR)) - );$ + ); } @@ -94,7 +94,7 @@ {/*sub because of returning of subroutine*/ *ptr++=0; } // Reduce 26 bytes -$ + rx_buffer_ready = 0x00; frameCmpt = 0; // Counter of RF frame frequencyIndex = 0; // Pointer for the table of frequency @@ -102,7 +102,7 @@ statisticPointer = 0; // Pointer for the table with statistic for FHA spi_enable = 0; // Flag to start spi transaction errorFrame = 0; // Detect error in transmission - commandStatus = 0; // Status of the command$ + commandStatus = 0; // Status of the command ACKmode = 0; // Wait an ACK prf_buffer_rx = rf_buffer_rx1; // Init pointer for RF transaction @@ -115,7 +115,7 @@ void init_frame_RF (void) { unsigned char i, header_rf; -$ + header_rf = SMALLFRAME; // First byte header of the frame header_rf |= MASTERH; @@ -129,8 +129,8 @@ { header_rf |= CHANGEID; } - }$ -$ + } + for (i = 0; i < 11; i++) { rf_buffer_tx1[i] = 0x55; // Preamble @@ -141,7 +141,7 @@ { rf_buffer_tx1[i] = 0xFF; // Synchro rf_buffer_tx2[i] = 0xFF; // Synchro - }$ + } rf_buffer_tx1[14] = rf_buffer_tx2[14] = sof_ary[1] = spiConfigFrame[0]; // Set ID rf_buffer_tx1[15] = rf_buffer_tx2[15] = sof_ary[2] = spiConfigFrame[1]; @@ -150,7 +150,7 @@ rf_buffer_tx1[17] = rf_buffer_tx2[17] = 0x20; // Second byte header of the frame else rf_buffer_tx1[17] = rf_buffer_tx2[17] = 0x00; // Second byte header of the frame -$ + rf_buffer_tx1[18] = rf_buffer_tx2[18] = spiConfigFrame[2]; // Hopping parameters Index (dummy) / Toy ID for init rf_buffer_tx1[19] = rf_buffer_tx2[19] = spiConfigFrame[3]; // Hopping parameters Channel (dummy) / Toy ID for init rf_buffer_tx1[20] = rf_buffer_tx2[20] = 0x55; Modified: firmware/fuxrf/trunk/misc.c =================================================================== --- firmware/fuxrf/trunk/misc.c 2007-06-26 14:12:36 UTC (rev 456) +++ firmware/fuxrf/trunk/misc.c 2007-06-27 14:11:25 UTC (rev 457) @@ -5,19 +5,19 @@ #include "rf_ctrl.h" -//*****************************************************************************$ +//***************************************************************************** //* Project: RF-Firmware for ISM * //* Function: wait_n_10us * //* Parameters: val * //* Returns: NONE * //* Action: wait n * 10us * -//* Duration: tbd *$ +//* Duration: tbd * //* Size: tbd * //* Date: 31.01.06 * //* Description: Generates a delay. T(delay) = val * 10us * //***************************************************************************** void wait_n_10us(uc_8 val) -{$ +{ uc_8 i,j; i = val; @@ -29,8 +29,8 @@ _NIX; _NIX; _NIX; - }$ - }$ + } + } } @@ -40,7 +40,7 @@ //* Parameters: NONE * //* Returns: random value * //* Action: get a random value by sampling the RXD pin of the ATR2406 * -//* Duration: tbd *$ +//* Duration: tbd * //* Size: tbd * //* Date: 31.01.06 * //* Description: Random value needed for system setup * @@ -48,18 +48,18 @@ uc_8 get_random(void) { uc_8 i,random; -$ - //init of the global variable random, this is done by using the noise$ + + //init of the global variable random, this is done by using the noise //output of the RF-Chip when settlet up for receive without having //a transmitter, may check if RSSI is low to be sure there is only noise. - //The RX_DATA pin of the ATR2406 is sampled.$ -$ + //The RX_DATA pin of the ATR2406 is sampled. + pwr_up_atr2406(); -$ - set_rxon; // Set ATR2406 in RX mode$ + + set_rxon; // Set ATR2406 in RX mode for(i = 0;i < 0xFF; i++) { - random = 0x00;$ + random = 0x00; _NIX; } @@ -67,7 +67,7 @@ { if ((i&0x07) == 0x00) { - random = random << 1;$ + random = random << 1; if ((in_rxd)) { random |= 0x01; @@ -75,7 +75,7 @@ } } pwr_dwn_atr2406(); - return random;$ + return random; } @@ -85,7 +85,7 @@ //* Parameters: NONE * //* Returns: random value for EF channel * //* Action: get a random value by sampling the RXD pin of the ATR2406 * -//* Duration: tbd *$ +//* Duration: tbd * //* Size: tbd * //* Date: 10.07.06 * //* Description: Random channel value needed for frequency hopping * @@ -111,19 +111,19 @@ } -//*****************************************************************************$ +//***************************************************************************** //* Project: RF-Firmware for ISM * //* Function: calc_checksum * //* Parameters: val * //* Returns: NONE * //* Action: calc_checksum * -//* Duration: tbd *$ +//* Duration: tbd * //* Size: tbd * //* Date: 31.01.06 * //* Description: Calculate the checksum of a RF - Packet * //***************************************************************************** void calc_checksum(unsigned char *pbuffer) -{$ +{ uc_8 i,tmp; uc_8 *ptr; @@ -136,7 +136,7 @@ while (i != 1) { i--; - tmp ^= *ptr++; // Calculate CRC$ + tmp ^= *ptr++; // Calculate CRC } *ptr = tmp; } Modified: firmware/fuxrf/trunk/prot.c =================================================================== --- firmware/fuxrf/trunk/prot.c 2007-06-26 14:12:36 UTC (rev 456) +++ firmware/fuxrf/trunk/prot.c 2007-06-27 14:11:25 UTC (rev 457) @@ -18,9 +18,9 @@ //* Description: Define a frequency sequence for hopping * //***************************************************************************** void generate_frequency_sequence (void) -{$ +{ unsigned char i, j, out; -$ + frequencyTable [0] = get_random_channel (); for (i = 1; i < 20; i++) { @@ -57,13 +57,13 @@ //* Description: Synchronise to the Basestation and get logged into the system* //***************************************************************************** void system_start_up(void) -{$ +{ unsigned char i; unsigned char RFinitState; // Init state machine variable -$ - rf_status |= MASTER; // Set rf status like master$ + + rf_status |= MASTER; // Set rf status like master channel = 0; // Init start channel - pwr_dwn_atr2406();$ + pwr_dwn_atr2406(); start_rf_timer(); // Start timer 1 interrupt, state machine of the rf link output(UCSR0A,0x00); output(UCSR0B,0x00); @@ -95,8 +95,8 @@ rf_buffer_tx1[16] = rf_buffer_tx2[16] &= ~SMALLFRAME; // Use big frame for (i = 22; i < 63; i++) { - rf_buffer_tx1[i] = 0x55; // Payload bytes$ - rf_buffer_tx2[i] = 0x55; // Payload bytes$ + rf_buffer_tx1[i] = 0x55; // Payload bytes + rf_buffer_tx2[i] = 0x55; // Payload bytes } rf_status |= WAIT_HOPPING; break; @@ -121,11 +121,11 @@ void setup_pac (void) { unsigned char i; - unsigned char *pbuffer_tx;$ + unsigned char *pbuffer_tx; unsigned char *pspibuffer_tx; - pspibuffer_tx = pspi_buffer_tx;$ - pbuffer_tx = prf_buffer_tx;$ + pspibuffer_tx = pspi_buffer_tx; + pbuffer_tx = prf_buffer_tx; *(pbuffer_tx + 13) = channel; // Save current channel into the frame // *(pbuffer_tx + 14) = sof_ary[1]; // Put Toy id into the frame // *(pbuffer_tx + 15) = sof_ary[2]; // Put Toy id into the frame @@ -141,7 +141,7 @@ if (frameCmpt & 0x10) { FHAState = 0; // Reset status to do adaptative frequency hopping - rf_status &= ~WAIT_HOPPING;$ + rf_status &= ~WAIT_HOPPING; rf_status |= FHA_EFFECTIVE; // FHA is effective // PORTC |= 0x04; // Debug } @@ -159,7 +159,7 @@ if (*(pspi_buffer_rx) & FHAACKH) // ACK recieve from Slave FHAState = WAIT_SYNCHRO; // Go to the next state } - }$ + } } #endif #ifdef FHA @@ -209,5 +209,5 @@ else *(pbuffer_tx + 17) &= ~0x08; // Update header - calc_checksum (pbuffer_tx); // Compute checksum$ + calc_checksum (pbuffer_tx); // Compute checksum } Modified: firmware/fuxrf/trunk/spi.c =================================================================== --- firmware/fuxrf/trunk/spi.c 2007-06-26 14:12:36 UTC (rev 456) +++ firmware/fuxrf/trunk/spi.c 2007-06-27 14:11:25 UTC (rev 457) @@ -1,5 +1,5 @@ #include <avr/wdt.h> -#include <stdlib.h>$ +#include <stdlib.h> #include "defines.h" #include "varis.h" @@ -23,13 +23,13 @@ spi_slave = PUT_SOUND_SPI; // Init state machine while (!(PINB & 0x04)); // Verify that the previous transaction is finish PORTC |= 0x04; // Generate a start SPI signal - while (PINB & 0x04); // Wait CS$ + while (PINB & 0x04); // Wait CS PORTC &= ~0x04; // Reset start SPI signal if (rx_buffer_ready) // Correct receive { rx_buffer_ready = 0; // Reset receive flag -$ + if (errorFrame) // Error in precedent transmission { errorFrame = 0; // Reset error frame flag @@ -45,7 +45,7 @@ { spi_config_tx = 0x01; // Zone 0 headerb = 0x02; // Audio in SPI transaction + Double SPI frame - }$ + } } else // Zone 0 without audio { @@ -75,7 +75,7 @@ } } else - if (ACKmode)$ + if (ACKmode) ACKmode = 0; // Command RX OK if (*(pspibuffer_rx + 1) & 0x80) // Wait ACK @@ -83,17 +83,17 @@ } if (commandStatus != 0x00) // No need of protection from interrupt, timing protected - {$ - headerb |= 0x08; // Status in SPI frame$ + { + headerb |= 0x08; // Status in SPI frame spi_config_tx |= 0x10; - }$ -$ + } + SPDR = headerb; // Header byte - PORTC &= ~0x01; // Generate a ready SPI signal$ - while ((SPSR & 0x80) == 0); // Wait SPI ready$ -$ + PORTC &= ~0x01; // Generate a ready SPI signal + while ((SPSR & 0x80) == 0); // Wait SPI ready + while (1) // SPI loop - {$ + { if (!(PINB & 0x04)) // Chip select { PORTC |= 0x01; // Reset the ready SPI signal @@ -110,7 +110,7 @@ { if (spi_count <= 7) spiConfigFrame[spi_count - 1] = SPDR; - }$ + } } else if ((spi_count > 17) && (spi_count <= 21)) // Save command { @@ -120,18 +120,18 @@ if (spi_count == 21) { commandStatus = 0x01; // Command in progress - commandCmpt = 0;$ + commandCmpt = 0; } } } - spi_count++; // Increment SPI byte counter$ + spi_count++; // Increment SPI byte counter if (spi_slave == PUT_SOUND_SPI) // Put sound into the SPI frame { if (spi_config_tx & 0x01) // Simple frame Zone 0 - {$ + { SPDR = *(pspibuffer_rx + spi_count + 10); // Sound } else if (spi_config_tx & 0x02) // Simple frame Zone 1 @@ -147,11 +147,11 @@ } else { - SPDR = 0x00; // No sound$ + SPDR = 0x00; // No sound } if (spi_count == spi_lenght) spi_slave = PUT_COMMAND_SPI; // Go to the next state of the machine - PORTC &= ~0x01; // Generate request to master$ + PORTC &= ~0x01; // Generate request to master } else if (spi_slave == PUT_COMMAND_SPI) // Put command into the SPI frame { @@ -166,11 +166,11 @@ SPDR = 0x00; // No command if (spi_count == spi_lenght + 4) spi_slave = PUT_STATUS_SPI; // Go to the next state of the machine - PORTC &= ~0x01; // Generate request to master$ + PORTC &= ~0x01; // Generate request to master } else if (spi_slave == PUT_STATUS_SPI) // Put status command into the SPI frame { - if (spi_config_tx & 0x10) // Status command present$ + if (spi_config_tx & 0x10) // Status command present { SPDR = commandStatus; // Status command, no need of protection from interrupt, timing protected if (commandStatus != 0x01) @@ -180,23 +180,23 @@ SPDR = 0x00; // No status command if (spi_count == spi_lenght + 5) spi_slave = END_SPI; // Go to the next state of the machine - PORTC &= ~0x01; // Generate request to master$ - }$ + PORTC &= ~0x01; // Generate request to master + } } while ((SPSR & 0x80) == 0); // Wait SPI ready -$ + if (spi_slave == END_SPI) // Finish SPI transaction { - PORTC |= 0x01; // Reset the ready SPI signal$ + PORTC |= 0x01; // Reset the ready SPI signal if (spi_config_rx & 0x02) // Audio in frame spi *(pspibuffer_tx + 17) |= 0x02; - else$ + else *(pspibuffer_tx + 17) &= ~0x02; if (ACKmode) - *(pspibuffer_tx + 17) |= 0x80; // Send ACK$ + *(pspibuffer_tx + 17) |= 0x80; // Send ACK else *(pspibuffer_tx + 17) &= ~0x80; // Remove ACK - break;$ - }$ + break; } + } } Modified: firmware/fuxrf/trunk/varis.c =================================================================== --- firmware/fuxrf/trunk/varis.c 2007-06-26 14:12:36 UTC (rev 456) +++ firmware/fuxrf/trunk/varis.c 2007-06-27 14:11:25 UTC (rev 457) @@ -17,7 +17,7 @@ uc_8 rf_header[4] __attribute__((section(".globals"))); // Rf header // RF variables -uc_8 rf_status __attribute__((section(".globals"))); // Satus of the RF - Task (Locked or Unlocked)$ +uc_8 rf_status __attribute__((section(".globals"))); // Satus of the RF - Task (Locked or Unlocked) volatile uc_8 channel __attribute__((section(".globals"))); // Currently used RF - Channel uc_8 rfStateCount __attribute__((section(".globals"))); // Counter for RF-IRQ-State machine uc_8 tx_pac_len __attribute__((section(".globals"))); // Variable containing the length of the current RF - Packet TX @@ -53,7 +53,7 @@ uc_8 errorFrame __attribute__((section(".globals"))); // Detect error in transmission // Command variables -uc_8 commandStatus __attribute__((section(".globals"))); // Status of the command$ +uc_8 commandStatus __attribute__((section(".globals"))); // Status of the command uc_8 commandCmpt __attribute__((section(".globals"))); // Counter for resend command uc_8 ACKmode __attribute__((section(".globals"))); // Wait an ACK Modified: firmware/fuxrf/trunk/varis.h =================================================================== --- firmware/fuxrf/trunk/varis.h 2007-06-26 14:12:36 UTC (rev 456) +++ firmware/fuxrf/trunk/varis.h 2007-06-27 14:11:25 UTC (rev 457) @@ -21,7 +21,7 @@ extern uc_8 sof_ary[3] __attribute__((section(".sof"))); // Variable holding the 4 bytes start of frame // RF variables -extern uc_8 rf_status __attribute__((section(".globals"))); // Satus of the RF - Task (Locked or Unlocked)$ +extern uc_8 rf_status __attribute__((section(".globals"))); // Satus of the RF - Task (Locked or Unlocked) extern volatile uc_8 channel __attribute__((section(".globals"))); // Currently used RF - Channel extern uc_8 rfStateCount __attribute__((section(".globals"))); // Counter for RF-IRQ-State machine extern uc_8 tx_pac_len __attribute__((section(".globals"))); // Variable containing the length of the current RF - Packet TX @@ -58,7 +58,7 @@ extern uc_8 errorFrame __attribute__((section(".globals"))); // Detect error in transmission // Command variables -extern uc_8 commandStatus __attribute__((section(".globals"))); // Status of the command$ +extern uc_8 commandStatus __attribute__((section(".globals"))); // Status of the command extern uc_8 commandCmpt __attribute__((section(".globals"))); // Counter for resend command extern uc_8 ACKmode __attribute__((section(".globals"))); // Wait an ACK Modified: firmware/tuxrf/trunk/bootloader.c =================================================================== --- firmware/tuxrf/trunk/bootloader.c 2007-06-26 14:12:36 UTC (rev 456) +++ firmware/tuxrf/trunk/bootloader.c 2007-06-27 14:11:25 UTC (rev 457) @@ -39,8 +39,8 @@ i2cWaitForComplete(); /* wait the low byte of the page address */ if ((twStatus = TW_STATUS) != TW_SR_DATA_ACK) while(1); pageAddress.b[0] = TWDR; - if (pageAddress.w & 0x003F) while(1); /* incorrect page address */$ - if (pageAddress.w >= 0x0F00) while(1); /* don't overwrite the bootloader */$ + if (pageAddress.w & 0x003F) while(1); /* incorrect page address */ + if (pageAddress.w >= 0x0F00) while(1); /* don't overwrite the bootloader */ address = pageAddress.w; TWCR = _BV(TWEA) | _BV(TWEN) | _BV(TWINT); for (i=0; i<SPM_PAGESIZE; i++) /* fill the complete page with the next data */ Modified: firmware/tuxrf/trunk/bootloader.h =================================================================== --- firmware/tuxrf/trunk/bootloader.h 2007-06-26 14:12:36 UTC (rev 456) +++ firmware/tuxrf/trunk/bootloader.h 2007-06-27 14:11:25 UTC (rev 457) @@ -4,7 +4,7 @@ * Bootloader source code * created on 2006/11/25 David Bourgeois * ------------------------------------------------------------------- - * $Id$ + * $Id: bootloader.h 456 2007-06-26 14:12:36Z jaguarondi */ #ifndef _BOOTLOADER_H_ @@ -16,10 +16,10 @@ \brief Minimal I2C bootloader \author David Bourgeois \date 2006 -$ + The footprint is less than 0xFF bytes so it should be possible to place the bootlaoder at 0x0F00 in your application -$ + Use the following linker option: \code -Wl,--section-start=.bootloader=0x0F00 Modified: firmware/tuxrf/trunk/default/Makefile =================================================================== --- firmware/tuxrf/trunk/default/Makefile 2007-06-26 14:12:36 UTC (rev 456) +++ firmware/tuxrf/trunk/default/Makefile 2007-06-27 14:11:25 UTC (rev 457) @@ -13,16 +13,17 @@ ## Compile options common for all C compilation units. CFLAGS = $(COMMON) -CFLAGS += -Wall -gdwarf-2 -DF_CPU=13824000UL -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums +CFLAGS += -Wall -gdwarf-2 -DF_CPU=13824000UL -Os -fsigned-char -fshort-enums CFLAGS += -MD -MP -MT $(*F).o -MF dep/$(@F).d ## Assembly specific flags ASMFLAGS = $(COMMON) +ASMFLAGS += $(CFLAGS) ASMFLAGS += -x assembler-with-cpp -Wa,-gdwarf2 ## Linker flags LDFLAGS = $(COMMON) -LDFLAGS += -Wl,--section-start=.bootloader=0x0F00 -Wl,-Map=device.map +LDFLAGS += -Wl,--section-start=.bootloader=0x1100 -Wl,-Map=device.map LDFLAGS += -Wl,-section-start=.buffer_tx1=0x800100 LDFLAGS += -Wl,-section-start=.buffer_rx1=0x800140 LDFLAGS += -Wl,-section-start=.sof=0x8001e6 @@ -36,7 +37,7 @@ HEX_EEPROM_FLAGS = -j .eeprom HEX_EEPROM_FLAGS += --set-section-flags=.eeprom="alloc,load" -HEX_EEPROM_FLAGS += --change-section-lma .eeprom=0 +HEX_EEPROM_FLAGS += --change-section-lma .eeprom=0 --no-change-warnings ## Objects that must be built in order to link @@ -84,7 +85,7 @@ avr-objcopy -O ihex $(HEX_FLASH_FLAGS) $< $@ %.eep: $(TARGET) - avr-objcopy $(HEX_EEPROM_FLAGS) -O ihex $< $@ + -avr-objcopy $(HEX_EEPROM_FLAGS) -O ihex $< $@ || exit 0 %.lss: $(TARGET) avr-objdump -h -S $< > $@ Modified: firmware/tuxrf/trunk/defines.h =================================================================== --- firmware/tuxrf/trunk/defines.h 2007-06-26 14:12:36 UTC (rev 456) +++ firmware/tuxrf/trunk/defines.h 2007-06-27 14:11:25 UTC (rev 457) @@ -8,10 +8,10 @@ #include <avr/pgmspace.h> #include <avr/eeprom.h> -// Define the used HOPPING SCHEME$ -#define HOPPING // No hopping, use signel channel TRX_CHANNEL. If no define use frequency hopping$ -#define TRX_CHANNEL 90$ -#define FHA // Use frequency hopping adaptativ$ +// Define the used HOPPING SCHEME +#define HOPPING // No hopping, use signel channel TRX_CHANNEL. If no define use frequency hopping +#define TRX_CHANNEL 90 +#define FHA // Use frequency hopping adaptativ // Type definition #define uc_8 unsigned char @@ -21,9 +21,9 @@ //------->rf_status-Defines<-------// #define WAIT_HOPPING 0x02 -#define RXING 0x04$ +#define RXING 0x04 #define TXING 0x08 -#define LOGGED 0x10$ +#define LOGGED 0x10 #define FHA_EFFECTIVE 0x20 #define MASTER 0x40 #define SLAVE 0x80 @@ -94,7 +94,7 @@ // T_SLOT == 1ms ==> every 1000us 48 Bytes of payload are exchanged #define POLL_LOOPS 1 #define T_1ms 1728 // Exact -> 1000us - #define T_PWR_UP_TX 69 // 69 == 40us (39.93)$ + #define T_PWR_UP_TX 69 // 69 == 40us (39.93) #define T_LOOP_TX 341 // 341 == 197us (197.34) #define T_START_TX 59 // 59 == 34us (34.14) #define T_TX2RX 1259 // 1259 == 728us (728.59) @@ -102,10 +102,10 @@ #define T_LOOP_RX 139 // 139 == 80us (80.44) #define T_RX_ON 260 // 260 == 150us (150.46) #define T_MAX_PAC_RX 1088 // 1088 == 630us (629.62) - #define T_RX2TX 172 // 172 == 100us (99.54)$ + #define T_RX2TX 172 // 172 == 100us (99.54) #define T_START_SYNC 1082 // 1065 == 616us (616.32) - #define T_SYNC 958 // 958 == 554 (554.40)$ - // ==> 48KB/second (384.000bps)$ + #define T_SYNC 958 // 958 == 554 (554.40) + // ==> 48KB/second (384.000bps) //----->RF-Timing-Defines<-----// #endif Modified: firmware/tuxrf/trunk/device.aps =================================================================== --- firmware/tuxrf/trunk/device.aps 2007-06-26 14:12:36 UTC (rev 456) +++ firmware/tuxrf/trunk/device.aps 2007-06-27 14:11:25 UTC (rev 457) @@ -1 +1 @@ -<AVRStudio><MANAGEMENT><ProjectName>device</ProjectName><Created>10-Nov-2005 15:17:29</Created><LastEdit>13-Jun-2007 17:34:45</LastEdit><ICON>241</ICON><ProjectType>0</ProjectType><Created>10-Nov-2005 15:17:29</Created><Version>4</Version><Build>4, 12, 0, 454</Build><ProjectTypeName>AVR GCC</ProjectTypeName></MANAGEMENT><CODE_CREATION><ObjectFile>default\device.elf</ObjectFile><EntryFile></EntryFile><SaveFolder>C:\Documents and Settings\Pascal\Desktop\RF_test\Slave\Trunk\</SaveFolder></CODE_CREATION><DEBUG_TARGET><CURRENT_TARGET>JTAGICE mkII</CURRENT_TARGET><CURRENT_PART>ATmega168</CURRENT_PART><BREAKPOINTS></BREAKPOINTS><IO_EXPAND><Item>580</Item><Item>51</Item><Item>584</Item><Item>634</Item><HIDE>false</HIDE></IO_EXPAND><REGISTERNAMES><Register>R00</Register><Register>R01</Register><Register>R02</Register><Register>R03</Register><Register>R04</Register><Register>R05</Register><Register>R06</Register><Register>R07</Register><Register>R08</Register><Register>R09</Register><Register>R10</Register><Register>R11</Register><Register>R12</Register><Register>R13</Register><Register>R14</Register><Register>R15</Register><Register>R16</Register><Register>R17</Register><Register>R18</Register><Register>R19</Register><Register>R20</Register><Register>R21</Register><Register>R22</Register><Register>R23</Register><Register>R24</Register><Register>R25</Register><Register>R26</Register><Register>R27</Register><Register>R28</Register><Register>R29</Register><Register>R30</Register><Register>R31</Register></REGISTERNAMES><COM>Auto</COM><COMType>0</COMType><WATCHNUM>1</WATCHNUM><WATCHNAMES><Pane0><Variables>ts</Variables><Variables>i</Variables><Variables>rf_rx_state</Variables><Variables>checksum</Variables><Variables>protocol_flags</Variables><Variables>rf_buffer_tx</Variables><Variables>channel</Variables><Variables>FHAState</Variables><Variables>frequencyTable</Variables><Variables>commandStatus</Variables></Pane0><Pane1><Variables>sof_ary</Variables><Variables>rf_buffer_rx1</Variables><Variables>rf_buffer_rx2</Variables><Variables>rf_buffer_tx1</Variables><Variables>rf_buffer_tx2</Variables><Variables>headerb</Variables><Variables>commandBuffer</Variables><Variables>sleepMode</Variables></Pane1><Pane2><Variables>spi_count</Variables><Variables>spi_lenght</Variables><Variables>Test</Variables><Variables>sinus</Variables></Pane2><Pane3></Pane3></WATCHNAMES><BreakOnTrcaeFull>0</BreakOnTrcaeFull></DEBUG_TARGET><Debugger><modules><module><map private="C:\Documents and Settings\Pascal\Desktop\TUX\MainBoard\RF\branches\New_timing\" public=""/><map private="C:\Documents and Settings\Pascal\Desktop\TUX\MainBoard\RF\branches\RF_test\Branches\" public=""/></module></modules><Triggers></Triggers></Debugger><AVRGCCPLUGIN><FILES><SOURCEFILE>device.c</SOURCEFILE><SOURCEFILE>init.c</SOURCEFILE><SOURCEFILE>misc.c</SOURCEFILE><SOURCEFILE>prot.c</SOURCEFILE><SOURCEFILE>rf_ctrl.c</SOURCEFILE><SOURCEFILE>varis.c</SOURCEFILE><SOURCEFILE>sleep.c</SOURCEFILE><SOURCEFILE>spi.c</SOURCEFILE><HEADERFILE>varis.h</HEADERFILE><HEADERFILE>init.h</HEADERFILE><HEADERFILE>misc.h</HEADERFILE><HEADERFILE>prot.h</HEADERFILE><HEADERFILE>rf_ctrl.h</HEADERFILE><HEADERFILE>defines.h</HEADERFILE><HEADERFILE>bootloader.h</HEADERFILE><HEADERFILE>spi.h</HEADERFILE><HEADERFILE>sleep.h</HEADERFILE><OTHERFILE>default\device.map</OTHERFILE><OTHERFILE>default\device.lss</OTHERFILE></FILES><CONFIGS><CONFIG><NAME>default</NAME><USESEXTERNALMAKEFILE>NO</USESEXTERNALMAKEFILE><EXTERNALMAKEFILE></EXTERNALMAKEFILE><PART>atmega168</PART><HEX>1</HEX><LIST>1</LIST><MAP>1</MAP><OUTPUTFILENAME>device.elf</OUTPUTFILENAME><OUTPUTDIR>default\</OUTPUTDIR><ISDIRTY>1</ISDIRTY><OPTIONS><OPTION><FILE>bootloader.c</FILE><OPTIONLIST></OPTIONLIST></OPTION><OPTION><FILE>device.c</FILE><OPTIONLIST></OPTIONLIST></OPTION><OPTION><FILE>init.c</FILE><OPTIONLIST></OPTIONLIST></OPTION><OPTION><FILE>misc.c</FILE><OPTIONLIST></OPTIONLIST></OPTION><OPTION><FILE>prot.c</FILE><OPTIONLIST></OPTIONLIST></OPTION><OPTION><FILE>rf_ctrl.c</FILE><OPTIONLIST></OPTIONLIST></OPTION><OPTION><FILE>varis.c</FILE><OPTIONLIST></OPTIONLIST></OPTION></OPTIONS><INCDIRS/><LIBDIRS/><LIBS/><LINKOBJECTS/><OPTIONSFORALL>-Wall -gdwarf-2 -DF_CPU=13824000UL -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums</OPTIONSFORALL><LINKEROPTIONS>-Wl,--section-start=.bootloader=0x0F00</LINKEROPTIONS><SEGMENTS><SEGMENT><NAME>.buffer_tx1</NAME><SEGMENT>SRAM</SEGMENT><ADDRESS>0x100</ADDRESS></SEGMENT><SEGMENT><NAME>.buffer_rx1</NAME><SEGMENT>SRAM</SEGMENT><ADDRESS>0x140</ADDRESS></SEGMENT><SEGMENT><NAME>.sof</NAME><SEGMENT>SRAM</SEGMENT><ADDRESS>0x1e6</ADDRESS></SEGMENT><SEGMENT><NAME>.globals</NAME><SEGMENT>SRAM</SEGMENT><ADDRESS>0x1ea</ADDRESS></SEGMENT><SEGMENT><NAME>.buffer_tx2</NAME><SEGMENT>SRAM</SEGMENT><ADDRESS>0x173</ADDRESS></SEGMENT><SEGMENT><NAME>.buffer_rx2</NAME><SEGMENT>SRAM</SEGMENT><ADDRESS>0x1b3</ADDRESS></SEGMENT></SEGMENTS></CONFIG></CONFIGS><LASTCONFIG>default</LASTCONFIG><USES_WINAVR>1</USES_WINAVR><GCC_LOC>C:\_WinAVR\bin\avr-gcc.exe</GCC_LOC><MAKE_LOC>C:\_WinAVR\utils\bin\make.exe</MAKE_LOC></AVRGCCPLUGIN><Files><File00000><FileId>00000</FileId><FileName>device.c</FileName><Status>259</Status></File00000><File00001><FileId>00001</FileId><FileName>varis.c</FileName><Status>257</Status></File00001><File00002><FileId>00002</FileId><FileName>prot.c</FileName><Status>259</Status></File00002><File00003><FileId>00003</FileId><FileName>rf_ctrl.c</FileName><Status>259</Status></File00003><File00004><FileId>00004</FileId><FileName>init.c</FileName><Status>259</Status></File00004><File00005><FileId>00005</FileId><FileName>prot.h</FileName><Status>1</Status></File00005><File00006><FileId>00006</FileId><FileName>defines.h</FileName><Status>1</Status></File00006><File00007><FileId>00007</FileId><FileName>misc.c</FileName><Status>259</Status></File00007><File00008><FileId>00008</FileId><FileName>varis.h</FileName><Status>257</Status></File00008><File00009><FileId>00009</FileId><FileName>init.h</FileName><Status>1</Status></File00009><File00010><FileId>00010</FileId><FileName>bootloader.h</FileName><Status>1</Status></File00010><File00011><FileId>00011</FileId><FileName>rf_ctrl.h</FileName><Status>1</Status></File00011><File00012><FileId>00012</FileId><FileName>misc.h</FileName><Status>1</Status></File00012><File00013><FileId>00013</FileId><FileName>spi.h</FileName><Status>1</Status></File00013><File00014><FileId>00014</FileId><FileName>C:\_WinAVR\avr\include\stdint.h</FileName><Status>259</Status></File00014><File00015><FileId>00015</FileId><FileName>sleep.c</FileName><Status>259</Status></File00015><File00016><FileId>00016</FileId><FileName>spi.c</FileName><Status>259</Status></File00016><File00017><FileId>00017</FileId><FileName>sleep.h</FileName><Status>1</Status></File00017></Files><Workspace><File00000><Position>303 72 1401 659</Position><LineCol>56 9</LineCol><State>Maximized</State></File00000><File00001><Position>1872 62 2970 649</Position><LineCol>0 0</LineCol></File00001><File00002><Position>4914 42 6012 629</Position><LineCol>0 0</LineCol></File00002><File00003><Position>3710 50 4808 689</Position><LineCol>0 0</LineCol></File00003><File00004><Position>2807 56 3905 643</Position><LineCol>0 0</LineCol></File00004><File00005><Position>-13934 -31973 -13471 -31536</Position><LineCol>0 0</LineCol></File00005><File00006><Position>-25581 -31994 -24483 -31407</Position><LineCol>0 0</LineCol></File00006><File00007><Position>2173 60 3271 647</Position><LineCol>61 0</LineCol></File00007><File00008><Position>-16852 -32052 -15754 -31465</Position><LineCol>0 0</LineCol></File00008><File00009><Position>-14164 -32008 -13231 -31690</Position><LineCol>0 0</LineCol></File00009><File00010><Position>-15026 -32015 -14215 -31696</Position><LineCol>0 0</LineCol></File00010><File00011><Position>-14932 -31889 -13974 -31510</Position><LineCol>0 0</LineCol></File00011><File00012><Position>-14910 -31860 -13952 -31455</Position><LineCol>0 0</LineCol></File00012><File00013><Position>-21664 -31990 -20706 -31559</Position><LineCol>0 0</LineCol></File00013><File00014><Position>-21642 -31961 -20684 -31530</Position><LineCol>0 0</LineCol></File00014><File00015><Position>-24843 -31794 -23885 -31415</Position><LineCol>0 0</LineCol></File00015><File00016><Position>1238 66 2336 653</Position><LineCol>0 0</LineCol></File00016><File00017><Position>4984 159 5942 538</Position><LineCol>0 0</LineCol></File00017></Workspace><Events><Bookmarks></Bookmarks></Events><Trace><Filters></Filters></Trace></AVRStudio> +<AVRStudio><MANAGEMENT><ProjectName>device</ProjectName><Created>10-Nov-2005 15:17:29</Created><LastEdit>27-Jun-2007 13:55:49</LastEdit><ICON>241</ICON><ProjectT... [truncated message content] |