]> rtime.felk.cvut.cz Git - sysless.git/commitdiff
Provide basic BBCONFIG support for LPC17xx devices.
authorPavel Pisa <pisa@cmp.felk.cvut.cz>
Wed, 25 Jul 2012 18:10:36 +0000 (20:10 +0200)
committerPavel Pisa <pisa@cmp.felk.cvut.cz>
Wed, 25 Jul 2012 18:10:36 +0000 (20:10 +0200)
Signed-off-by: Pavel Pisa <pisa@cmp.felk.cvut.cz>
arch/arm/generic/defines/bbconf_info.h
arch/arm/mach-lpc17xx/libs/hal/startup.c
board/arm/lpc17xx-common/libs/ldscripts/lpc17xx-base.ld-app
board/arm/lpc17xx-common/libs/ldscripts/lpc17xx-base.ld-boot

index 7962816bcfadd912ff75324e2c9daa06b11be684..d4bf8be3575b4a0ec94a96e1320540fbf46b7b20 100644 (file)
@@ -22,8 +22,14 @@ extern char __flash_base;
 
 #define BBCONF_MAGIC_VAL  0xd1ab46d6
 
+#if defined(__thumb2__) || defined (__ARM_ARCH_6M__)
+#define BBCONF_MAGIC_ADDR (BBCONF_FLASH_START+0x20)
+#define BBCONF_PTPTR_ADDR (BBCONF_FLASH_START+0x24)
+
+#else
 #define BBCONF_MAGIC_ADDR (BBCONF_FLASH_START+0x40)
 #define BBCONF_PTPTR_ADDR (BBCONF_FLASH_START+0x44)
+#endif
 
 #define BBCONF_PTTAG_END          0x00
 #define BBCONF_PTTAG_BBVER        0x01
index 516785b29dafc0a4c5ec2aad09a8092c391a73ac..25263000199c65af771c3a8f5cf1a485f9443942 100644 (file)
@@ -78,7 +78,8 @@ void WEAK             MCPWM_IRQHandler(void);          /* Motor Control PWM */
 void WEAK              QEI_IRQHandler(void);            /* Quadrature Encoder Interface */
 void WEAK              PLL1_IRQHandler(void);           /* PLL1 (USB PLL) */
 
-
+void WEAK              __bbconf_pt_magic(void);
+void WEAK              __bbconf_pt_addr(void);
 
 /* Exported types --------------------------------------------------------------*/
 /* Exported constants --------------------------------------------------------*/
@@ -130,8 +131,8 @@ void (* const g_pfnVectors[])(void) =
         BusFault_Handler,          /* Bus Fault Handler */
         UsageFault_Handler,        /* Usage Fault Handler */
         0,                         /* Reserved */
-        0,                         /* Reserved */
-        0,                         /* Reserved */
+        __bbconf_pt_magic,         /* Reserved or BBCONF_MAGIC_ADDR */
+        __bbconf_pt_addr,          /* Reserved or BBCONF_PTPTR_ADDR */
         0,                         /* Reserved */
         SVC_Handler,               /* SVCall Handler */
         DebugMon_Handler,          /* Debug Monitor Handler */
index d3b7bb4f0ed9ce36f41167c983266c0ef961d4dc..307b4923e56a0313a9c91903d0b0d5ed3e06fd00 100644 (file)
@@ -7,6 +7,7 @@
 ENTRY(g_pfnVectors)
 
 PROVIDE (_setup_board = 0);
+PROVIDE (__bbconf_pt_magic = 0xd1ab46d6);
 
 /* SECTION command : Define mapping of input sections */
 /* into output sections. */
index b2c64fa863fba493dfc23aa3a6604851b73e1770..6d8012885101f26c7324a26939965cdf0f496e7a 100644 (file)
@@ -7,6 +7,7 @@
 ENTRY(g_pfnVectors)
 
 PROVIDE (_setup_board = 0);
+PROVIDE (__bbconf_pt_magic = 0xd1ab46d6);
 
 /* SECTION command : Define mapping of input sections */
 /* into output sections. */