Author: jaguarondi
Date: 2008-06-26 15:46:14 +0200 (Thu, 26 Jun 2008)
New Revision: 1274

Modified:
   firmware/rf/trunk/Makefile
   firmware/rf/trunk/bootloader.h
   firmware/rf/trunk/device.c
   firmware/rf/trunk/init.c
   firmware/rf/trunk/rf_ctrl.c
Log:
* Fixed some problems around the bootloader. We have to compile the bootlodaer
  to have the jump to it correctly set. Note that the bootloader is located at
  0x0F00 but the entry point is at 0x0F0A. We should probably have a jump to
  that address instead of compiling the bootloader which doesn't fit in the
  flash anyway.

* Removed the debug signal which was keeping the RF board in reset thanks to
  some clever hardwired autoreset feature ;-). Re-enable this if you want to
  kill your tux.


Modified: firmware/rf/trunk/Makefile
===================================================================
--- firmware/rf/trunk/Makefile  2008-06-26 13:41:51 UTC (rev 1273)
+++ firmware/rf/trunk/Makefile  2008-06-26 13:46:14 UTC (rev 1274)
@@ -42,7 +42,7 @@
 HEX_EEPROM_FLAGS += --change-section-lma .eeprom=0
 
 ## Objects that must be built in order to link
-OBJECTS = device.o init.o misc.o prot.o rf_ctrl.o varis.o interface.o 
#bootloader.o
+OBJECTS = device.o init.o misc.o prot.o rf_ctrl.o varis.o interface.o 
bootloader.o
 
 ## Objects explicitly added by the user
 LINKONLYOBJECTS = 
@@ -98,7 +98,7 @@
 ## Clean target
 .PHONY: clean
 clean:
-       -rm -rf $(OBJECTS) device.elf dep/* fuxrf.* tuxrf.* svnrev.h
+       -rm -rf $(OBJECTS) device.elf dep/* $(PROJECT).* svnrev.h
 
 
 ## Other dependencies

Modified: firmware/rf/trunk/bootloader.h
===================================================================
--- firmware/rf/trunk/bootloader.h      2008-06-26 13:41:51 UTC (rev 1273)
+++ firmware/rf/trunk/bootloader.h      2008-06-26 13:46:14 UTC (rev 1274)
@@ -48,7 +48,11 @@
 /** \ingroup tuxRF_firmware
     Slave address for bootloader mode
  */
+#if defined(_SLAVE)
+#define I2C_BL_TWAR (0X32 << 1)
+#elif defined(_MASTER)
 #define I2C_BL_TWAR (0X33 << 1)
+#endif
 
 void bootloader(void) __attribute__ ((section(".bootloader")))
     __attribute__ ((naked));

Modified: firmware/rf/trunk/device.c
===================================================================
--- firmware/rf/trunk/device.c  2008-06-26 13:41:51 UTC (rev 1273)
+++ firmware/rf/trunk/device.c  2008-06-26 13:46:14 UTC (rev 1274)
@@ -71,7 +71,7 @@
 {VERSION_CMD, CPU_VER_JOIN(CPU_NUMBER, VER_MAJOR), VER_MINOR, VER_UPDATE};
 
 /* Bootloader can be included with the program */
-#define BOOTLOADER 0
+#define BOOTLOADER 1
 /* Set to 1 to enable stack debugging. */
 #define DBG_STACK 0
 
@@ -117,11 +117,16 @@
 int main(void)
 {
 #if (BOOTLOADER)
+#ifdef _SLAVE
     volatile uint16_t _count=0;
     for (;_count<0xFFFF; _count++);
     if (!(PIND & 0x40)) /* if head is pushed at startup */
         asm volatile ("rjmp bootloader" ::); /* jump to bootloader */
+#elif defined(_MASTER)
+    if (!(PINB & 0x04)) /* if SPI_SS is cleared at startup */
+        asm volatile ("rjmp bootloader" ::); /* jump to bootloader */
 #endif
+#endif
 
     /* System init */
     init_avr();

Modified: firmware/rf/trunk/init.c
===================================================================
--- firmware/rf/trunk/init.c    2008-06-26 13:41:51 UTC (rev 1273)
+++ firmware/rf/trunk/init.c    2008-06-26 13:46:14 UTC (rev 1274)
@@ -89,13 +89,13 @@
        //PORTD.0 ->    IN RX_DATA
        //PORTD.1 ->    OUT TX_DATA/Data
        //PORTD.2 ->    OUT PU_TRX/PU_REG
-       //PORTD.3 ->    OUTPUT DEBUG
+       //PORTD.3 ->    PASCAL SAID NOT TO TOUCH THIS ONE
        //PORTD.4 ->    I/O CLK_REC/Clock
        //PORTD.5 ->    OUT RXON
        //PORTD.6 ->    NOT USED, PULLED UP
        //PORTD.7 ->    LINK
        PORTD = 0x40;
-       DDRD = 0xAE;
+       DDRD = 0xA6;
     //*************PORTD*************//
     //***********init-needed-peripherals***************//
        UBRR0L = 0x05;

Modified: firmware/rf/trunk/rf_ctrl.c
===================================================================
--- firmware/rf/trunk/rf_ctrl.c 2008-06-26 13:41:51 UTC (rev 1273)
+++ firmware/rf/trunk/rf_ctrl.c 2008-06-26 13:46:14 UTC (rev 1274)
@@ -231,7 +231,6 @@
             {
                 OCR1A = OCR1A+T_RX2TX;
             }
-            PORTD ^= 0x08; // XXX DEBUG
         }
         else
             /* Wrong frame, just continue. */


-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php
_______________________________________________
Tux-droid-svn mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/tux-droid-svn

Reply via email to