手把手教程:如何高效克隆一个Demo代码仓库!

克隆Demo代码仓库是参与开源项目或学习开发实践的关键起点。借助Git命令行或图形化工具,用户可以将远程仓库完整复制到本地。本文将以清晰的步骤引导你完成整个克隆流程,确保新手也能快速上手。

一、下载模组的示例代码


下载示例代码到一个合适的项目目录。从gitee下载代码的教程如下:

https://gitee.com/openLuat/LuatOS/tree/master/module/Air780EPM

1、最简单快速的方式:


直接进入仓库,点击下载仓库文件

2、使用git工具下载


git工具下载地址:Git - Downloading Package

以下是以Git Air780E项目进行举例说明,Git Air780EPM流程一样,只需要替换成Air780EPM Git路径即可。

(1)进入下载地址后,下载对应的工具

(2)双击安装工具

(3)双击后,直接下一步安装即可 中途都是一些配置选项,一般使用默认选项即可。

git下载好之后。

1、新建一个文件夹,右键打开操作面板


2、设置用户签名:

用户名和邮箱是用来标识是谁提交的代码,输入以下命令

3、初始化本地库,输入以下命令

输入这个命令后,可以在当前目录下看到一个.git文件。只有.git文件是用git init命令生成的。其他的没关系。有了.git文件后,当前文件夹就是一个git仓库了,可以与远程的仓库进行连接。

4、从远程仓库下载一个公钥,为了让远程仓库验证自己的身份。输入以下命令

生成的公钥可以在C:/User/用户/.ssh下看到

5、将公钥添加到gitee仓库

gitee链接: https://gitee.com/

在gitee找到账号设置,然后找到SSH公钥,再添加公钥。

6、克隆仓库到本地,输入以下命令

此时在资源管理器中可以看到git下来的仓库文件

二、修改代码


用编辑器打开你下载下来的LuatOS-master\module\Air780EPM\demo\helloworld\main.lua 文件。demo链接地址

​ 我是习惯用 vscode,后面的例子都用 vscode 做演示了。

​ 如果你是用其他的编辑器, 也差不多类似。

其中sys.timerLoopStart(func, timeout)的作用是每隔timeout的时间循环执行回调函数func中的内容。

你把这段代码稍作修改后,改为这样:

然后保存,代码修改工作就大功告成了!

我们实现了每隔3000ms执行一次printf("hello world")

是不是超级简单?

三、烧录代码到硬件

烧录代码, 需要进行如下几步:

1、下载和安装调试工具 LuatTools

​ 如果你已经安装使用过 Luatools, 可以直接跳到下个小节: 烧录代码。

​ Luatools 的最新版本的工具介绍和下载地址为:

https://docs.openluat.com/air780epm/common/Luatools/

Luatools 工具主要有如下几个功能:

(1)自动从服务器获取最新的模组固件;

(2)烧录固件和脚本;

(3)查看和保存模组的串口输出日志;

(4)简单的串口调试;

Luatools 下载之后, 无需安装, 解压到你的硬盘,点击 Luatools_v3.exe 运行,出现如下界面,就代表 Luatools 安装成功了:

2、烧录代码

​ 首先要说明一点: 脚本代码, 要和固件的bin文件一起烧录。

(1)找到烧录的固件文件

Air780EPM 的固件可以去DOCS网站下载。

(2)正确连接电脑和4G模组电路板

使用带有数据通信功能的数据线,不要使用仅有充电功能的数据线;

(3)识别4G模组的BOOT引脚

在下载之前,要用模组的BOOT引脚触发下载, 也就是说,要把4G模组的BOOT引脚拉到 1.8v,或者直接把BOOT引脚和VDD_EXT引脚相连。我们要在按下BOOT按键时让模块开机,就可以进入下载模式了。

​ 具体到 Air780EMP开发板,

1、当我们模块没开机时,按着BOOT键然后长按PWR开机。

2、当我们模块开机时,按着BOOT键然后点按重启键即可。

(4)识别电脑的正确端口

​ 判断是否进入BOOT模式:模块上电,此时在电脑的设备管理器中,查看串口设备, 会出现一个端口表示进入了boot下载模式,如下图所示:


一旦进入了boot下载模式,表示硬件连接上已经处于就绪状态,此时就可以使用Luatools工具进行烧录了!

(5)新建项目

​ 首先,确保你的 Luatools 的版本,是大于 3.0.15 版本的。

​ 在 Luatools 的左上角上有版本显示的,如图所示:

Luatools 版本没问题的话, 就点击Luatools 右上角的“项目管理测试”按钮,如下图所示:

这时会弹出项目管理和烧录管理的对话框,如下图:

新建一个项目


(6) 开始烧录

选择Air780EPM板子对应的底层core和刚改的main.lua脚本文件。下载到板子中。

点击下载后,我们需要进入boot模式才能正常下载,在(3)(4)小节已经介绍了如何进入boot模式。

3、烧录问题排查

如果你在烧录过程中遇到了问题, 请点击如下链接,进行烧录的问题排查。

https://docs.openluat.com/air780epm/common/Luatools/

四、验证功能

烧录完成后,会自动开机,此时电脑的设备管理器中会虚拟出三个端口表示正常开机

Luatools会自动抓取应用日志和系统日志,并且在主界面解析显示应用日志,如下图所示:

从打印的日志可以看到,这个4G开发板,在不断的打印 hello world。

你太棒了! 你成功了!

五、总结

这节我们学会了

1、如何下载LuatOS的core,

2、如何使用烧录工具Luatools,

3、如何编辑lua脚本实现打印hello world

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1156465.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

嵌入式C语言在Keil uVision5中的编译优化策略

如何在 Keil uVision5 中用好编译优化?别让“快”毁了你的代码! 你有没有遇到过这样的情况: 代码明明进了中断,标志也置位了,主循环却像没看见一样卡在 while(flag 0) ? 切到 -O2 编译后&#xff0c…

STM32 Keil5破解详细步骤:超详细版安装说明

STM32开发环境搭建:Keil MDK-ARM 5配置与授权管理实战指南 在嵌入式系统的世界里,如果你正在使用STM32系列MCU,那么几乎绕不开一个名字—— Keil MDK 。作为ARM生态中历史最悠久、稳定性最强的集成开发环境之一,Keil Vision ID…

hh的蓝桥杯每日一题(交换瓶子)

15.交换瓶子 - 蓝桥云课 方法一&#xff1a;贪心做法 对于位置 i&#xff0c;如果 a[i] ≠ i 就把 a[i] 和 a[a[i]] 交换&#xff08;把当前数字放到它应该去的位置&#xff09; 这样每次交换都能让至少一个数字归位 重复直到 a[i] i #include<iostream> using na…

实验一 Python开发环境语法基础

实验一 Python开发环境&语法基础一、实验基本原理运用Anaconda搭建的Jupyter notebook平台编写实例Python程序。二、实验目的1、熟悉Python集成开发系统背景。2、熟悉Jupyter Notebook开发环境。3、熟悉编写程序的基本过程。三、具体要求1、熟悉Python的基本语法&#xff0…

LuatOS系统消息处理机制深度解析!

在LuatOS嵌入式运行环境中&#xff0c;系统消息是实现模块间通信与事件响应的核心机制。其消息处理机制采用轻量级事件驱动模型&#xff0c;有效降低CPU占用并提升系统实时性。此处列举了LuatOS框架中自带的系统消息列表。一、sys文档链接&#xff1a;https://docs.openluat.co…

避坑指南:LuatOS-Air脚本移植至LuatOS常见问题!

在实际开发中&#xff0c;许多开发者在尝试将LuatOS-Air脚本运行于标准LuatOS环境时遭遇报错或功能异常。这些问题多源于对底层驱动抽象层理解不足以及对系统任务模型的误用。本文将梳理典型错误场景&#xff0c;并提供可落地的修复方案&#xff0c;助力实现平滑迁移。 一、lua…

eide环境下GD32固件下载失败问题全面讲解

eIDE烧录GD32失败&#xff1f;从底层机制到实战排错的全链路技术拆解你有没有遇到过这样的场景&#xff1a;代码编译通过&#xff0c;接线看似没问题&#xff0c;点击“Download”按钮后却弹出一串红字——“Target Not Responding”、“Connection Failed”或干脆卡在“Connec…

实验二 Python 控制结构与文件操作

实验二 Python 控制结构与文件操作一、实验基本原理运用 Anaconda 搭建的 Jupyter notebook 平台编写 Python 实例程序。二、实验目的1、理解 Python 的流程控制、文件操作的基本原理。2、通过实际案例编程&#xff0c;掌握 Python 的流程控制、文件的基本操作。三、具体要求1、…

核心要点:避免USB Serial驱动下载后被系统禁用

一次连接&#xff0c;永久可用&#xff1a;破解USB Serial驱动被系统禁用的底层真相 你有没有遇到过这样的场景&#xff1f; 刚插上开发板&#xff0c;驱动安装成功&#xff0c;PuTTY连上了&#xff0c;日志哗哗地刷出来——一切看起来都那么完美。可第二天重启电脑&#xff…

Opensearch数据迁移:CCR功能数据迁移完整操作指南(上)

#作者&#xff1a;stackofumbrella 文章目录使用CCR功能迁移数据功能概述约束限制在主集群中创建索引从集群中执行启用CCR复制功能在主集群中写入测试数据在从集群中查看同步状态查看从集群中的同步数据关闭CCR功能查看远程集群信息删除远程集群配置信息使用CCR功能迁移数据 功…

计算机毕业设计-课程设计-校园失物招领系统设计与实现-程序-文档-全套资料

摘要学校作为一个人流量非常大的场所&#xff0c;当我们的物品不小心遗失后&#xff0c;之后的找寻过程一定是非常困难的。而为了可以解决这中问题&#xff0c;就出现了校园失物招领网站&#xff0c;通过校园失物招领网站&#xff0c;可以减少我们因为失物而带来的不便和困扰。…

Modbus RTU数据读取异常?ModbusPoll下载抓包辅助诊断

Modbus RTU通信总出问题&#xff1f;别急&#xff0c;用ModbusPoll抓包一招定位你有没有遇到过这样的场景&#xff1a;某台电表明明通着电、接线也没松动&#xff0c;但PLC就是读不到数据&#xff1b;或者HMI上某个温度值频繁跳变、甚至直接报超时&#xff1f;如果这个系统走的…

基于STM32的QSPI通信实战案例详解

STM32上的QSPI实战&#xff1a;从零搭建高速外部存储系统你有没有遇到过这样的困境&#xff1f;项目做到一半&#xff0c;内部Flash快爆了&#xff0c;GUI资源、音频文件、新功能代码全挤在一起&#xff0c;改一行代码都得精打细算&#xff1b;OTA升级时看着进度条一动不动&…

Keil项目迁移时中文注释乱码的预防与处理策略

如何彻底解决 Keil 中文注释乱码问题&#xff1f;一个嵌入式老手的实战经验最近接手了一个遗留项目&#xff0c;从同事手里接过压缩包解压后打开 Keil 工程&#xff0c;第一眼就傻了——满屏“ž„‹Œ–£”、“???”……原本清晰的中文注释全变成了天书。这哪是代码…

深入 Yak 语言高级编程:异步并发与延迟执行实践

深入Yak语言高级编程&#xff1a;异步并发与延迟执行实践 前言 Yak语言作为一款面向网络安全领域的动态编程语言&#xff0c;凭借其轻量、高效的特性&#xff0c;在渗透测试、漏洞挖掘等场景中得到了广泛应用。对于安全从业者而言&#xff0c;编写高性能的自动化脚本往往需要依…

论坛网站信息管理系统源码-SpringBoot后端+Vue前端+MySQL【可直接运行】

&#x1f4a1;实话实说&#xff1a;有自己的项目库存&#xff0c;不需要找别人拿货再加价&#xff0c;所以能给到超低价格。摘要 随着互联网技术的快速发展&#xff0c;论坛网站作为信息交流的重要平台&#xff0c;逐渐成为用户分享观点、获取知识的主要渠道。传统论坛系统在功…

钥匙和房间

本文参考代码随想录 有 N 个房间&#xff0c;开始时你位于 0 号房间。每个房间有不同的号码&#xff1a;0&#xff0c;1&#xff0c;2&#xff0c;…&#xff0c;N-1&#xff0c;并且房间里可能有一些钥匙能使你进入下一个房间。 在形式上&#xff0c;对于每个房间 i 都有一个…

IAR使用教程:优化嵌入式C代码的操作指南

如何用IAR榨干MCU性能&#xff1f;一位嵌入式老手的实战优化笔记最近在调试一个低功耗传感器项目时&#xff0c;客户突然提出“电池寿命必须延长30%”。我看了看当前固件&#xff1a;Flash用了快300KB&#xff0c;SRAM占用接近80%&#xff0c;主循环执行时间也偏长。硬件已经定…

大模型推理过程内存占用(动态)

阿里社区博客(重点在transformer的激活值参数量估计)&#xff1a;https://developer.aliyun.com/article/1496103 推理时显存占用&#xff08;GitHub&#xff09;&#xff1a; https://github.com/Hoper-J/I-Guide-and-Demos-zh_CN/blob/master/Guide/07.%20%E6%8E%A2%E7%A9%…

u8g2字体编码与字符映射关系通俗解释

u8g2字体编码与字符映射&#xff1a;从“乱码”到清晰显示的底层逻辑 你有没有遇到过这样的场景&#xff1f;在STM32或ESP32上驱动一块OLED屏&#xff0c;信心满满地调用 u8g2_DrawStr() 打印一句中文“温度25C”&#xff0c;结果屏幕上却只出现几个方框、问号&#xff0c;甚…