AliOS-Things Visual studio code helloworld 入门

配置环境的时候别忘了下载:GCC工具链:https://developer.arm.com/open-source/gnu-toolchain/gnu-rm/downloads

 

AliOS Things 完成第一个应用:Hello World

全局掌控

  • 从Git上下载源码
  • 用VSCode打开源码,查看源码的目录结构
  • 打开HelloWorld
  • 确认手中的硬件。零妖的硬件型号是 Developer Kit 。
  • 编译源码
  • 确认硬件,烧录代码。打开串口查看程序输出的信息。

从Git上下载源码

新建一个文件夹,用来存放源码。
比如我在电脑的F盘根目录下,新建一个 AliOS_Source 的文件夹。

image.png | center | 747x450

打开这个文件夹,然后打开命令行。如果你是WIN7等系统,可以打开CMD命令行,进入这个文件夹。

image.png | center | 747x305

输入指令 git clone https://gitee.com/alios-things/AliOS-Things.git 敲回车。
文件比较大,下载时间看你的网速。

image.png | left | 747x364

花了大概3分钟左右,下载完成。

image.png | left | 747x364

目录下多了一个文件夹,看截图,大小1.5G。
里面就是刚刚下载的源码。

image.png | left | 747x507

用VSCode打开源码文件夹,查看目录结构

打开VSCode,再次自动弹出提示,点Yes。

image.png | left | 747x542

打开文件夹。就是刚才下载的那个源码文件夹。
左下角那部分,就是AliOS的插件。

image.png | center | 747x467

打开文件夹后,左边显示的是文件夹里面的目录结构,可以点开,再打开文件。
每个目录里面的内容是啥,作用是啥等等,后面文章再仔细介绍。
左下角,就是非常有用的控制按钮。

image.png | left | 747x535

打开HelloWorld

看截图。
在左边目录中,依次打开即可。
在  example 文件夹里面,是一个个的小示例项目。

image.png | center | 747x567

确认手中的硬件

  • 零妖手中的开发板,型号是 Developer Kit 。
  • 只是作为学习测试,拿来的一块板子实验用的。
  • 板子上就是一个STM32L496的单片机。
  • 板子集成一个ST-Link
  • 板子集成一个虚拟串口
  • 注意查看你自己电脑上面的串口号,零妖的是COM3,你的需要自己查看。

此开发板淘宝有售:https://detail.tmall.com/item.htm?spm=a230r.1.14.20.d6205eb8ofQZcH&id=571251003265&ns=1&abbucket=14

image.png | left | 711x556

使用数据线,插上USB1,连接到电脑。设备管理器中会新增两个设备,分别是ST-Link和串口。
注意:新增的串口号是 COM3 。

image.png | left | 747x551

编译源码

  • 在管理项目的时候,遵守 app@board 的原则。 app表示项目的名称,board表示设备的型号。
  • 比如 starterkitgui@starterkit 表示:有一个设备型号是 starterkit ,项目名称是 starterkitgui
  • 比如 helloworld@developerkit 表示:有一个设备型号是 developerkit ,项目名称是 helloworld 。
  • 在编译源码的时候,要选择你要编译的项目,再选择对应的设备型号。
  • 设备的型号可以是一个开发板比如developerkit,也可以是一个芯片的型号比如gd32f4xx,还可以是一个模组的型号比如 mk3060 等。

点击左下角后,自动弹出一个列表。选择要编译的项目名称。

image.png | left | 747x511

自动弹出第二轮列表,选择对应的设备型号。

image.png | left | 747x453

简单修改一下源码,你可以修改一下,随意输出一个字符串。比如改成你的姓名。

image.png | left | 747x477

保存一下。然后点击左下角的 Build 按钮。编译项目。

image.png | left | 747x603

编译完成后,提示了一个成功信息。

image.png | left | 747x517

编译成功后,还同时生成了二进制文件
方便你用其他方法烧写到单片机,比如工厂批量用的脱机下载器

image.png | left | 747x304

二进制文件的路径是 \AliOS-Thingsouthelloworld@developerkitbinary
比如零妖的路径:
F:AliOS_SourceAliOS-Thingsouthelloworld@developerkitbinary

image.png | left | 747x328

烧录代码,打开串口,查看程序输出

点击 Upload 按钮。
程序会调用ST-Link,将代码烧写到单片机里面。

image.png | left | 747x479

这个提示信息表示:
烧写成功!

image.png | left | 747x542

  • 按任意键,会退出刚才的窗口。
  • 程序的功能是通过串口定时输出一个字符串。
  • 你需要打开一个串口助手查看。
  • 你也可以直接在VSCode里打开串口查看。
  • 在零妖的电脑上,打开的是 COM3 ,波特率115200 .

教你在VSCode里面打开串口

  • 零妖的设备型号是Developer Kit,只要插上电脑就会有一个串口。
  • 如果你是USB转TTL,你需要插上。
  • 点 Connect Device 按钮。
    如果是第一次点它:

选择对应的COM口。

image.png | left | 747x639

输入对应的波特率。AliOS的示例代码中,给单片机初始化的波特率是 115200 。

image.png | left | 747x519

查看单片机给电脑发送的信息,和写的代码一致。

image.png | left | 747x471

如果第一次选错了,想修改:

image.png | left | 747x307

完成

恭喜你,已经入门了 AliOS Things !
这样理解一下: VSCode编译代码后,调用ST-Link将程序烧写到单片机内部。
编译完成后,也会生成二进制文件,这样就可以通过各种方法下载了,比如批量生产时候用脱机下载器。

转载于:https://www.cnblogs.com/braveheart007/p/10289090.html

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

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

相关文章

java 联网_java网络

这个图很形象的展示了OSI的五层架构之间的关系。OSI被称为开放式互联,是国际标准组织制定的网络模型,本来是七层,后来把表现层和会话层加到应用层里面了。那么五层模型中的每一层具体都是干什么的呢?在标准的网络模型中&#xff0…

[小米OJ] 4. 最长连续数列

思路: 时间限制为O(n),即不能使用先排序后寻找的方法。 这里利用哈希表查询插入复杂度都为O(1)的特性来解,利用一个哈希表来保存每一个数字以及其所在数列的长度。 遍历每一个数字n:查询表中是否存在n-1和n1,若存在&am…

控制反转

控制反转[编辑] 维基百科,自由的百科全书控制反转(Inversion of Control,缩写为IoC),是面向对象编程中的一种设计原则,可以用来减低计算机代码之间的耦合度。其中最常见的方式叫做依赖注入(Depe…

使用Mutability Detector对Java数据类的不变性进行单元测试

在我们所有的项目中,我们使用的数据类根据定义包含数据(字段),但不包含(业务)逻辑。 根据最佳编码实践,数据类最好应该是不可变的,因为不可变性意味着线程安全。 这里的主要参考是J…

三种单例模式的C++实现

简介 因为在设计或开发中,肯定会有这么一种情况,一个类只能有一个对象被创建,如果有多个对象的话,可能会导致状态的混乱和不一致。这种情况下,单例模式是最恰当的解决办法。它有很多种实现方式,各自的特性不…

centos安装Redis

vRedis的安装 ♛ 1.0 下载Rediswget http://download.redis.io/releases/redis-5.0.2.tar.gz ♛ 1.1 解压tar -zxvf redis-5.0.2.tar.gz ♛ 1.2 安装gcc依赖Redis是C实现的,需要gcc来进行编译,先安装gcc。 yum install gcc ♛ 1.3 打开Redis目录cd redis…

maven插件编写_编写Maven插件的提示

maven插件编写最近,我花了很多时间为Maven编写插件或在其中工作。 它们简单,有趣且有趣。 我以为我会分享一些技巧,使编写它们时的生活更轻松。 提示1:将任务与Mojo分开 最初,您将把mojo的所有代码放入mojo的类&…

e3是合法浮点数吗_下列哪些是不合法的浮点数的选项是 123 2e4.2 .e5 -e3 .234 1e3

共回答了16个问题采纳率:93.8%浮点数是属于有理数中某特定子集的数的数字表示,在计算机中用以近似表示任意某个实数.具体的说,这个实数由一个整数或定点数(即尾数)乘以某个基数(计算机中通常是2)的整数次幂得到,这种表示方法类似于基数为10的科学记数法.由此可以看出…

VC的Win32控制台程序中使用MFC库文件

如果想要在VC中的Win32控制台程序中使用CString类&#xff0c;应注意下列情况&#xff1a; 1.必须包含头文件#include <afx.h> 2.Project ----settings... ----General---- Microsoft Foundation Classes: Use MFC in a Shared DLL

java能否调用com_java调用com

一、C#写com组件开发环境 vs20051、新建工程:ClassLibrary1 //根据自己需要取工程名2、右键点击工程->应用程序->程序集信息->使程序集com可见&#xff0c;打上勾右键点击工程->生成->为com Interop注册 打上勾3、设置强签名打开Visual Studio Command Pr…

JUnit规则–引发异常时执行附加验证

在本文中&#xff0c;我将快速向您展示如果您需要解决以下挑战&#xff0c;那么JUnit规则有多方便 方法捕获异常并必须执行一些额外的任务&#xff0c;然后再抛出或引发包装异常。 调用额外任务和引发的异常应通过单元测试进行验证。 这意味着您有一些这样的代码 public cla…

十分钟搞清字符集和字符编码

什么是字符集 什么是字符编码 UTF-8和Unicode的关系 UTF-8编码简介 为什么会出现乱码 如何识别乱码的本来想要表达的文字 常见问题处理之Emoji 本文将简述字符集&#xff0c;字符编码的概念。以及在遭遇乱码时的一些常用诊断技巧 背景&#xff1a;字符集和编码无疑是IT菜鸟甚至…

前端Ajax/JS/HTML+后端SpringMVC(二)

1. jQuery AJAX 1.1. jQuery框架中的ajax()函数 在应用了jQuery框架后&#xff0c;调用ajax()函数即可发出AJAX请求&#xff0c;并获取响应结果&#xff0c;该函数的参数必须是JSON对象&#xff0c;通常&#xff0c;在JSON对象中封装的属性有&#xff1a; url&#xff1a;处理请…

java lambda函数_番石榴函数和Java 8 Lambdas

java lambda函数我最近阅读了Brian Goetz的《 Lambda的状况》 &#xff0c;在阅读了该文章之后&#xff0c;我想尝试使用Java 8 Lambda表达式。 Brian在他的文章中继续描述了将一种方法称为“功能”接口的接口。 功能接口几乎总是用作匿名类&#xff0c;其中ActionListener是规…

c++组合 聚合 关联

组合和聚合区别(不能脱离整体 能脱离整体) 组合&#xff1a;&#xff08;表示两个对象之间是整体和部分的强关系&#xff0c;部分的生命周期不能超越整体。如人和脑袋&#xff09; 比如A类中包含B类的一个引用b&#xff0c;当A类的一个对象消亡时&#xff0c;b这个引用所指向的…

python内建时间模块 time和datetime

时间模块 UTC&#xff08;Coordinated Universal Time&#xff0c;世界协调时&#xff09;亦即格林威治天文时间&#xff0c;世界标准时间。在中国为UTC8。DST&#xff08;Daylight Saving Time&#xff09;即夏令时。 在Python中,通常有这几种方式来表示时间&#xff1a;1&…

java tomcat自动安装教程_Tomcat:基础安装和使用教程

背景此文记录了 Tomcat 的基本使用方法&#xff0c;主要为了强化记忆。安装步骤第一步&#xff1a;下载和安装 Java安装并设置JAVA_HOME环境变量&#xff1a;第二步&#xff1a;下载和解压 Tomcat第三步&#xff1a;修改端口号.NET 我使用的是 80xx&#xff0c;Php 我使用的是 …

C++ 智能指针五

/* 代码分析:这是标准库的源码&#xff0c;我们看到在enable_shared_from_this内部保存了一个weak_ptr。shared_from_this函数就是通过这个weak_ptr得到了。 但是另外一点&#xff0c;我们可以看到在enable_shared_from_this的构造函数中并没有对这个weak_ptr进行初始化。 这就…

多线程之间共享的资源有哪些

搜集了一下资料&#xff0c;网上的说法众说纷纭&#xff1b;曾经以为进程、线程的问题搞得很清楚&#xff0c;现在感觉似乎有些复杂&#xff1a; 课本的说法&#xff1a;进程是资源分配的基本单位&#xff1b;线程是系统调度的基本单位。平时我们写的程序都是作为线程运行的&am…

mybatis一级缓存导致sql查询出现问题

如下代码&#xff1a; PubPsndoc pubdoc pubPsndocDAOService.selectByPrimaryKey(in.id);pubdoc.setPkCorp(newpkcorp);pubdoc.setPkDept(newpkdept);pubPsndocDAOService.update(pubdoc); PubPsndoc personPubdoc pubPsndocDAOService.selectByPrimaryKey(in.id); 在上述代…