查看: 4207  |  回复: 3
九九物联 AmebaZ-II SDK上手指南
九九物联SZ
13
主题
15
回复
发表于2019-07-24 12:08:46 | 只看该作者
1# 电梯直达

本章介绍如何在windows系统下搭建SDK开发环境,包括IDE的安装,驱动安装和调试工具软件的安装。

 

1. IAR8.32的安装和注册

我们提供的SDK是基于IAR 8.32.1版本的工程,需要安装8.32.1或更高的软件版本才能正常打开和编译,低版本的IAR打开工程编译会出错。

 

1.1 下载IAR8
登录IAR官网下载,官网地址https://www.iar.com/iar-embedded-workbench/#!?architecture=Arm  


1.2 JLINK驱动安装

AmebaZ II的SDK支持JLINK的SWD接口在线调试代码和下载程序,方便对SDK进行二次开发。

使用JLINK进行调试先要安装JLINK驱动,JLINK驱动官方下载地址:https://www.segger.com/downloads/jlink#J-LinkSoftwareAndDocumentationPack

本文档是在v6.40版本上进行调试的。

注意:由于AmebaZ II是Cortex-M33的内核,JLINK的硬件版本要在V9及以上才支持,低版本的JLINK不支持Cortex-M33。

安装好JLINK驱动后打开电脑的设备管理器,可以看到JLINK

设备,如下图:

  

软件安装完成后打开IAR工程配置好相关选项即可用JLINK在线调试代码和下载程序到FLASH。


1.3 辅助开发调试工具介绍

 

1.3.1 串口调试助手 

1.3.2 TCP/UDP网络助手

工欲善其事必先利其器,到此我们的SDK的开发和调试环境基本建立起来了,下一章开始我们的SDK开发之旅。


2.1  SDK工程文件夹介绍

component:包含FreeRTOS,Lwip协议栈,蓝牙,mqtt协议,AT指令集和上层的API,所有的源码都放在这个文件夹,根据子文件件的命名可以清晰的找到各个部分的代码。

docdoc文件夹里包含了API的说明文档,原厂的AT指令集和各功能模块的说明文档,用户可以查阅里面的相关文档来熟悉SDK的各个功能模块的实现和配置。

project:该文件夹包含IAR工程的配置文件,编译输出文件和模块外设的使用参考例程代码。

 

2.1  SDK IAR工程结构介绍

打开IAR软件(8.32以上的版本),加载IAR的工程文件Project_is.eww,工程文件在SDK中的路径为project\realtek_amebaz2_v0_example\EWARM-RELEASE

打开工程后目录结构如下图:

 




@ERAM@SRAM目录根据用户的需求,将关键代码放置到这两个目录,具体的说明参照文档AN0500的2.4.3.1章节。

amazon:连接亚马逊云服务的demo源码。

bluetooth:蓝牙配网,GATT服务的例程和蓝牙协议栈的相关代码。

cmsis:进入main函数前的相关初始代码。

console:指令集API函数集合,包括WIFI指令,蓝牙指令,log串口指令,系统设置相关指令。

lib:原厂封装的wlan等应用库,包含wlan,蓝牙gap,http等,不提供源代码,以封装库的形式给用户调用。

network:网络部分相关的源代码,包含lwip,http,google demo,ssl加密等。

osFreeRTOS系统源码。

peripheral:外围接口操作API,包含i2c,sdio,gpio,timer,pwm,efuse和串口等。使用MCU的外围接口需要调用对应文件的API。

usermain函数入口文件,包含控制台初始化入口,网络初始化入口和应用入口函数example_entry的调用。

utilities:功能模块的入口代码,每个源文件对应一个功能模块,通过配置头文件platform_opt.h中的宏定义来开启对应的功能。

output:编译产生的.o文件,.map文件。



2.2编译SDK

首次打开工程先clean以前编译的信息project->clean ,清除旧的编译信息之后project->make开始SDK的编译工作,编译完成后,在以下目录生成可执行的bin文件project\realtek_amebaz2_v0_example\EWARM-RELEASE\Debug\Exe。

生成的bin文件有bootloader.bin,firmware_is.bin,flash_is.bin和partition.bin。

partition.bin :存放分区列表信息,boot image和firmware iamge的地址信息。

bootloader.bin:模块的启动引导文件,模块启动时执行bootloader.bin对硬件底层进行初始化和分区跳转,boot文件由原厂提供,不需要修改。

firmware_is.bin:是应用固件,执行完boot程序之后跳转到应用固件执行。

flash_is.bin:合成固件,将bootloader.bin,firmware_is.bin和partition.bin合成一个bin文件,可以用PG Tool下载到flash中。

 固件下载

2.2.1  用JLINK下载固件

SDK支持JLINK的SWD方式下载固件,首先将JLINK连接到电脑上,用杜邦线将开发板的SWD下载调试接口J35与JLINK的SWD接口按照下图进行连接:

 



实物连接图如下:


 


连接上JLINK之后还要用micro usb线将开发板的CON3接口连接到电脑,电脑自动识别安装串口驱动,在电脑端打开串口软件SecureCRT并连接开发板的log串口看板子输出的log信息。




连接好PC->JLINK->开发板之后就可以在IAR中进行固件下载了,下载流程如下:Project->Download-> Download active application,如下图:

 



PG tool下载固件

Ameba-ZII也可使用原厂提供的下载工具PG tool进行固件一键下载,方便快捷,软件界面如下:

 



下载成功后信息提示框中显示如下:

 



下载失败显示如下:

 



到此SDK的编译和固件的下载工作已经完成,下一章将介绍SDK的代码框架,如何开发AT指令集和蓝牙相关功能。


3.3 蓝牙配网功能介绍


SDK中的蓝牙功能默认是关闭的,要开启蓝牙配网首先要在platform_opts_bt.h文件中打开相关的宏定义,宏配置如下:

 



蓝牙BLE Peripheral概述

Ameba-ZII可以作为BLE外围设备向外界发送广播和提供GATT服务,用户可以自定义自己需要的GATT服务。模块作为服务端,通过提供GATT服务跟连接进来的客户端进行数据交互,消息订阅、推送、读、写等操作。



到此,AT指令集,蓝牙配网,蓝牙数据传输应用的代码配置和测试流程已介绍完。Ameba-ZII的SDK还有许多的功能默认是关闭的,如亚马逊,谷歌的云应用,HTTPC,HTTPD,OTA升级,SPI通信等应用demo。这些demo的入口都在example_entry.c文件中调用,通过配置相关宏定义来开启。芯片外设接口的使用例程位于目录project\realtek_amebaz2_v0_example\example_sources中,用户在开发SDK的过程中如果要使用到不同外设,可以参照example_sources中的demo例程。

九九物联专业开发WIFI底层固件,APP和对接各大云平台,我们的Ameba-ZII已经应用到实际的智能家居产品中,用户在开发SDK的过程中遇到什么问题可以联系我们,加入到我们的技术讨论群,众多工程师和开发者在线为您解答。

更多信息,请参考规格书“AmebaZ-II SDK上手指南.pdf   ”,如有兴趣的小伙伴可以留意咨询,互相交流分享。请加入我们一起讨论 :





LuckZY
0
主题
2
回复
发表于2019-07-31 11:39:15   |  只看该作者
2#
这个PG tool工具在哪里下载?
九九物联SZ
13
主题
15
回复
发表于2019-08-12 09:42:28   |  只看该作者
3#
LuckZY 发表于2019-07-31 11:39:15  2# 这个PGtool工具在哪里下载?
你可以进入网址:https://github.com/99iot/AFM201T.git 下载AFM201T的相关资料,也可以进入我们的QQ群:533426946 
巧克力万
0
主题
1
回复
发表于2022-05-24 10:39:21   |  只看该作者
4#

咱们公司网站咋不能用了


主题

回复
  • 温馨提示: 标题不合格、重复发帖、发布广告贴,将会被删除帖子或禁止发言。 详情请参考: 社区发帖规则
  • 您当前输入了 0 个文字。还可以输入 8000 个文字。 已添加复制上传图片功能,该功能目前仅支持chrome和火狐

禁言/删除

X
请选择禁言时长:
是否清除头像:
禁言/删除备注:
昵 称:
 
温馨提示:昵称只能设置一次,设置后无法修改。
只支持中文、英文和数字。

举报

X
请选择举报类型:
请输入详细内容:

顶部