1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
|
From dccafc454105dba916c0b3e56dfaa95393242cee Mon Sep 17 00:00:00 2001
From: Ulf Samuelsson <ulf_samuelsson@telia.com>
Date: Fri, 28 Oct 2011 12:47:58 +0200
Subject: [PATCH 39/39] Add falback images for SD-Card
---
driver/MEDSdcard.c | 21 +++++++++++++++++++--
1 files changed, 19 insertions(+), 2 deletions(-)
diff --git a/driver/MEDSdcard.c b/driver/MEDSdcard.c
index 8c6a36a..1545634 100644
--- a/driver/MEDSdcard.c
+++ b/driver/MEDSdcard.c
@@ -52,6 +52,9 @@ extern unsigned int altboot;
#define IMAGE_NAME OS_IMAGE_NAME
#endif
+#define IMAGE_FALLBACK1 CONFIG_BOARD "\\U-BOOT.BIN"
+#define IMAGE_FALLBACK2 "U-BOOT.BIN"
+
//------------------------------------------------------------------------------
// Constants
//------------------------------------------------------------------------------
@@ -497,7 +500,6 @@ unsigned char MEDSdcard_Initialize(Media * media, unsigned char mciID)
// Initialize the SD card driver
if (SD_Init(sdDrv, (SdDriver *) mciDrv)) {
dbg_log(1, "*** SD_Init: failed\n\r");
- while (1) ;
return 0;
} else {
//SD_DisplayRegisterCSD(&sdDrv);
@@ -694,8 +696,9 @@ unsigned int load_SDCard(void *dst)
unsigned char ret;
ret = MEDSdcard_Initialize(&medias[0], BOARD_SD_MCI_ID_USE);
- if(ret) {
+ if(ret == 0) {
dbg_log(1, "Error while initializing SD-Card\r\n");
+ while (1) ;
}
memset(&fs, 0, sizeof (FATFS)); // Clear file system object
@@ -709,6 +712,20 @@ unsigned int load_SDCard(void *dst)
if (res != FR_OK) {
dbg_log(1, "*** f_open, File name: [%s]: error!\n\r", IMAGE_NAME);
+#if defined(CONFIG_FALLBACKS)
+ dbg_log(1, "*** trying: [%s]\n\r", IMAGE_FALLBACK1);
+ res = f_open(&fileObject, IMAGE_FALLBACK1, FA_OPEN_EXISTING | FA_READ);
+ }
+
+ if (res != FR_OK) {
+ dbg_log(1, "*** f_open, File name: [%s]: error!\n\r", IMAGE_FALLBACK1);
+ dbg_log(1, "*** trying: [%s]\n\r", IMAGE_FALLBACK2);
+ res = f_open(&fileObject, IMAGE_FALLBACK2, FA_OPEN_EXISTING | FA_READ);
+ }
+
+ if (res != FR_OK) {
+ dbg_log(1, "*** f_open, File name: [%s]: error!\n\r", IMAGE_FALLBACK2);
+#endif
while (1) ;
}
--
1.7.5.4
|