硬汉嵌入式论坛

 找回密码
 立即注册
查看: 1246|回复: 4
收起左侧

[有问必答] 关于单片机嵌入Lua解释器的一些疑问

[复制链接]

13

主题

39

回帖

78

积分

初级会员

积分
78
发表于 2024-11-1 09:38:20 | 显示全部楼层 |阅读模式
最近在折腾单片机嵌入Lua,选了F103系列的大容量单片机,Flash 512k,RAM 128k,移植已经完成了,但是有一些疑惑,希望大佬们能帮忙解答一下。

1. 在移植过程中,编译报错3个函数未定义,分别是time, exit和system,根据网上资料,3个函数都是直接定义成空函数解决的,但是这几个函数在Lua中有什么用?是否需要实现这3个函数的内容?如果需要,内容是什么?
2. 同样是移植过程中,linit.c中注释了os和io库,这俩个库是否有必要开启?如果要打开,是否需要移植RTOS和文件系统?
3. 脚本我想在PC上编写,然后通过USB写入,分两种情形,一种是运行,断电后脚本就没了,一种是保存;前者是开一个缓存数组吗?后者保存到内部Flash是否够?不够的话拓展Flash还是TF卡更合适?
4. Lua可以动态分配,但是用的是C库的malloc,如果移植了RTOS,用RTOS的malloc,那分配的空间是RTOS的堆栈还是Lua的堆栈?两者的堆栈怎么分配?

刚接触Lua,不懂的太多了,如果能得到各位大佬的帮助,不胜感激!
回复

使用道具 举报

13

主题

39

回帖

78

积分

初级会员

积分
78
 楼主| 发表于 2024-11-1 09:45:14 | 显示全部楼层
追加一个问题,文件系统选择上推荐什么?FatFS?LittleFS?
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117512
QQ
发表于 2024-11-1 12:16:12 | 显示全部楼层
1、用到了加,暂时用不到,不用加
2、同上
3、Flash或者SD卡均可
4、都没有用,这个需要用户独立开个大内存给RTOS使用,RTOS从这个里面分配。
5、这两个都可以,注意LittleFS不兼容FAT
回复

使用道具 举报

13

主题

39

回帖

78

积分

初级会员

积分
78
 楼主| 发表于 2024-11-1 15:26:00 | 显示全部楼层
另外想问一下,Lua支持面向对象,那我想定义一个Lua类来供Lua脚本使用,是在.c文件中实现?还是在.lua中实现?用.lua文件实现的话,怎么在编译时把他加入到Lua解释器的库中?
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117512
QQ
发表于 2024-11-2 10:21:48 | 显示全部楼层
紫苑Yoo梦 发表于 2024-11-1 15:26
另外想问一下,Lua支持面向对象,那我想定义一个Lua类来供Lua脚本使用,是在.c文件中实现?还是在.lua中实 ...

这种的推荐在底层封装好,然后让LUA调用。不要做到LUA层,反倒使用麻烦了。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-8-12 06:31 , Processed in 0.040021 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表