基于M5311的OpenCPU编程

2024-03-01 16:08
文章标签 编程 opencpu m5311

本文主要是介绍基于M5311的OpenCPU编程,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!


title: 基于M5311的OpenCPU编程
tags: NBIOT
date: 2019-11-03 20:53:00


好的,今天来总结下M5311-NB模组的OPENCPU编程。

很久之前研究过ME3616的OPENCPU编程,今天咱们来总结下M5311的编程步骤。

官方是有一个文档的,只是不是太好用,接下来我将按照自己的思路来完成OPENCPU的编译和烧写

  1. 环境搭建:

1.安装minGW,配置环境变量,在PATH里加入C:\MinGW\bin;新建LIBRARY_PATH变量,如果有的话,在值中加入C:\MinGW\lib,这是标准库的位置;新建C_INCLUDEDE_PATH变量,值设为C:\MinGW\include;验证,在cmd下输入gcc -v,由于后面编译要用到MinGW中的make,需要将C:\MinGW\bin下面的mingw32-make.exe重命名为make.exe
2.拷贝GNU Tools ARM Embedded工具文件夹,配置环境变量,PATH:C:\M5311\GNU Tools ARM Embedded\4.9 2015q3\bin,验证,在cmd下输入arm-none-eabi-gcc -v

在这里插入图片描述

在这里插入图片描述

验证:

在这里插入图片描述

  1. 开发验证

在这里插入图片描述

“apb” 目录是基础功能相关头文件
“firmware” 目录是编译后固件生成的目录
“fota” 目录是 FOTA 升级相关目录
“inc” 目录是 user 头文件目录
“lib” 目录是 SDK 部分库文件
“lwip” 目录是 lwip 协议栈头文件
“os” 目录是操作系统相关头文件
“out” 目录是部分库文件及编译结果目录
“src” 目录是 user 源文件目录
“utils” 目录是编译环境相关文件
其中 buil.bat 文件为编译脚本,Windows 环境安装 gcc 编译环境后可编译软件版本。
  1. 编译工程

首先确认要使用的硬件版本,以 LV 为例,编译命令为:build.bat LV 在命令行中进入 SDK 主目录,输入 build.bat
LV 命令后回车,即可执行编译:

  1. 重要的一步 就是烧写程序,官方给的资料是使用 FlashTool.exe
    其实没必要,可以直接使用ME3616 的烧写工具直接撸,因为ME3616和M5311都是用的海思的内核,无所谓的,而且这个软件的界面很简单的,也很方便操作。爽歪歪。

在这里插入图片描述

  1. 编程和开发,建议使用sublime Text来编写代码即可。

在这里插入图片描述

所有文件下载:可以至QQ群 476840321下载 也可以:https://www.lanzous.com/b024qym6f 密码:bld4

这篇关于基于M5311的OpenCPU编程的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/763036

相关文章

Python 异步编程 asyncio简介及基本用法

《Python异步编程asyncio简介及基本用法》asyncio是Python的一个库,用于编写并发代码,使用协程、任务和Futures来处理I/O密集型和高延迟操作,本文给大家介绍Python... 目录1、asyncio是什么IO密集型任务特征2、怎么用1、基本用法2、关键字 async1、async

Java并发编程之如何优雅关闭钩子Shutdown Hook

《Java并发编程之如何优雅关闭钩子ShutdownHook》这篇文章主要为大家详细介绍了Java如何实现优雅关闭钩子ShutdownHook,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起... 目录关闭钩子简介关闭钩子应用场景数据库连接实战演示使用关闭钩子的注意事项开源框架中的关闭钩子机制1.

shell编程之函数与数组的使用详解

《shell编程之函数与数组的使用详解》:本文主要介绍shell编程之函数与数组的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录shell函数函数的用法俩个数求和系统资源监控并报警函数函数变量的作用范围函数的参数递归函数shell数组获取数组的长度读取某下的

揭秘Python Socket网络编程的7种硬核用法

《揭秘PythonSocket网络编程的7种硬核用法》Socket不仅能做聊天室,还能干一大堆硬核操作,这篇文章就带大家看看Python网络编程的7种超实用玩法,感兴趣的小伙伴可以跟随小编一起... 目录1.端口扫描器:探测开放端口2.简易 HTTP 服务器:10 秒搭个网页3.局域网游戏:多人联机对战4.

Java并发编程必备之Synchronized关键字深入解析

《Java并发编程必备之Synchronized关键字深入解析》本文我们深入探索了Java中的Synchronized关键字,包括其互斥性和可重入性的特性,文章详细介绍了Synchronized的三种... 目录一、前言二、Synchronized关键字2.1 Synchronized的特性1. 互斥2.

Python异步编程中asyncio.gather的并发控制详解

《Python异步编程中asyncio.gather的并发控制详解》在Python异步编程生态中,asyncio.gather是并发任务调度的核心工具,本文将通过实际场景和代码示例,展示如何结合信号量... 目录一、asyncio.gather的原始行为解析二、信号量控制法:给并发装上"节流阀"三、进阶控制

C#多线程编程中导致死锁的常见陷阱和避免方法

《C#多线程编程中导致死锁的常见陷阱和避免方法》在C#多线程编程中,死锁(Deadlock)是一种常见的、令人头疼的错误,死锁通常发生在多个线程试图获取多个资源的锁时,导致相互等待对方释放资源,最终形... 目录引言1. 什么是死锁?死锁的典型条件:2. 导致死锁的常见原因2.1 锁的顺序问题错误示例:不同

PyCharm接入DeepSeek实现AI编程的操作流程

《PyCharm接入DeepSeek实现AI编程的操作流程》DeepSeek是一家专注于人工智能技术研发的公司,致力于开发高性能、低成本的AI模型,接下来,我们把DeepSeek接入到PyCharm中... 目录引言效果演示创建API key在PyCharm中下载Continue插件配置Continue引言

C#反射编程之GetConstructor()方法解读

《C#反射编程之GetConstructor()方法解读》C#中Type类的GetConstructor()方法用于获取指定类型的构造函数,该方法有多个重载版本,可以根据不同的参数获取不同特性的构造函... 目录C# GetConstructor()方法有4个重载以GetConstructor(Type[]

Linux 网络编程 --- 应用层

一、自定义协议和序列化反序列化 代码: 序列化反序列化实现网络版本计算器 二、HTTP协议 1、谈两个简单的预备知识 https://www.baidu.com/ --- 域名 --- 域名解析 --- IP地址 http的端口号为80端口,https的端口号为443 url为统一资源定位符。CSDNhttps://mp.csdn.net/mp_blog/creation/editor