main.lua 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. PROJECT = "FS"
  2. VERSION = "1.0.0"
  3. require "log"
  4. require "sys"
  5. -- 挂载 flash 需要打开相应的电压域, 同时需要注意 flash 正常工作的电压范围
  6. pmd.ldoset(15, pmd.LDO_VLCD)
  7. -- 需要挂载文件的路径
  8. local USER_DIR_PATH = "/user_dir"
  9. -- 挂载文件 需要挂载的路径, 挂载 flash 的大小
  10. -- eg:挂载 8M mountF(path, 8)
  11. function mountF(path, n)
  12. -- 这里 n 的单位是 MByte
  13. local size = n*1024*1024
  14. -- 挂载前需要先 format, 否则不会挂载成功, 但是 format 会清空 flash
  15. -- 所以会先尝试 mount, 失败之后再去尝试 format, mount
  16. local result = io.mount(io.EXTERN_PINLCD, path, size)
  17. if result == 1 then
  18. log.info("mount", "success")
  19. return true
  20. else
  21. log.info("mount fail", "format")
  22. result = io.format(io.EXTERN_PINLCD, path, size)
  23. log.info("format result", result)
  24. result = io.mount(io.EXTERN_PINLCD, path, size)
  25. if result == 1 then
  26. log.info("mount", "success")
  27. return true
  28. else
  29. log.info("mount", "fail")
  30. return false
  31. end
  32. end
  33. end
  34. sys.taskInit(function()
  35. sys.wait(8000)
  36. -- 挂载 8MByte flash, 如果失败则退出
  37. if not mountF(USER_DIR_PATH, 8) then
  38. log.info("mount", "false")
  39. return
  40. end
  41. io.writeFile(USER_DIR_PATH..'/a.txt', "1234")
  42. log.info("readFile", io.readFile(USER_DIR_PATH..'/a.txt'))
  43. end)
  44. sys.init(0, 0)
  45. sys.run()