本工程是一个使用Luat_CSDK_Air724U(非官方修改版)进行开发的Demo程序。
类似于桌面程序的资源文件。源代码实现的目录为 rc。
在固件编写中,很多时候需要大量的固定数据,直接手工嵌入到C文件里比较麻烦。
通过读取文件转换到对应C文件可大大节省时间,可添加常用的文件(如各种证书)或者不适宜放在可读写的文件系统中的文件(如需要在格式化中保留或者初始参数)。转换程序源代码为rc/fsgen.cpp。
使用步骤如下:
将待添加的文件放入 rc/fs目录下。
使用文件名调用以下函数(需包含相应头文件RC.h):
//通过名称获取资源大小
size_t RCGetSize(const char * name);
//通过名称获取资源指针
const unsigned char * RCGetHandle(const char * name);
SFFS是由CSDK支持的预先放置文件的方法。添加文件的目录为sffs/sffs,即目录下的文件将添加至文件系统根目录中,通过iot_fs.h中的API访问。与资源文件不同的是,文件系统中文件可读写,也可存放较大的文件(受APP代码空间限制,资源文件不可存放较大的文件)。
由于本源代码包含第三方源代码,故直接下载可能有部分源代码缺失,需要通过以下方法解决:
在进行git clone 使用--recurse-submodules参数。
若已通过git clone下载,则在源代码目录中执行以下命令下载子模块:
git submodule update --init --recursive
使用menuconfig.bat将MQTT切换至OneNETDevice。
测试结果
运行buildenv.bat后,工程文件在build目录下,后缀名为cbp。若出现失败提示可能没有此文件,此时源代码可能有误。
若直接使用codeblocks打开时,只能编辑源代码,而不能执行编译命令测试源代码(有些命令未使用绝对路径,需要在编译环境中执行)。
若要正常使用编译命令,请按以下步骤操作:
正常编译完成后,最终的固件在 build/hex 目录下,后缀名为pac。
此时可直接使用合宙官方的Luatools的固件下载烧录,烧录方式有以下两种:
采用UART2输出调试信息,通过串口调试查看。波特率:921600 8N1。
USB虚拟的AP端口的日志(官方默认的方式)。由于官方默认的日志信息较多,需要使用 applog 作为关键字筛选日志。
注意:由于USB虚拟端口需要时间启动(上位机枚举)及程序崩溃后USB虚拟端口立即失效,少数日志可能抓不到。
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。