293 Star 1.6K Fork 383

GVP合宙Luat / LuatOS

 / 详情

[🚀新需求]: ota的demo异常,如何排查?

已完成
创建于  
2024-04-26 14:56

您的功能请求是否与解决某些问题有关?请描述一下。/ Is your feature request related to a problem? Please describe.

-- LuaTools需要PROJECT和VERSION这两个信息
PROJECT = "otademo"
VERSION = "1.0.0"
log.info("main", PROJECT, VERSION)
-- sys库是标配
_G.sys = require("sys")
if wdt then
--添加硬狗防止程序卡死,在支持的设备上启用这个功能
wdt.init(9000)--初始化watchdog设置为9s
sys.timerLoopStart(wdt.feed, 3000)--3s喂一次狗
end
local bin_path = "/luadb/"
local bin_name = "update.bin"
local tar_path = "/"
--[[
ota流程就是把update.bin放在根目录(esp为"/spiffs/" 其余为"/"),重启后会自动升级.
update.bin制作方法:luatools中点击生成量产文件,将 SOC量产及远程升级文件 目录中的XXX.ota文件更名为update.bin即可
]]
sys.taskInit(function()
sys.wait(5000)
log.info("-----------------old-------------------")
local update = io.open(bin_path..bin_name, "rb")
local update_data = update:read("*a")
-- log.info(bin_name, "bin_data", update_data)
log.info("bin 文件:",#update_data, update_data:toHex())

local bin = io.open(tar_path..bin_name, "wb")
bin:write(update_data)
update:close()
bin:close()

local readbin=  io.open(tar_path..bin_name, "rb")
local readbindata= readbin:read("*a")
log.info("bin 文件再读一次:",#readbindata, readbindata:toHex())
readbin:close()
rtos.reboot()   

-- local bin = io.open(tar_path..bin_name, "rb")
-- local bin_data = bin:read("*a")
-- log.info(bin_name, "bin_data", bin_data)

end)
-- 用户代码已结束---------------------------------------------
-- 结尾总是这一句
sys.run()
-- sys.run()之后后面不要加任何语句!!!!!

描述您想要的解决方案 / Describe the solution you'd like

输入图片说明

描述您想要的详细使用步骤描述 / Describe the solution you'd like to use in what way

升级前后用的底裤一致,升级完提升md5异常。升级后的程序是:

PROJECT = "otademo"
VERSION = "1.0.0"

sys = require("sys")

-- Air780E的AT固件默认会为开机键防抖, 导致部分用户刷机很麻烦
if rtos.bsp() == "EC618" and pm and pm.PWK_MODE then
pm.power(pm.PWK_MODE, false)
end

sys.taskInit(function()
local count = 1
while 1 do
sys.wait(1000)
log.info("luatos", "hiu", count, os.date())
-- lua内存
log.info("lua", rtos.meminfo())
-- sys内存
log.info("sys", rtos.meminfo("sys"))
count = count + 1
end
end)

-- 用户代码已结束---------------------------------------------
-- 结尾总是这一句
sys.run()

这几行代码不足1k,估计是按照1k对齐的吧。

其他备注信息或截图 / Add any other context or screenshots about the feature request here

确认信息

  • 检查过该需求,之前没有人提过 / Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
  • 这个需求是真实存在的,并且对于本项目来说是必要的
  • 我已经提供了该需求的清晰、详细、完整的方案,请按该方案进行实施
  • 我认为我提供的信息已经足够,不需要其他人继续完善该需求的其他细节
  • 我同意跟进该需求的实施进程,并在适时提供合理的解释与纠正

评论 (3)

侯师傅 创建了任务

在air103和esp32c3上测试的,其他芯片有fota,不需要 :laughing: 这功能。

升级文件需要大于1k

试了试,可以。居然是这么个问题。

alien2017 任务状态待办的 修改为已完成

登录 后才可以发表评论

状态
负责人
项目
里程碑
Pull Requests
关联的 Pull Requests 被合并后可能会关闭此 issue
分支
开始日期   -   截止日期
-
置顶选项
优先级
预计工期 (小时)
参与者(2)
12358798 wenwen3362159 1715731653 4674 wendal 1578914274
Lua
1
https://gitee.com/openLuat/LuatOS.git
git@gitee.com:openLuat/LuatOS.git
openLuat
LuatOS
LuatOS

搜索帮助