mirror of
git://projects.qi-hardware.com/openwrt-xburst.git
synced 2025-04-21 12:27:27 +03:00
Cleanups on romboot and u-boot.
Conditionally apply ldd and ldconfig support on at91 platform git-svn-id: svn://svn.openwrt.org/openwrt/trunk@6862 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
@@ -2,251 +2,251 @@ diff -urN romboot.old/init.cpp romboot/init.cpp
|
||||
--- romboot.old/init.cpp 2007-03-24 13:34:19.000000000 +0100
|
||||
+++ romboot/init.cpp 2007-03-24 12:23:19.000000000 +0100
|
||||
@@ -207,9 +207,10 @@
|
||||
AT91F_US_EnableRx((AT91PS_USART)AT91C_BASE_DBGU);
|
||||
|
||||
/* Enable PIO to access the LEDs */
|
||||
- AT91C_BASE_PIOB->PIO_PER = AT91C_PIO_PB2;
|
||||
- AT91C_BASE_PIOB->PIO_OER = AT91C_PIO_PB2;
|
||||
- AT91C_BASE_PIOB->PIO_CODR = AT91C_PIO_PB2;
|
||||
+ AT91C_BASE_PIOC->PIO_PER = AT91C_PIO_PC7 | AT91C_PIO_PC8 | AT91C_PIO_PC14 | AT91C_PIO_PC15;
|
||||
+ AT91C_BASE_PIOC->PIO_OER = AT91C_PIO_PC7 | AT91C_PIO_PC8 | AT91C_PIO_PC14 | AT91C_PIO_PC15;
|
||||
+ AT91C_BASE_PIOC->PIO_CODR = AT91C_PIO_PC7 | AT91C_PIO_PC15;
|
||||
+ AT91C_BASE_PIOC->PIO_SODR = AT91C_PIO_PC8 | AT91C_PIO_PC14;
|
||||
|
||||
// AT91F_DBGU_Printk("\n\rAT91F_LowLevelInit(): Debug channel initialized\n\r");
|
||||
}
|
||||
AT91F_US_EnableRx((AT91PS_USART)AT91C_BASE_DBGU);
|
||||
|
||||
/* Enable PIO to access the LEDs */
|
||||
- AT91C_BASE_PIOB->PIO_PER = AT91C_PIO_PB2;
|
||||
- AT91C_BASE_PIOB->PIO_OER = AT91C_PIO_PB2;
|
||||
- AT91C_BASE_PIOB->PIO_CODR = AT91C_PIO_PB2;
|
||||
+ AT91C_BASE_PIOC->PIO_PER = AT91C_PIO_PC7 | AT91C_PIO_PC8 | AT91C_PIO_PC14 | AT91C_PIO_PC15;
|
||||
+ AT91C_BASE_PIOC->PIO_OER = AT91C_PIO_PC7 | AT91C_PIO_PC8 | AT91C_PIO_PC14 | AT91C_PIO_PC15;
|
||||
+ AT91C_BASE_PIOC->PIO_CODR = AT91C_PIO_PC7 | AT91C_PIO_PC15;
|
||||
+ AT91C_BASE_PIOC->PIO_SODR = AT91C_PIO_PC8 | AT91C_PIO_PC14;
|
||||
|
||||
// AT91F_DBGU_Printk("\n\rAT91F_LowLevelInit(): Debug channel initialized\n\r");
|
||||
}
|
||||
diff -urN romboot.old/main.cpp romboot/main.cpp
|
||||
--- romboot.old/main.cpp 2007-03-24 13:34:19.000000000 +0100
|
||||
+++ romboot/main.cpp 2007-03-24 12:28:55.000000000 +0100
|
||||
@@ -13,6 +13,7 @@
|
||||
//*----------------------------------------------------------------------------
|
||||
#include <AT91RM9200.h>
|
||||
#include <lib_AT91RM9200.h>
|
||||
+#include <AT91C_MCI_Device.h>
|
||||
|
||||
#include "com.h"
|
||||
#include "main.h"
|
||||
//*----------------------------------------------------------------------------
|
||||
#include <AT91RM9200.h>
|
||||
#include <lib_AT91RM9200.h>
|
||||
+#include <AT91C_MCI_Device.h>
|
||||
|
||||
#include "com.h"
|
||||
#include "main.h"
|
||||
@@ -39,16 +40,31 @@
|
||||
extern void AT91F_DBGU_Printk(char *);
|
||||
extern "C" void AT91F_ST_ASM_Handler(void);
|
||||
extern "C" void Jump(unsigned int addr);
|
||||
-extern int mci_main(void);
|
||||
+extern int AT91F_MCI_Init(void);
|
||||
+#define TRUE 1
|
||||
+#define FALSE 0
|
||||
+
|
||||
+/* from trxhdr.h */
|
||||
+
|
||||
+#define TRX_MAGIC 0x30524448 /* "HDR0" */
|
||||
+#define TRX_VERSION 1
|
||||
+
|
||||
+struct trx_header {
|
||||
+ unsigned int magic;
|
||||
+ unsigned int len;
|
||||
+ unsigned int crc32;
|
||||
+ unsigned int flag_version;
|
||||
+ unsigned int offsets[3];
|
||||
+};
|
||||
|
||||
//const char *menu_separ = "*----------------------------------------*\n\r";
|
||||
|
||||
const char *menu_dataflash = {
|
||||
- "1: DL DF [ad]\n\r"
|
||||
- "2: RD DF [ad]\n\r"
|
||||
- "3: CP SD\n\r"
|
||||
- "4: U-BOOT\n\r"
|
||||
- "5: RM BL in DF\n\r"
|
||||
+ "1: Download DF [addr]\n\r"
|
||||
+ "2: Read DF [addr]\n\r"
|
||||
+ "3: Copy SD-Card\n\r"
|
||||
+ "4: Start U-BOOT\n\r"
|
||||
+ "5: Clear bootloder\n\r"
|
||||
};
|
||||
|
||||
//* Globales variables
|
||||
extern void AT91F_DBGU_Printk(char *);
|
||||
extern "C" void AT91F_ST_ASM_Handler(void);
|
||||
extern "C" void Jump(unsigned int addr);
|
||||
-extern int mci_main(void);
|
||||
+extern int AT91F_MCI_Init(void);
|
||||
+#define TRUE 1
|
||||
+#define FALSE 0
|
||||
+
|
||||
+/* from trxhdr.h */
|
||||
+
|
||||
+#define TRX_MAGIC 0x30524448 /* "HDR0" */
|
||||
+#define TRX_VERSION 1
|
||||
+
|
||||
+struct trx_header {
|
||||
+ unsigned int magic;
|
||||
+ unsigned int len;
|
||||
+ unsigned int crc32;
|
||||
+ unsigned int flag_version;
|
||||
+ unsigned int offsets[3];
|
||||
+};
|
||||
|
||||
//const char *menu_separ = "*----------------------------------------*\n\r";
|
||||
|
||||
const char *menu_dataflash = {
|
||||
- "1: DL DF [ad]\n\r"
|
||||
- "2: RD DF [ad]\n\r"
|
||||
- "3: CP SD\n\r"
|
||||
- "4: U-BOOT\n\r"
|
||||
- "5: RM BL in DF\n\r"
|
||||
+ "1: Download DF [addr]\n\r"
|
||||
+ "2: Read DF [addr]\n\r"
|
||||
+ "3: Copy SD-Card\n\r"
|
||||
+ "4: Start U-BOOT\n\r"
|
||||
+ "5: Clear bootloder\n\r"
|
||||
};
|
||||
|
||||
//* Globales variables
|
||||
@@ -155,14 +171,15 @@
|
||||
//*-----------------------------------------------------------------------------
|
||||
void AT91F_DisplayMenu(void)
|
||||
{
|
||||
- printf("\n\rFDL SD-Card LOADER %s %s %s\n\r", AT91C_VERSION, __DATE__, __TIME__);
|
||||
-// printf(menu_separ);
|
||||
- AT91F_DataflashPrintInfo();
|
||||
-// printf(menu_separ);
|
||||
printf(menu_dataflash);
|
||||
-// printf(menu_separ);
|
||||
}
|
||||
|
||||
+void AT91F_DisplayIntro(void)
|
||||
+{
|
||||
+ printf("\n\rFDL LOADER %s %s %s\n\r", AT91C_VERSION, __DATE__, __TIME__);
|
||||
+ AT91F_DataflashPrintInfo();
|
||||
+}
|
||||
+
|
||||
//*-----------------------------------------------------------------------------
|
||||
//* Function Name : AsciiToHex()
|
||||
//* Object : ascii to hexa conversion
|
||||
//*-----------------------------------------------------------------------------
|
||||
void AT91F_DisplayMenu(void)
|
||||
{
|
||||
- printf("\n\rFDL SD-Card LOADER %s %s %s\n\r", AT91C_VERSION, __DATE__, __TIME__);
|
||||
-// printf(menu_separ);
|
||||
- AT91F_DataflashPrintInfo();
|
||||
-// printf(menu_separ);
|
||||
printf(menu_dataflash);
|
||||
-// printf(menu_separ);
|
||||
}
|
||||
|
||||
+void AT91F_DisplayIntro(void)
|
||||
+{
|
||||
+ printf("\n\rFDL LOADER %s %s %s\n\r", AT91C_VERSION, __DATE__, __TIME__);
|
||||
+ AT91F_DataflashPrintInfo();
|
||||
+}
|
||||
+
|
||||
//*-----------------------------------------------------------------------------
|
||||
//* Function Name : AsciiToHex()
|
||||
//* Object : ascii to hexa conversion
|
||||
@@ -311,23 +328,24 @@
|
||||
AT91F_SetPLL();
|
||||
}
|
||||
|
||||
-/*void LedCode(void)
|
||||
+/*
|
||||
+void LedCode(void)
|
||||
{
|
||||
int *pRegister;
|
||||
pRegister = (int *)0xFFFFF800; // Enable port C peripheral reg
|
||||
- *pRegister = 0x3c00;
|
||||
+ *pRegister = (AT91C_PIO_PC7 | AT91C_PIO_PC8 | AT91C_PIO_PC14 | AT91C_PIO_PC15);
|
||||
pRegister = (int *)0xFFFFF810; // Output Enable reg
|
||||
- *pRegister = 0x3c00;
|
||||
+ *pRegister = (AT91C_PIO_PC7 | AT91C_PIO_PC8 | AT91C_PIO_PC14 | AT91C_PIO_PC15);
|
||||
pRegister = (int *)0xFFFFF830; // Set data
|
||||
- *pRegister = 0x1400;
|
||||
+ *pRegister = AT91C_PIO_PC7 | AT91C_PIO_PC15;
|
||||
pRegister = (int *)0xFFFFF834; // Clear bits
|
||||
- *pRegister = 0x2800;
|
||||
+ *pRegister = AT91C_PIO_PC8 | AT91C_PIO_PC14;
|
||||
}
|
||||
*/
|
||||
|
||||
+
|
||||
void AT91F_StartUboot(unsigned int dummy, void *pvoid)
|
||||
{
|
||||
- //printf("Load U-BOOT from dataflash[%x] to SDRAM[%x]\n\r", AT91C_UBOOT_DATAFLASH_ADDR, AT91C_UBOOT_ADDR);
|
||||
read_dataflash(AT91C_UBOOT_DATAFLASH_ADDR, AT91C_UBOOT_SIZE, (char *)(AT91C_UBOOT_ADDR));
|
||||
//printf("Set PLLA to 180Mhz and Master clock to 60Mhz and start U-BOOT\n\r");
|
||||
//* Reset registers
|
||||
AT91F_SetPLL();
|
||||
}
|
||||
|
||||
-/*void LedCode(void)
|
||||
+/*
|
||||
+void LedCode(void)
|
||||
{
|
||||
int *pRegister;
|
||||
pRegister = (int *)0xFFFFF800; // Enable port C peripheral reg
|
||||
- *pRegister = 0x3c00;
|
||||
+ *pRegister = (AT91C_PIO_PC7 | AT91C_PIO_PC8 | AT91C_PIO_PC14 | AT91C_PIO_PC15);
|
||||
pRegister = (int *)0xFFFFF810; // Output Enable reg
|
||||
- *pRegister = 0x3c00;
|
||||
+ *pRegister = (AT91C_PIO_PC7 | AT91C_PIO_PC8 | AT91C_PIO_PC14 | AT91C_PIO_PC15);
|
||||
pRegister = (int *)0xFFFFF830; // Set data
|
||||
- *pRegister = 0x1400;
|
||||
+ *pRegister = AT91C_PIO_PC7 | AT91C_PIO_PC15;
|
||||
pRegister = (int *)0xFFFFF834; // Clear bits
|
||||
- *pRegister = 0x2800;
|
||||
+ *pRegister = AT91C_PIO_PC8 | AT91C_PIO_PC14;
|
||||
}
|
||||
*/
|
||||
|
||||
+
|
||||
void AT91F_StartUboot(unsigned int dummy, void *pvoid)
|
||||
{
|
||||
- //printf("Load U-BOOT from dataflash[%x] to SDRAM[%x]\n\r", AT91C_UBOOT_DATAFLASH_ADDR, AT91C_UBOOT_ADDR);
|
||||
read_dataflash(AT91C_UBOOT_DATAFLASH_ADDR, AT91C_UBOOT_SIZE, (char *)(AT91C_UBOOT_ADDR));
|
||||
//printf("Set PLLA to 180Mhz and Master clock to 60Mhz and start U-BOOT\n\r");
|
||||
//* Reset registers
|
||||
@@ -337,6 +355,67 @@
|
||||
while(1);
|
||||
}
|
||||
|
||||
+#define AT91C_MCI_TIMEOUT 1000000
|
||||
+
|
||||
+extern AT91S_MciDevice MCI_Device;
|
||||
+
|
||||
+extern void AT91F_MCIDeviceWaitReady(unsigned int);
|
||||
+extern int AT91F_MCI_ReadBlockSwab(AT91PS_MciDevice, int, unsigned int *, int);
|
||||
+
|
||||
+
|
||||
+int Program_From_MCI(void)
|
||||
+{
|
||||
+ int i;
|
||||
+ unsigned int Max_Read_DataBlock_Length;
|
||||
+ int block = 0;
|
||||
+ int buffer = AT91C_DOWNLOAD_BASE_ADDRESS;
|
||||
+ int bufpos = AT91C_DOWNLOAD_BASE_ADDRESS;
|
||||
+ int NbPage = 0;
|
||||
+ struct trx_header *p;
|
||||
+ unsigned int data;
|
||||
+
|
||||
+ p = (struct trx_header *)bufpos;
|
||||
+
|
||||
+ Max_Read_DataBlock_Length = MCI_Device.pMCI_DeviceFeatures->Max_Read_DataBlock_Length;
|
||||
+
|
||||
+ AT91F_MCIDeviceWaitReady(AT91C_MCI_TIMEOUT);
|
||||
+
|
||||
+ AT91F_MCI_ReadBlockSwab(&MCI_Device, block*Max_Read_DataBlock_Length, (unsigned int *)bufpos, Max_Read_DataBlock_Length);
|
||||
+
|
||||
+ if (p->magic != TRX_MAGIC)
|
||||
+ return FALSE;
|
||||
+
|
||||
+ printf("Read SD-Card\n\r");
|
||||
+ AT91C_BASE_PIOC->PIO_CODR = AT91C_PIO_PC7 | AT91C_PIO_PC15 | AT91C_PIO_PC8 | AT91C_PIO_PC14;
|
||||
+ for (i=0; i<(p->len/512); i++) {
|
||||
+ AT91F_MCI_ReadBlockSwab(&MCI_Device, block*Max_Read_DataBlock_Length, (unsigned int *)bufpos, Max_Read_DataBlock_Length);
|
||||
+ block++;
|
||||
+ bufpos += Max_Read_DataBlock_Length;
|
||||
+ }
|
||||
+
|
||||
+ NbPage = 0;
|
||||
+ i = dataflash_info[0].Device.pages_number;
|
||||
+ while(i >>= 1)
|
||||
+ NbPage++;
|
||||
+ i = ((p->offsets[1] - p->offsets[0])/ 512) + 1 + (NbPage << 13) + (dataflash_info[0].Device.pages_size << 17);
|
||||
+ *(int *)(buffer + p->offsets[0] + AT91C_OFFSET_VECT6) = i;
|
||||
+
|
||||
+ printf("Write romboot\n\r");
|
||||
+ AT91C_BASE_PIOC->PIO_CODR = AT91C_PIO_PC7 | AT91C_PIO_PC15 | AT91C_PIO_PC14;
|
||||
+ AT91C_BASE_PIOC->PIO_SODR = AT91C_PIO_PC8;
|
||||
+ write_dataflash(0xc0000000, buffer + p->offsets[0], p->offsets[1] - p->offsets[0]);
|
||||
+ printf("Write u-boot\n\r");
|
||||
+ AT91C_BASE_PIOC->PIO_CODR = AT91C_PIO_PC7 | AT91C_PIO_PC15;
|
||||
+ AT91C_BASE_PIOC->PIO_SODR = AT91C_PIO_PC8 | AT91C_PIO_PC14;
|
||||
+ write_dataflash(0xc0008000, buffer + p->offsets[1], p->offsets[2] - p->offsets[1]);
|
||||
+ printf("Write knl/root\n\r");
|
||||
+ AT91C_BASE_PIOC->PIO_CODR = AT91C_PIO_PC8 | AT91C_PIO_PC15;
|
||||
+ AT91C_BASE_PIOC->PIO_SODR = AT91C_PIO_PC7 | AT91C_PIO_PC14;
|
||||
+ write_dataflash(0xc0042000, buffer + p->offsets[2], p->len - p->offsets[2]);
|
||||
+ AT91C_BASE_PIOC->PIO_CODR = AT91C_PIO_PC8 | AT91C_PIO_PC14;
|
||||
+ AT91C_BASE_PIOC->PIO_SODR = AT91C_PIO_PC7 | AT91C_PIO_PC15;
|
||||
+ return TRUE;
|
||||
+ }
|
||||
|
||||
//*----------------------------------------------------------------------------
|
||||
//* Function Name : main
|
||||
while(1);
|
||||
}
|
||||
|
||||
+#define AT91C_MCI_TIMEOUT 1000000
|
||||
+
|
||||
+extern AT91S_MciDevice MCI_Device;
|
||||
+
|
||||
+extern void AT91F_MCIDeviceWaitReady(unsigned int);
|
||||
+extern int AT91F_MCI_ReadBlockSwab(AT91PS_MciDevice, int, unsigned int *, int);
|
||||
+
|
||||
+
|
||||
+int Program_From_MCI(void)
|
||||
+{
|
||||
+ int i;
|
||||
+ unsigned int Max_Read_DataBlock_Length;
|
||||
+ int block = 0;
|
||||
+ int buffer = AT91C_DOWNLOAD_BASE_ADDRESS;
|
||||
+ int bufpos = AT91C_DOWNLOAD_BASE_ADDRESS;
|
||||
+ int NbPage = 0;
|
||||
+ struct trx_header *p;
|
||||
+ unsigned int data;
|
||||
+
|
||||
+ p = (struct trx_header *)bufpos;
|
||||
+
|
||||
+ Max_Read_DataBlock_Length = MCI_Device.pMCI_DeviceFeatures->Max_Read_DataBlock_Length;
|
||||
+
|
||||
+ AT91F_MCIDeviceWaitReady(AT91C_MCI_TIMEOUT);
|
||||
+
|
||||
+ AT91F_MCI_ReadBlockSwab(&MCI_Device, block*Max_Read_DataBlock_Length, (unsigned int *)bufpos, Max_Read_DataBlock_Length);
|
||||
+
|
||||
+ if (p->magic != TRX_MAGIC)
|
||||
+ return FALSE;
|
||||
+
|
||||
+ printf("Read SD-Card\n\r");
|
||||
+ AT91C_BASE_PIOC->PIO_CODR = AT91C_PIO_PC7 | AT91C_PIO_PC15 | AT91C_PIO_PC8 | AT91C_PIO_PC14;
|
||||
+ for (i=0; i<(p->len/512); i++) {
|
||||
+ AT91F_MCI_ReadBlockSwab(&MCI_Device, block*Max_Read_DataBlock_Length, (unsigned int *)bufpos, Max_Read_DataBlock_Length);
|
||||
+ block++;
|
||||
+ bufpos += Max_Read_DataBlock_Length;
|
||||
+ }
|
||||
+
|
||||
+ NbPage = 0;
|
||||
+ i = dataflash_info[0].Device.pages_number;
|
||||
+ while(i >>= 1)
|
||||
+ NbPage++;
|
||||
+ i = ((p->offsets[1] - p->offsets[0])/ 512) + 1 + (NbPage << 13) + (dataflash_info[0].Device.pages_size << 17);
|
||||
+ *(int *)(buffer + p->offsets[0] + AT91C_OFFSET_VECT6) = i;
|
||||
+
|
||||
+ printf("Write romboot\n\r");
|
||||
+ AT91C_BASE_PIOC->PIO_CODR = AT91C_PIO_PC7 | AT91C_PIO_PC15 | AT91C_PIO_PC14;
|
||||
+ AT91C_BASE_PIOC->PIO_SODR = AT91C_PIO_PC8;
|
||||
+ write_dataflash(0xc0000000, buffer + p->offsets[0], p->offsets[1] - p->offsets[0]);
|
||||
+ printf("Write u-boot\n\r");
|
||||
+ AT91C_BASE_PIOC->PIO_CODR = AT91C_PIO_PC7 | AT91C_PIO_PC15;
|
||||
+ AT91C_BASE_PIOC->PIO_SODR = AT91C_PIO_PC8 | AT91C_PIO_PC14;
|
||||
+ write_dataflash(0xc0008000, buffer + p->offsets[1], p->offsets[2] - p->offsets[1]);
|
||||
+ printf("Write knl/root\n\r");
|
||||
+ AT91C_BASE_PIOC->PIO_CODR = AT91C_PIO_PC8 | AT91C_PIO_PC15;
|
||||
+ AT91C_BASE_PIOC->PIO_SODR = AT91C_PIO_PC7 | AT91C_PIO_PC14;
|
||||
+ write_dataflash(0xc0042000, buffer + p->offsets[2], p->len - p->offsets[2]);
|
||||
+ AT91C_BASE_PIOC->PIO_CODR = AT91C_PIO_PC8 | AT91C_PIO_PC14;
|
||||
+ AT91C_BASE_PIOC->PIO_SODR = AT91C_PIO_PC7 | AT91C_PIO_PC15;
|
||||
+ return TRUE;
|
||||
+ }
|
||||
|
||||
//*----------------------------------------------------------------------------
|
||||
//* Function Name : main
|
||||
@@ -357,6 +436,7 @@
|
||||
unsigned int crc1 = 0, crc2 = 0;
|
||||
volatile int device;
|
||||
int NbPage;
|
||||
+ int mci_present;
|
||||
|
||||
stdin = fopen(0, at91_dbgu_getc);
|
||||
stdout = fopen(at91_dbgu_putc, 0);
|
||||
unsigned int crc1 = 0, crc2 = 0;
|
||||
volatile int device;
|
||||
int NbPage;
|
||||
+ int mci_present;
|
||||
|
||||
stdin = fopen(0, at91_dbgu_getc);
|
||||
stdout = fopen(at91_dbgu_putc, 0);
|
||||
@@ -387,6 +467,15 @@
|
||||
|
||||
// DataFlash on SPI Configuration
|
||||
AT91F_DataflashInit ();
|
||||
+ AT91F_DisplayIntro();
|
||||
+ mci_present = AT91F_MCI_Init();
|
||||
+
|
||||
+#ifdef PRODTEST
|
||||
+ if (mci_present) {
|
||||
+ Program_From_MCI();
|
||||
+ AT91F_StartUboot(0, (void *)0);
|
||||
+ }
|
||||
+#endif
|
||||
|
||||
// start tempo to start Uboot in a delay of 1 sec if no key pressed
|
||||
svcUbootTempo.Start(&svcUbootTempo, 1000, 0, AT91F_StartUboot, (void *)0);
|
||||
|
||||
// DataFlash on SPI Configuration
|
||||
AT91F_DataflashInit ();
|
||||
+ AT91F_DisplayIntro();
|
||||
+ mci_present = AT91F_MCI_Init();
|
||||
+
|
||||
+#ifdef PRODTEST
|
||||
+ if (mci_present) {
|
||||
+ Program_From_MCI();
|
||||
+ AT91F_StartUboot(0, (void *)0);
|
||||
+ }
|
||||
+#endif
|
||||
|
||||
// start tempo to start Uboot in a delay of 1 sec if no key pressed
|
||||
svcUbootTempo.Start(&svcUbootTempo, 1000, 0, AT91F_StartUboot, (void *)0);
|
||||
@@ -396,7 +485,7 @@
|
||||
|
||||
// stop tempo
|
||||
svcUbootTempo.Stop(&svcUbootTempo);
|
||||
-
|
||||
+
|
||||
while(1) {
|
||||
while(command == 0) {
|
||||
AddressToDownload = AT91C_DOWNLOAD_BASE_ADDRESS;
|
||||
|
||||
// stop tempo
|
||||
svcUbootTempo.Stop(&svcUbootTempo);
|
||||
-
|
||||
+
|
||||
while(1) {
|
||||
while(command == 0) {
|
||||
AddressToDownload = AT91C_DOWNLOAD_BASE_ADDRESS;
|
||||
@@ -444,7 +533,8 @@
|
||||
#endif
|
||||
|
||||
case '3':
|
||||
- mci_main();
|
||||
+ if (mci_present)
|
||||
+ Program_From_MCI();
|
||||
command=0;
|
||||
break;
|
||||
|
||||
#endif
|
||||
|
||||
case '3':
|
||||
- mci_main();
|
||||
+ if (mci_present)
|
||||
+ Program_From_MCI();
|
||||
command=0;
|
||||
break;
|
||||
|
||||
@@ -461,7 +551,6 @@
|
||||
*i = 0;
|
||||
}
|
||||
write_dataflash(0xc0000000, 0x20000000, 0x4000);
|
||||
- printf("BL CLR\r\n");
|
||||
command = 0;
|
||||
break;
|
||||
|
||||
*i = 0;
|
||||
}
|
||||
write_dataflash(0xc0000000, 0x20000000, 0x4000);
|
||||
- printf("BL CLR\r\n");
|
||||
command = 0;
|
||||
break;
|
||||
|
||||
diff -urN romboot.old/main.h romboot/main.h
|
||||
--- romboot.old/main.h 2007-03-24 13:34:19.000000000 +0100
|
||||
+++ romboot/main.h 2007-03-23 19:06:52.000000000 +0100
|
||||
@@ -27,7 +27,7 @@
|
||||
|
||||
#define AT91C_OFFSET_VECT6 0x14 //* Offset for ARM vector 6
|
||||
|
||||
-#define AT91C_VERSION "VER 1.02"
|
||||
+#define AT91C_VERSION "VER 1.03"
|
||||
// Global variables and functions definition
|
||||
extern unsigned int GetTickCount(void);
|
||||
#endif
|
||||
|
||||
#define AT91C_OFFSET_VECT6 0x14 //* Offset for ARM vector 6
|
||||
|
||||
-#define AT91C_VERSION "VER 1.02"
|
||||
+#define AT91C_VERSION "VER 1.03"
|
||||
// Global variables and functions definition
|
||||
extern unsigned int GetTickCount(void);
|
||||
#endif
|
||||
diff -urN romboot.old/Makefile romboot/Makefile
|
||||
--- romboot.old/Makefile 2007-03-24 13:34:19.000000000 +0100
|
||||
+++ romboot/Makefile 2007-03-24 10:45:38.000000000 +0100
|
||||
|
||||
Reference in New Issue
Block a user