开发者学堂课程【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
点击最下方按钮后会提示选择编译哪个工程,此处可以输入,加入编译的是 helloworld_demo工程,输入helloworld_demo 会自动过滤出 helloworld_demo,选中工程后需要选择一个 board,选择 haaseduk1。
点击完后下方就会变成 helloworld_demo@haaseduk1。再点击√,就会自动进行编译。
编译结果:
编译过程中在 terminal 中显示整个编译过程的日志,编译完成后会显示 build complete helloworld_demo@haaseduk1,编译完成。
编译完成后的 image 放在 out 下的
helloworld_demo@haaseduk1下的 binary 目录下,但是在 haaseduk1并不能直接烧录到百度上运行,因为haaseduk1使用 haasedu1000芯片,需要将image打包后处理再交到一个 ota 下的 bin 中然后才能烧录到haasedu1000芯片中。
二、HaaS 固件烧录及调试
1. HaaS 固件烧录
点击下方状态栏中的⚡标志即触发烧录过程
根据提示选择 HaaS串口,当将 haasedu 管插入电脑后就会自动虚拟出一个串口。Haaseduk1上的选用的usb转用的芯片是 ft232r芯片,所以下图提示 Enter port index or full name:4串口对应的序列号为4,只需要输入4
回车后就会进行烧录,烧录完成后显示 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
假如现在想要关闭串口方法:
>按下 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/
结果显示目录结构如下
代码下载完成后 copy 到 workspace/experiment 下,输入
cd..
mv AliOS-Things/ /workspace/
ls /workspace
可以看到结果中有 AliOS-Things,已经 copy 完成。
代码下载完成后可以通过网页版的 AliOS Studio 来查看下载代码的目录结构,输入网址:
127.0.0.1:64352/?folder=/workspace/AliOS-Things
打开后左侧是运行代码的目录结构
下载完成后进行编译,选择 helloworld_demo 的工程,再选择 haaseduk1的包,选好后点击√,TERMINAL 窗口就会进行编译,实时显示编译过程。
编译完成后的 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.*
就可以看到刚才插上haaseduk1虚拟出来的串口
/dev/tty.usbserial-A908XGVV
再输入 picocom -b 1500000 /dev/tty.usbserial-A908XGVV
回车后 picocom 会先显示自身的配置信息,接着打印从 haaseduk1上输出的 log,结果显示 hello world! count ,count 在递增。