0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

单片机脚本语言移植lua到stm32MDK的步骤

汽车玩家 来源:cnblogs 作者:cnblogs 2021-07-22 16:54 次阅读

Lua是一个小巧的脚本语言。作者是巴西人。该语言的设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。

Lua脚本能够非常easy的被C/C++ 代码调用,也能够反过来调用C/C++的函数,这使得Lua在应用程序中能够被广泛应用。不只作为扩展脚本,也能够作为普通的配置文件,取代XML,Ini等文件格式,而且更easy理解和维护。

Lua的目标是成为一个非常easy嵌入其他语言中使用的语言。大多数程序猿也觉得它的确做到了这一点。

非常多应用程序使用LUA作为自己的嵌入式脚本语言,以此来实现可配置性、可扩展性。这当中包含魔兽世界、博德之门、愤慨的小鸟、VOCALOID3 等。

MDK下lua移植到stm32

移植lua

  • l 加入�lua源代码到MDK,把lua.c 和luac.c删除。

l 改动堆栈大小:堆最小为5.5kb,栈最小是1.5kb。lua的空间分配在堆空间。16kb的内存建议分配是堆11Kb,栈4Kb,留1Kb给全局变量。

在startup_stm32f10x_md.s文件里

; stack size 0x1000 == 4Kb

Stack_Size EQU 0x00001000

; heap size 0x2c00 == 11Kb

Heap_Size EQU 0x00002C00

  • l 重写标准库底层函数

typedef int FILEHANDLE;

#pragma import(__use_no_semihosting_swi)

#pragma import(_main_redirection)

const char __stdin_name[150];

const char __stdout_name[150];

const char __stderr_name[150];

FILEHANDLE _sys_open(const char *name, intopenmode)

{

return0;

}

int _sys_close(FILEHANDLE fh)

{

return 0;

}

int _sys_write(FILEHANDLE fh, constunsigned char *buf, unsigned len, int mode)

{

return0;

}

int _sys_read(FILEHANDLE fh, unsigned char*buf, unsigned len, int mode)

{

return0;

}

  • //检查句柄是否为终端

int _sys_istty(FILEHANDLE fh)

{

return0;

}

int _sys_seek(FILEHANDLE fh, long pos)

{

return0;

}

  • //刷新句柄关联的缓冲区

int _sys_ensure(FILEHANDLE fh)

{

return0;

}

  • //返回文件当前长度

long _sys_flen(FILEHANDLE fh)

{

return0;

}

void _sys_exit(int status)

{

//while(1);

}

int _sys_tmpnam(char *name, int fileno, unsignedmaxlength)

{

return0;

}

  • //将一个字符写入控制台

void _ttywrch(int ch)

{

}

int remove(const char *filename)

{

return0;

}

char *_sys_command_string(char *cmd, intlen)

{

return NULL;

}

static int lua_led_on(lua_State *L)

{

GPIO_ResetBits(GPIOC,GPIO_Pin_13);

return1;

}


文章整合自:cnblogs

编辑:ymf

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    6001

    文章

    43973

    浏览量

    620847
  • C语言
    +关注

    关注

    180

    文章

    7530

    浏览量

    128732
  • 脚本语言
    +关注

    关注

    0

    文章

    47

    浏览量

    8113
收藏 人收藏

    评论

    相关推荐

    用DAVE生成的工程怎么移植MDK

    请问用DAVE生成的工程怎么移植MDK
    发表于 02-26 08:44

    你用过哪些编程语言开发单片机

    C语言是最常用的一种用于单片机的开发语言,也是一种高级编程语言,具有较好的可移植性和可读性。对于单片机
    发表于 12-04 10:18 338次阅读

    javascript运行在什么的脚本语言

    avaScript 是一种运行在客户端的脚本语言,也是目前最流行的脚本语言之一。它可以嵌入到 HTML 页面中,通过浏览器来解释和执行。这意味着它不需要独立的编译器,而是由浏览器动态执行,因此它是
    的头像 发表于 12-03 11:33 525次阅读

    关于AD5940移植其他单片机上的问题求解

    你好,我想问一下关于AD5940移植其他单片机上的问题,我有以下问题。 1、我在调试过程中,单片机可以正常发送数据,但无法读回AD5940芯片的数据,为什么会出现这种情况?AD594
    发表于 12-01 06:05

    为什么要学习TTL脚本

    2.1 TTL背景 所谓 TTL, 其实是 Tera Term Language 的缩写, 也就是 Tera Term 的专用脚本语言. 那么 Tera Term(Wiki)是个什么东西呢? 其实
    的头像 发表于 11-24 16:00 440次阅读
    为什么要学习TTL<b class='flag-5'>脚本</b>

    脚本语言和编程语言的区别

    脚本语言和编程语言是计算机语言的两个主要分类。尽管两者都是用于编写计算机程序的工具,但它们在设计和运行方式上存在一些显著的区别。下面将详细探讨脚本语言和编程
    的头像 发表于 11-22 14:33 1388次阅读

    如何将FreeMODBUS协议栈移植AT32F43x单片机

    本应用笔记介绍了如何将FreeMODBUS协议栈移植AT32F43x单片机方法。本文档提供的源代码演示了使用Modbus的应用程序。单片机作为Modbus从
    发表于 10-26 06:18

    请问avr程序如何移植STC单片机?

    avr程序如何移植STC单片机?
    发表于 10-08 08:38

    51单片机C语言入门教程

    学习单片机实在不是件易事,一来要购买高价格的编程器,仿真器,二来要学习编程语言,还有众多种类的单片机选择真是件让人头痛的事。在众多单片机中 51 架构的芯片风行很久,学习资料也相对很多
    发表于 09-28 08:01

    FreeRTOS移植STM32F103步骤与注意事项

    u3000u3000由于之前听过太多人抱怨移植FreeRTOSSTM32有各种各样的问题,小灯经过一年多对FreeRTOS的研究并在公司产品中应用, 多少有些心得, 接下来就由小灯以最新版
    发表于 09-26 08:03

    一款漂亮的板子 #单片机 #FreeRTOS #stm32 #stm32单片机

    单片机STM32
    百问网官方
    发布于 :2023年09月20日 15:26:00

    怎么擦除stm32单片机里面的程序呢?

    怎么擦除stm32单片机里面的程序呢? 要擦除STM32单片机内部的程序,需要以下步骤: 1. 准备工具和设备 要擦除
    的头像 发表于 09-14 14:22 8702次阅读

    如何创建51单片机KEIL工程步骤

    1. 什么是Keil软件 Keil软件是一款专为嵌入式系统开发而设计的集成开发环境(IDE),常用于51、STM32单片机软件开发的编程软件。Keil编程软件不仅支持多种工具和扩展程序,还能够处理
    的头像 发表于 09-11 10:49 1609次阅读
    如何创建51<b class='flag-5'>单片机</b>KEIL工程<b class='flag-5'>步骤</b>

    单片机有前途吗?

    了。如果一开始就选择非51单片机学习,那将是“路漫漫其修远兮,你将艰难而求索!” 那学51单片机用C语言还是汇编语言好?当然是C语言了。因为
    发表于 09-06 10:59

    stm32用什么语言编程 STM32单片机原理

    STM32单片机是一种基于ARM Cortex-M内核的微控制器单元(MCU)系列。它具有丰富的外设和功能,被广泛应用于嵌入式系统开发。
    的头像 发表于 08-02 15:19 1.2w次阅读