在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

單片機腳本語言移植lua到stm32MDK的步驟

汽車玩家 ? 來源:cnblogs ? 作者:cnblogs ? 2021-07-22 16:54 ? 次閱讀

Lua是一個小巧的腳本語言。作者是巴西人。該語言的設(shè)計目的是為了嵌入應(yīng)用程序中,從而為應(yīng)用程序提供靈活的擴展和定制功能。

Lua腳本能夠非常easy的被C/C++ 代碼調(diào)用,也能夠反過來調(diào)用C/C++的函數(shù),這使得Lua在應(yīng)用程序中能夠被廣泛應(yīng)用。不只作為擴展腳本,也能夠作為普通的配置文件,取代XML,Ini等文件格式,而且更easy理解和維護。

Lua的目標是成為一個非常easy嵌入其他語言中使用的語言。大多數(shù)程序猿也覺得它的確做到了這一點。

非常多應(yīng)用程序使用LUA作為自己的嵌入式腳本語言,以此來實現(xiàn)可配置性、可擴展性。這當中包含魔獸世界、博德之門、憤慨的小鳥、VOCALOID3 等。

MDK下lua移植到stm32

移植lua

  • l 加入?lua源代碼到MDK,把lua.c 和luac.c刪除。

l 改動堆棧大小:堆最小為5.5kb,棧最小是1.5kb。lua的空間分配在堆空間。16kb的內(nèi)存建議分配是堆11Kb,棧4Kb,留1Kb給全局變量。

在startup_stm32f10x_md.s文件里

; stack size 0x1000 == 4Kb

Stack_Size EQU 0x00001000

; heap size 0x2c00 == 11Kb

Heap_Size EQU 0x00002C00

  • l 重寫標準庫底層函數(shù)

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;

}

  • //刷新句柄關(guān)聯(lián)的緩沖區(qū)

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

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 單片機
    +關(guān)注

    關(guān)注

    6041

    文章

    44615

    瀏覽量

    637350
  • C語言
    +關(guān)注

    關(guān)注

    180

    文章

    7614

    瀏覽量

    137378
  • 腳本語言
    +關(guān)注

    關(guān)注

    0

    文章

    48

    瀏覽量

    8248
收藏 人收藏

    評論

    相關(guān)推薦

    【正點原子STM32H7R3開發(fā)套件試用體驗】移植lua解釋器

    Lua簡介 Lua 是一種輕量小巧的腳本語言,用標準C語言編寫并以源代碼形式開放, 其設(shè)計目的是為了嵌入應(yīng)用程序中,從而為應(yīng)用程序提供靈活的擴展和定制功能。
    發(fā)表于 12-29 13:30

    nginx+lua+redis實現(xiàn)灰度發(fā)布

    了這種能力,隨時可以基于這種能力和思想調(diào)整實現(xiàn)方案:比如nginx+lua+(其他數(shù)據(jù)源)、nginx+(其他腳本語言) 一、灰度方案: 常見的灰度實現(xiàn)方案: 1.請求路由:通過請求中的標識(如用戶ID、設(shè)備ID、請求頭等)來決定是否將請求路由
    的頭像 發(fā)表于 12-17 10:01 ?114次閱讀

    單片機編程語言有哪些選擇

    常用的單片機編程語言,以及它們的特點和應(yīng)用場景: 1. C語言 特點 :C語言是一種通用的編程語言,以其高效性和靈活性而聞名。它提供了豐富的
    的頭像 發(fā)表于 11-01 14:13 ?851次閱讀

    Lua語法基礎(chǔ)教程(上篇)

    今天我們來學習Lua語法基礎(chǔ)教程。由于篇幅過長,將分為上中下三篇進行講解,本篇為上篇。 一、初識Lua Lua 是一種輕量小巧的腳本語言,它用標準C
    的頭像 發(fā)表于 10-24 07:17 ?266次閱讀

    STM32單片機的特點介紹

    STM32系列單片機是由ST廠商推出的單片機,基于專為高性能、低成本、低功耗嵌入式應(yīng)用設(shè)計的ARM Cortex-M內(nèi)核,具備一流的外設(shè)配置,使其在功耗和集成度方面表現(xiàn)出色,STM32
    的頭像 發(fā)表于 09-25 17:19 ?1883次閱讀

    單片機STM32可以用Python寫嗎?可以的開發(fā)板有哪些?

    近年來,隨著嵌入式技術(shù)的發(fā)展,Python語言逐漸被引入單片機開發(fā)中,尤其是一些高性能的單片機上。這一趨勢給開發(fā)者帶來了極大的便利,尤其是在快速原型設(shè)計和實驗中。本文將詳細探討
    的頭像 發(fā)表于 09-05 08:00 ?4193次閱讀
    <b class='flag-5'>單片機</b><b class='flag-5'>STM32</b>可以用Python寫嗎?可以的開發(fā)板有哪些?

    stm32單片機用什么軟件編程

    STM32單片機是一種廣泛應(yīng)用于嵌入式系統(tǒng)領(lǐng)域的微控制器,具有高性能、低功耗、豐富的外設(shè)接口等特點。要對STM32單片機進行編程,需要選擇合適的軟件工具。 概述
    的頭像 發(fā)表于 09-02 10:16 ?1809次閱讀

    單片機燒錄程序的基本步驟是什么

    單片機燒錄程序是單片機開發(fā)過程中非常重要的一步,它涉及將編寫好的程序代碼通過一定的方式傳輸?shù)?b class='flag-5'>單片機內(nèi)部的存儲器中,使單片機能夠按照預(yù)定的邏
    的頭像 發(fā)表于 09-02 09:47 ?1326次閱讀

    stm32單片機引腳介紹及功能

    STM32系列單片機是STMicroelectronics(意法半導體)推出的一款基于ARM Cortex-M內(nèi)核的32位微控制器。STM32單片機具有高性能、低功耗、豐富的外設(shè)和靈活
    的頭像 發(fā)表于 09-02 09:38 ?6630次閱讀

    【龍芯2K0300蜂鳥板試用】+3.移植lualoongarch

    1.Lua簡介 Lua 是一種輕量小巧的腳本語言,用標準C語言編寫并以源代碼形式開放,其設(shè)計目的是為了嵌入應(yīng)用程序中,從而為應(yīng)用程序提供靈活的擴展和定制功能。
    發(fā)表于 08-18 03:31

    51、STM32單片機的編程方式一樣嗎?

    STM32和51單片機是兩種常見的單片機系列,它們在硬件架構(gòu)、性能特點和編程方式等方面有所不同。但是從c語言編程的角度來說,我認為是大同小異的。我們來對比一下它們的編程特點:51&am
    的頭像 發(fā)表于 05-18 08:04 ?2419次閱讀
    51、<b class='flag-5'>STM32</b><b class='flag-5'>單片機</b>的編程方式一樣嗎?

    STM32單片機有哪幾種常見的開發(fā)環(huán)境?

    STM32單片機是一款廣泛應(yīng)用于嵌入式系統(tǒng)開發(fā)的單片機,針對其開發(fā),有以下幾種常見的方式:STM32單片機有哪幾種常見的開發(fā)環(huán)境?KeilM
    的頭像 發(fā)表于 05-18 08:04 ?3228次閱讀
    <b class='flag-5'>STM32</b><b class='flag-5'>單片機</b>有哪幾種常見的開發(fā)環(huán)境?

    STM32單片機最小化系統(tǒng)設(shè)計原理

    STM32最小系統(tǒng),就是能讓STM32單片機能夠正常工作所必須擁有的組成部分的集合,也是STM32單片機正常運行的必要環(huán)境。
    發(fā)表于 04-23 14:54 ?2966次閱讀
    <b class='flag-5'>STM32</b><b class='flag-5'>單片機</b>最小化系統(tǒng)設(shè)計原理

    單片機與串口屏連接步驟指南

    單片機與串口屏的連接主要涉及硬件連接和軟件設(shè)置兩個方面。以下是一個基本的步驟指南
    的頭像 發(fā)表于 03-13 10:16 ?3539次閱讀
    <b class='flag-5'>單片機</b>與串口屏連接<b class='flag-5'>步驟</b>指南

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

    請問用DAVE生成的工程怎么移植MDK
    發(fā)表于 02-26 08:44
    主站蜘蛛池模板: 国产资源站| 国产aaaaaa| 日本a免费| 免费毛片软件| 黄色视屏免费在线观看| 狠狠色狠狠色综合网| xxxxbbbb欧美| 午夜精品国产| 精品亚洲成a人片在线观看| 波多野结衣久久国产精品| 六月丁香啪啪| 老师今晚让你爽个够| 亚洲国产福利| 色女人网| 黄网址免费| 午夜在线视频观看| 欧美成人全部费免网站| 中国同志chinese小彬tv| 一女多夫嗯啊高h| 2021国产成人精品国产| 深爱五月激情网| 精品国产乱码一区二区三区| 在线观看精品国产入口| 美女被日出白浆| 最新亚洲一区二区三区四区| 真人实干一级毛片aa免费| 色视频网址| 国产手机在线国内精品| 天天舔天天操| 欧美人与物另类| 在线观看免费国产| 欧美在线色视频| 波多野结衣在线观看一区| 欧洲成人r片在线观看| 91男女视频| 午夜视频在线免费观看| 理论片免费午夜| 亚洲色图27p| 五月激情五月婷婷| 国内自拍露脸普通话对白在线| 天天毛片|