HaaS100 快速开始

简介: 介绍HaaS100主板的代码下载,编译,烧录

简介

硬件

下面是Haas100开发板的简单介绍, 详细功能和参数可以参考HaaS100的硬件规格说明。
image.png

软件

HaaS100搭载AliOS Things物联网操作系统 。

环境

AliOS Things的开发环境准备。

快速开始

下载代码

git clone https://github.com/alibaba/AliOS-Things.git -b dev_3.1.0_haas
对于国内用户,为避免从github下载速度较慢,可以从gitee上下载。
git clone https://gitee.com/alios-things/AliOS-Things.git -b dev_3.1.0_haas

编译

进入代码的顶层目录如AliOS-Things进行编译。可以直接编译application/example/目录下的demo app,或者自己开发的app。下面以编译helloworld_demo为例。
aos make helloworld_demo@haas100 -c config
aos make

烧录

第一次编译后从代码顶层目录拷贝platform/mcu/haas1000/release/write_flash_gui目录下的所有文件到windows环境。 后续再编译可以只替换write_flash_gui/ota_bin/ota_rtos.bin即可。

准备

给HaaS 100插上电源,在Micro USB口插上usb线并连接到烧录主机。等待烧录主机发现新插入的usb设备并识别成串口。
如果您的烧录主机没有自动识别usb并安装驱动, 您可以点击这里 USB转UART驱动 手动下载对应的版本并安装。
识别成功后,可以在计算机管理->设备管理器中发现串口设备。

开始烧录

在windows环境下进入write_flash_gui目录,双击运行haas1000_write_flash_main,出现烧录软件的主界面。
image.png

点击Port Config 按钮,出现串口配置界面。
image.png

点击List按钮,选择HaaS100连接的串口。
image.png

选择后,点击Ok按钮确认关闭串口配置界面,此时主界面如下,烧录状态是Closed。
image.png

点击Start All 按钮,进入烧录状态,此时烧录状态是Idle,等待设备重启。
image.png

短按板子上的重启键或者插拔电源对板子上下电,开始烧录,此时烧录状态是Burning,可以看到烧录的进度。
image.png

等待烧录成功,此时烧录的状态的Success,进度是100%。
image.png

点击Exit 退出即可。

串口打印

使用串口工具如Putty/SecureCRT,设置串口波特率1500000。

Putty设置

设置串口波特率1500000,并关闭Parity 和 Flow control
image.png

SecureCRT设置

设置串口波特率1500000,并关闭Parity 和 Flow control
image.png

设置字符编码为UTF-8,否则打印会乱码。
image.png

启动log

设置好串口后, 重启设备就可以看到AliOS Things的启动log,和最后hello world的打印了。

     1569/main | app_status_indication_set 1
     1569/main | platform_init_step1 done, user_init=3, ret=0
     1569/main | platform_init_step1 enter temprature cali on signal
     1569/main | board_init platform_init_step1 done
     1573/main_task | sys_init go
     1573/main_task | sys freq calc : 320000000, wifi init 1 
     1573/main_task | sys_init soc_peripheral_init done
             Welcome to AliOS Things           
     1574/main_task | sys_init aos_components_init done
     1574/main_task |         mesh has been opened        
[Jan 01 00:00:01.482]<I>ULOG-test sys_init aos_components_init done
nano entry here!
hello world! count 0 
hello world! count 1 
hello world! count 2
hello world! count 3

如何点亮一个LED灯

上面看过了简单的打印后, 我们做一个简单的点灯实践来练练手。
如下简单修改application/example/helloworld_demo/appdemo.c,增加点灯的代码。
说明:灯的编号,右边从上到下分别是0, 1 , 2;左边从上到下分别是3, 4, 5。 编号0是电源指示灯,不可修改。

--- a/application/example/helloworld_demo/appdemo.c
+++ b/application/example/helloworld_demo/appdemo.c
@@ -8,6 +8,7 @@
 #include "aos/init.h"
 #include "board.h"
 #include <k_api.h>
+#include "led.h"
 
 int application_start(int argc, char *argv[])
 {
@@ -18,6 +19,13 @@ int application_start(int argc, char *argv[])
     //fd = board_lcd_create("name");
     //board_lcd_write(fd,buffer,len);
 
+    printf("Light all the led switch of the left.\r\n");
+    /* Sleep 1 second to avoid that led switch on/off while the boad boot up. */
+    aos_msleep(1000);
+    led_switch(3,LED_ON);
+    led_switch(4,LED_ON);
+    led_switch(5,LED_ON);
+
     while(1) {
         printf("hello world! count %d \r\n", count++);

代码改完后,参考上面的步骤编译烧录,最后启动板子就能看到左边的灯都已经被点亮。
怎么样? 用HaaS进行开发是不是很简单, 远远不止这些哦,HaaS已经做了很多简化开发的工作, 快来动手探索一下吧。

目录
相关文章
|
XML 监控 网络协议
云深处绝影四足机器人协议学习解析
本文详细介绍并解析了云深处绝影X20四足机器人的通信协议,包括TCP服务端端口号、基于Service的请求/响应通信机制、通信帧结构、消息类型、常见的通信示例如获取状态和导航请求,以及运动控制的参数和命令。文中还提出了对协议中某些未明确说明或可能存在的问题的疑惑。
410 0
云深处绝影四足机器人协议学习解析
|
Kubernetes 应用服务中间件 Docker
Kubernetes学习-集群搭建篇(二) 部署Node服务,启动JNI网络插件
Kubernetes学习-集群搭建篇(二) 部署Node服务,启动JNI网络插件
|
存储 监控 NoSQL
定时任务数量爆炸?Netty教你如何应对百万级挑战
【9月更文挑战第4天】在一项在线出题系统项目中,每位用户需按顺序回答十道题,每题有时间限制,服务器需生成十个定时任务以确保题目按时推送。随着用户增加,传统JDK Timer表现出性能瓶颈,系统响应变慢。采用Netty的HashedWheelTimer后,通过其高效的时间轮机制,将定时任务的存取复杂度降至O(1),实现了在50万级别任务下的稳定运行。多级时间轮结合持久化存储进一步提升了系统的精度和稳定性,但也带来了一些配置和管理上的挑战,需不断优化调整。
237 11
|
网络协议 Linux
在Linux中,如何分析网络连接和端口占用情况?
在Linux中,如何分析网络连接和端口占用情况?
|
存储 Kubernetes API
Kubernetes学习-核心概念篇(三) 核心概念和专业术语
Kubernetes学习-核心概念篇(三) 核心概念和专业术语
Kubernetes学习-核心概念篇(三) 核心概念和专业术语
|
存储 传感器 人工智能
AliOS Things 系统架构介绍(一)
AliOS Things 系统架构介绍(一)
705 0
|
存储 运维 Kubernetes
Kubernetes学习-集群搭建篇(一) 搭建Master结点
Kubernetes学习-集群搭建篇(一) 搭建Master结点
|
监控 NoSQL Java
几种主流的分布式定时任务,你知道哪些?
几种主流的分布式定时任务,你知道哪些?
|
Linux Windows
VsCode(Visual Studio Code) 安装教程
VsCode(Visual Studio Code) 安装教程
338 0