2_3_haas 源代码下载_编译_烧录|学习笔记

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 快速学习2_3_haas 源代码下载_编译_烧录。

开发者学堂课程【HaaS 物联网应用开发课程2_3_haas 源代码下载_编译_烧录】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/801/detail/13821


2_3_haas 源代码下载_编译_烧录

 

内容介绍:

一、HaaS 源代码下载及编译

二、HaaS 固件烧录及调试

三、演示

 

一、HaaS 源代码下载及编译

1. HaaS 源代码下载

HaaS EDU K1运行 AliOS Things 3.1版本

>Docker 版本

安装环境过程中,安装脚本会自动下载 HaaS 源代码到/workspace/AliOS-Things

>Native 版本

只需要使用 git 工具,通过 AliOS Things 源码的官方途径(github/gitee)进行下载

Ø github(服务器在国外,速度慢一些)

git clone https://github.com/alibaba/AliOS-Things.git -b dev_3.1.0_hass

Ø gitee (国内速度快,建议使用这种方式进行下载)

git clone https://gitee.com/alios-things/AliOS-Things.git -b dev_3.1.0_haas

代码下载完成后可以通过 webIDE 方式来浏览编辑以及编译。

2. 触发编译

选择 APP -> 选择 Board -> 点击开始编译按钮

helloworld_demo haasEDU

image.png

点击最下方按钮后会提示选择编译哪个工程,此处可以输入,加入编译的是 helloworld_demo工程,输入helloworld_demo 会自动过滤出 helloworld_demo,选中工程后需要选择一个 board,选择 haaseduk1。

点击完后下方就会变成 helloworld_demo@haaseduk1。再点击√,就会自动进行编译。

编译结果:

image.png

编译过程中在 terminal 中显示整个编译过程的日志,编译完成后会显示 build complete helloworld_demo@haaseduk1,编译完成。

编译完成后的 image 放在 out 下的

helloworld_demo@haaseduk1下的 binary 目录下,但是在 haaseduk1并不能直接烧录到百度上运行,因为haaseduk1使用 haasedu1000芯片,需要将image打包后处理再交到一个 ota 下的 bin 中然后才能烧录到haasedu1000芯片中。

 

二、HaaS 固件烧录及调试

1. HaaS 固件烧录

点击下方状态栏中的⚡标志即触发烧录过程

image.png

根据提示选择 HaaS串口,当将 haasedu 管插入电脑后就会自动虚拟出一个串口。Haaseduk1上的选用的usb转用的芯片是 ft232r芯片,所以下图提示 Enter port index or full name:4串口对应的序列号为4,只需要输入4

image.png

回车后就会进行烧录,烧录完成后显示 Firware upload succeed

烧录过程中可以切回到启动 IDE 命令行的终端中可查看烧录的详细日志

如果日志中出现 Please reboot the board manually 或者听到每秒钟1声 beep,请按复位键手动复位开发板

烧录完成后来查看 helloworld_demo 如何输出来确定开发板是否正常运行

如何查看开发板输出的日志?日志也是通过刚刚烧录的串口进行输出,此时需要借助 PC 上的串口工具。

2. HaaS 调试-抓取日志

HaaS EDU K1在通过 Type-C 口连接到电脑之后,会自动在电脑上虚拟一个串口。虚拟出来的串口是用来烧录和输出日志使用的。

串口的名称在刚刚烧录的环节我们已经看过了。

建议的串口工具:

Ubuntu : picocom  该工具免费且比较稳定

MaCOs : picocom

Windows : sscom/SecureCRT

串口波特率设置:1500000,如MaCOS/Linux :

picocom -b 1500000 /dev/<UART NAME>

使用 picocom 时需要遵循上述格式

在打开串口工具后,picocom 会将自己的配置信息打印出,接着输出 HaaS EDU K1的日志。如下图输出的是 hello world!count 27

hello world!count 28

image.png

假如现在想要关闭串口方法:

>按下 ctrl+a 之后松开,再按 ctrl+x 将 picocom 退出。如果一次不行可以多尝试几次。

特别说明

因为串口输出和烧录共用同一个 UART,在烧录之前需要先关闭串口工具。

 

三、演示

演示从代码下载编译烧录及调试的整个过程,首先在

workspace/experiment 下新建了两个目录 gitee 和 github,接着同时让两个进行下载

启动 gitee 上:输入

/gitee.com/alios-things/AliOS-Things.git -b dev_3.1.0_haas

启动 github 上:输入

/github.com/alibaba/AliOS-Things.git -b dev_3.1.0_haas

结果在 gitee 上下载速度更快

下载完成后在 gitee 上输入 ls

再输入 cd AliOS-Things/

结果显示目录结构如下

image.png

代码下载完成后 copy 到 workspace/experiment 下,输入

cd..

mv AliOS-Things/ /workspace/

ls /workspace

可以看到结果中有 AliOS-Things,已经 copy 完成。

代码下载完成后可以通过网页版的 AliOS Studio 来查看下载代码的目录结构,输入网址:

127.0.0.1:64352/?folder=/workspace/AliOS-Things

打开后左侧是运行代码的目录结构

image.png

下载完成后进行编译,选择 helloworld_demo 的工程,再选择 haaseduk1的包,选好后点击√,TERMINAL 窗口就会进行编译,实时显示编译过程。

image.png

编译完成后的 image 结果放在目录 out 下的

helloworld_demo@haaseduk1 下的 binary 下的

helloworld_demo@haaseduk1.bin。

编译完成后也看到了输出结果,之后进行烧录。

点击⚡符号后就会进行烧录,TERMINAL 中会显示 FT232R芯片是目标烧录的串口,在 Enter port index or full name 上敲入4回车就会自动进行烧录。

提示 success 烧录完成后需要查看 haashelloworld_demo 应用程序在 haaseduk1运行结果如何。

新打开一个窗口,本机上的一个窗口并不是刚才 docker 环境中 ssh 登录上的窗口。输入

ls /dev/tty.*

image.png

就可以看到刚才插上haaseduk1虚拟出来的串口

/dev/tty.usbserial-A908XGVV

再输入 picocom -b 1500000 /dev/tty.usbserial-A908XGVV

回车后 picocom 会先显示自身的配置信息,接着打印从 haaseduk1上输出的 log,结果显示 hello world! count ,count 在递增。

image.png

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
芯片
STM32-FreeRTOS源码下载及移植步骤(基于Keil)
STM32-FreeRTOS源码下载及移植步骤(基于Keil)
900 0
STM32-FreeRTOS源码下载及移植步骤(基于Keil)
|
传感器 XML 消息中间件
Qt开发技术:mqtt介绍、QtMqtt编译和开发环境搭建
Qt开发技术:mqtt介绍、QtMqtt编译和开发环境搭建
Qt开发技术:mqtt介绍、QtMqtt编译和开发环境搭建
|
Ubuntu NoSQL IDE
树莓派开发笔记(二):qt开发环境搭建:树莓派qt编译和宿主机qt交叉编译
树莓派开发笔记(二):qt开发环境搭建:树莓派qt编译和宿主机qt交叉编译
树莓派开发笔记(二):qt开发环境搭建:树莓派qt编译和宿主机qt交叉编译
|
Linux 芯片 Windows
嵌入式Linux系列第3篇:uboot编译下载
嵌入式Linux系列第3篇:uboot编译下载
|
人工智能 物联网 Linux
手把手之如何在嵌入式Linux上运行QT应用程序(以百问网imx6ull开发板为例)
手把手之如何在嵌入式Linux上运行QT应用程序(以百问网imx6ull开发板为例)
1131 0
|
Shell Linux
嵌入式linux/鸿蒙开发板(IMX6ULL)开发(十一)makefile的使用(下)
嵌入式linux/鸿蒙开发板(IMX6ULL)开发(十一)makefile的使用
151 1
嵌入式linux/鸿蒙开发板(IMX6ULL)开发(十一)makefile的使用(下)
|
芯片 内存技术
如何用SEGGER工具烧写程序,烧写地址详解
如何用SEGGER工具烧写程序,烧写地址详解
313 0
如何用SEGGER工具烧写程序,烧写地址详解
|
Ubuntu Linux C语言
嵌入式linux/鸿蒙开发板(IMX6ULL)开发(十一)makefile的使用(上)
嵌入式linux/鸿蒙开发板(IMX6ULL)开发(十一)makefile的使用
180 0
嵌入式linux/鸿蒙开发板(IMX6ULL)开发(十一)makefile的使用(上)
|
Ubuntu 网络安全 数据安全/隐私保护
鸿蒙系统环境搭建、源码编译与烧写之经典
大家好,今天学习一下,如何部署鸿蒙环境,并在ubuntu系统下编译,以及烧写镜像的方法。 目录
392 0
鸿蒙系统环境搭建、源码编译与烧写之经典