Эх сурвалжийг харах

add: 添加fdb库的引用,修正sfd_onchip_erase的实现

Wendal Chen 4 жил өмнө
parent
commit
331b6af0b0

+ 3 - 0
app/port/luat_base_air101.c

@@ -142,6 +142,9 @@ static const luaL_Reg loadedlibs[] = {
 #endif
 #ifdef LUAT_USE_NIMBLE
   {"nimble",    luaopen_nimble},
+#endif
+#ifdef LUAT_USE_FDB
+  {"fdb",       luaopen_fdb},
 #endif
   {NULL, NULL}
 };

+ 1 - 0
app/port/luat_conf_bsp.h

@@ -52,6 +52,7 @@
 
 #define LUAT_USE_SHELL 1
 // #define LUAT_USE_NIMBLE 1
+#define LUAT_USE_FDB 1
 
 //---------------------
 // UI

+ 12 - 7
app/port/luat_sfd_onchip_air101.c

@@ -1,7 +1,7 @@
 #include "luat_base.h"
 #include "luat_sfd.h"
 
-#ifdef LUAT_SFD_ONCHIP
+// #ifdef LUAT_SFD_ONCHIP
 
 #define LUAT_LOG_TAG "onchip"
 #include "luat_log.h"
@@ -13,7 +13,12 @@
 int sfd_onchip_init (void* userdata) {
     sfd_onchip_t* onchip = (sfd_onchip_t*)userdata;
     if (onchip == NULL)
-        return -1;
+       return -1;
+#ifdef AIR101
+    onchip->addr = (0x1FC000 - 112 * 1024 - 64 * 1024);
+#else
+    onchip->addr = (0x0FC000 - 112 * 1024 - 64 * 1024);
+#endif
     return 0;
 }
 
@@ -25,7 +30,7 @@ int sfd_onchip_read (void* userdata, char* buff, size_t offset, size_t len) {
     int ret;
     sfd_onchip_t* onchip = (sfd_onchip_t*)userdata;
     if (onchip == NULL)
-        return -1;
+       return -1;
     ret = tls_fls_read(offset + onchip->addr, (u8 *)buff, len);
     if (ret != TLS_FLS_STATUS_OK)
     {
@@ -38,7 +43,7 @@ int sfd_onchip_write (void* userdata, const char* buff, size_t offset, size_t le
     int ret;
     sfd_onchip_t* onchip = (sfd_onchip_t*)userdata;
     if (onchip == NULL)
-        return -1;
+       return -1;
     ret = tls_fls_write(offset + onchip->addr, (u8 *)buff, len);
     if (ret != TLS_FLS_STATUS_OK)
     {
@@ -50,8 +55,8 @@ int sfd_onchip_erase (void* userdata, size_t offset, size_t len) {
     int ret;
     sfd_onchip_t* onchip = (sfd_onchip_t*)userdata;
     if (onchip == NULL)
-        return -1;
-    ret = tls_fls_erase(offset + onchip->addr);
+       return -1;
+    ret = tls_fls_erase((offset + onchip->addr) / INSIDE_FLS_SECTOR_SIZE);
     if (ret != TLS_FLS_STATUS_OK)
     {
         return -1;
@@ -63,4 +68,4 @@ int sfd_onchip_ioctl (void* userdata, size_t cmd, void* buff) {
     return 0;
 }
 
-#endif
+// #endif