main.lua 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. -- LuaTools需要PROJECT和VERSION这两个信息
  2. PROJECT = "little_flash_demo"
  3. VERSION = "1.0.0"
  4. log.info("main", PROJECT, VERSION)
  5. sys = require("sys")
  6. --添加硬狗防止程序卡死
  7. if wdt then
  8. wdt.init(9000)--初始化watchdog设置为9s
  9. sys.timerLoopStart(wdt.feed, 3000)--3s喂一次狗
  10. end
  11. -- spi_id,pin_cs
  12. local function little_flash_spi_pin()
  13. local rtos_bsp = rtos.bsp()
  14. if rtos_bsp == "AIR101" then
  15. return 0,pin.PB04
  16. elseif rtos_bsp == "AIR103" then
  17. return 0,pin.PB04
  18. elseif rtos_bsp == "AIR105" then
  19. return 5,pin.PC14
  20. elseif rtos_bsp == "ESP32C3" then
  21. return 2,7
  22. elseif rtos_bsp == "ESP32S3" then
  23. return 2,14
  24. elseif rtos_bsp == "EC618" then
  25. return 0,8
  26. elseif string.find(rtos_bsp,"EC718") then
  27. return 0,8
  28. else
  29. log.info("main", "bsp not support")
  30. return
  31. end
  32. end
  33. sys.taskInit(function()
  34. -- log.info("等5秒")
  35. sys.wait(1000)
  36. local spi_id,pin_cs = little_flash_spi_pin()
  37. if not spi_id then
  38. while 1 do
  39. sys.wait(1000)
  40. log.info("main", "bsp not support yet")
  41. end
  42. end
  43. log.info("lf", "SPI", spi_id, "CS PIN", pin_cs)
  44. spi_flash = spi.deviceSetup(spi_id,pin_cs,0,0,8,20*1000*1000,spi.MSB,1,0)
  45. log.info("lf", "spi_flash", spi_flash)
  46. little_flash_device = lf.init(spi_flash)
  47. if little_flash_device then
  48. log.info("lf.init ok",little_flash_device)
  49. else
  50. log.info("lf.init Error")
  51. return
  52. end
  53. if lf.mount then
  54. local ret = lf.mount(little_flash_device,"/little_flash")
  55. log.info("lf.mount", ret)
  56. if ret then
  57. log.info("little_flash", "挂载成功")
  58. log.info("fsstat", fs.fsstat("/little_flash"))
  59. -- 挂载成功后,可以像操作文件一样操作
  60. local f = io.open("/little_flash/test", "w")
  61. f:write(os.date())
  62. f:close()
  63. log.info("little_flash", io.readFile("/little_flash/test"))
  64. -- 文件追加
  65. os.remove("/little_flash/test2")
  66. io.writeFile("/little_flash/test2", "LuatOS")
  67. local f = io.open("/little_flash/test2", "a+")
  68. f:write(" - " .. os.date())
  69. f:close()
  70. log.info("little_flash", io.readFile("/little_flash/test2"))
  71. else
  72. log.info("little_flash", "挂载失败")
  73. end
  74. end
  75. end)
  76. -- 用户代码已结束---------------------------------------------
  77. -- 结尾总是这一句
  78. sys.run()
  79. -- sys.run()之后后面不要加任何语句!!!!!