Преглед изворни кода

【优化】初始化过程。

Signed-off-by: armink <armink.ztl@gmail.com>
armink пре 7 година
родитељ
комит
658a75afd6
3 измењених фајлова са 17 додато и 5 уклоњено
  1. 8 3
      src/fal.c
  2. 2 1
      src/fal_flash.c
  3. 7 1
      src/fal_partition.c

+ 8 - 3
src/fal.c

@@ -38,15 +38,20 @@ int fal_init(void)
     result = fal_flash_init();
 
     if (result < 0) {
-        return result;
+        goto __exit;
     }
 
     /* initialize all flash partition on FAL partition table */
     result = fal_partition_init();
 
-    if (result >= 0) {
+__exit:
+
+    if (result > 0)
+    {
         log_i("RT-Thread Flash Abstraction Layer (V%s) initialize success.", FAL_SW_VERSION);
-    } else {
+    }
+    else
+    {
         log_e("RT-Thread Flash Abstraction Layer (V%s) initialize failed.", FAL_SW_VERSION);
     }
 

+ 2 - 1
src/fal_flash.c

@@ -58,7 +58,8 @@ int fal_flash_init(void)
         {
             device_table[i]->ops.init();
         }
-        log_i("Flash device(%s) initialized finish.", device_table[i]->name);
+        log_d("Flash device | %*.*s | addr: 0x%08lx | len: %d | initialized finish.", FAL_DEV_NAME_MAX, FAL_DEV_NAME_MAX,
+                device_table[i]->name, device_table[i]->addr, device_table[i]->len);
     }
 
     init_ok = 1;

+ 7 - 1
src/fal_partition.c

@@ -133,13 +133,19 @@ int fal_partition_init(void)
             table_num = 0;
             break;
         }
-        memcpy((char *)partition_table + table_num * table_item_size, new_part, table_item_size);
+
+        memcpy(partition_table + table_num, new_part, table_item_size);
+        log_d("Find a partition | %*.*s | flash_dev: %*.*s | offset: 0x%08lx | len: 0x%08x | finish", FAL_DEV_NAME_MAX,
+                FAL_DEV_NAME_MAX, new_part->name, FAL_DEV_NAME_MAX, FAL_DEV_NAME_MAX, new_part->flash_name,
+                new_part->offset, new_part->len);
 
         table_num++;
     } while (1);
 
     if (table_num == 0)
     {
+        log_e("Partition table no found on flash: %s (len: %d) from offset: 0x%08x.", FAL_PART_TABLE_FLASH_DEV_NAME,
+                FAL_DEV_NAME_MAX, FAL_PART_TABLE_END_OFFSET);
         goto _exit;
     }
     else