查看:
5387
|
回复:
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,所有的源码都放在这个文件夹,根据子文件件的命名可以清晰的找到各个部分的代码。 doc:doc文件夹里包含了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加密等。 os:FreeRTOS系统源码。 peripheral:外围接口操作API,包含i2c,sdio,gpio,timer,pwm,efuse和串口等。使用MCU的外围接口需要调用对应文件的API。 user:main函数入口文件,包含控制台初始化入口,网络初始化入口和应用入口函数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的过程中遇到什么问题可以联系我们,加入到我们的技术讨论群,众多工程师和开发者在线为您解答。 |
|||
LuckZY
0
主题
2
回复 |
发表于2019-07-31 11:39:15
|
只看该作者
2#
这个PG tool工具在哪里下载?
|
|||
九九物联SZ
13
主题
15
回复 |
发表于2019-08-12 09:42:28
|
只看该作者
3#
你可以进入网址:https://github.com/99iot/AFM201T.git 下载AFM201T的相关资料,也可以进入我们的QQ群:533426946
|
|||
巧克力万
0
主题
1
回复 |
发表于2022-05-24 10:39:21
|
只看该作者
4#
咱们公司网站咋不能用了 |
|