22 Star 65 Fork 27

珠海杰理科技 / fw-AD15N

 / 详情

FAQ:如何移植vm功能至mcu工程?

待办的
创建于  
2024-04-12 10:37

一、vm记忆原理以及其依赖关系说明

开发者移植vm至mcu工程,首先需要了解vm功能原理以及其依赖关系。首先vm的记忆原理是在系统掉电之前写入需要保存的信息到 内置系统flash 的“EEPROM区域”,这样可以在下一次上电之后通过访问flash从对应的区域读取掉电前保存的信息。vm在初始化过程中需要通过 文件系统(syd) 的方式初始化“EEPROM区域”,而文件系统在挂载和开文件时需要 申请内存 给文件系统和文件句柄。所以我们可以了解到 vm功能 需要依赖 文件系统设备(内置系统flash)malloc 相关功能。

二、移植流程步骤

接下来以AD15v1.8.0 mcu SDK为例,简要说明vm移植流程
1、 链接相关的静态库。
按照上述说明的依赖关系,链接malloc、设备、文件系统和vm静态库。链接之前最好从voice_toy工程的liba目录将需要的库拷贝到mcu的liba目录。
说明
2、加入相关的初始化代码
init.c中的依赖函数可以直接从voice_toy工程中移植。
输入图片说明
3、添加相关的依赖代码
将框内的依赖代码加入编译
输入图片说明
4、在app_config.h中选择vm,然后打开vm初始化中的demo,测试vm是否读写正常

输入图片说明
输入图片说明

评论 (0)

jl-wancheng 创建了任务
jl-wancheng 修改了描述
展开全部操作日志

登录 后才可以发表评论

状态
负责人
里程碑
Pull Requests
关联的 Pull Requests 被合并后可能会关闭此 issue
分支
开始日期   -   截止日期
-
置顶选项
优先级
参与者(1)
C
1
https://gitee.com/Jieli-Tech/fw-AD15N.git
git@gitee.com:Jieli-Tech/fw-AD15N.git
Jieli-Tech
fw-AD15N
fw-AD15N

搜索帮助