RTL8720CF
1.程序下载
-
打开AmebaZ2_PGTool_v1.2.7.exe
-
Browse选择对应的固件
-
选择对应引脚为PIN_B6_B12
UART2(GPIOA15,16)
Linux编译:
1)打开终端
2)进入project\realtek_amebaz2_v0_example\GCC-RELEASE
3)输入指令make all
0)使用指令make clean,清除编译生成文件
2.5.1.2.2生成图像二值化
编译完成后,可以在\GCC-RELEASE的不同文件夹中看到images partition.bin, bootloader.bin, firmware is.bin和flash is.bin
1)partition.bin存储分区表,记录Boot镜像和firmware镜像的地址;位于文件夹\GCC-RELEASE;
2)bin是bootloader镜像;位于文件夹\GCCRELEASE\bootloader\Debug\bin;
3)Firmware is.bin是应用程序镜像;位于文件夹\GCc RELEASE\application是\Debug\bin;
4)Flash is.bin链接partition.bin, bootloader.bin和firmware is.bin。位于文件夹GCC-RELEASE\application_is\Debug\bin。
用户在使用PG工具下载图片到板时,需要选择flash is.bin。
PIN | |
---|---|
PIN_A7_A12 | RTL8710CX/RTL8720CM |
PIN B6 B12 | RTL8720C6 |
-
console_init:log 串口的初始化工作,创建 log 串口的 AT 命令服务线程,初始化完成后可以通过 log 串口发送指令实现相关功能。log 指令集的格式和说明参考 SDK 包的 doc 文件夹下的 AN0025 文档。
-
wlan_network:初始化 Lwip 协议栈。
-
example_entry:SDK 功能模块入口函数,通过配置相关的宏定义来开启或关闭相关的功能,例如 AT 指令集,蓝牙 GATT 服务,各种云服务 demo,HTTP 等。
AT 指令集介绍
SDK 中有两套 AT 指令集,一套是基于 log 串口的,指令交互是通过 log 串口进行,参考文档是 doc 目录下的 AN0025。另一套是 v2.0 的指令集,基于独立的命令串口,指令集参考文档是 doc 目录下的 AN0075,两套指令集指令格式不一样, 文档中有每条指令的使用方法。
默认不开启指令集模块的。
1.需要platform_opts.h 头文件中将 AT 指令集的配置宏打开,配置如下:
#define CONFIG_EXAMPLE_UART_ATCMD 1
2.配置一下串口参数,配置代码在 example_uart_atcmd.c 文件的 uart_atcmd_main 函数。模块上电后将从 FLASH 读保存的串口参数进行配置,如果没有通过指令设置过串口参数,将使用默认的参数,默认参数如下:
波特率:38400
数据位:8
校验位:无
停止位:1
硬件流控:关闭
注意:由于串口有多组复用引脚,所以配置串口的引脚不要与其他功能引脚有冲
突,引脚的配置在头文件 example_uart_atcmd.h 中,配置代码如下:
#define AMEBAZ2 4
#define AMEBAZ2 4
#define CONFIG_AMEBA AMEBAZ2
#if (CONFIG_AMEBA == AMEBA1 )
#define UART_TX PA_4
#define UART_RX PA_0
#define UART_RTS PA_2
#define UART_CTS PA_1
#elif (CONFIG_AMEBA == AMEBAZ )
#define UART_TX PA_23
#define UART_RX PA_18
#define UART_RTS PA_22
#define UART_CTS PA_19
#elif (CONFIG_AMEBA == AMEBAD )
#define UART_TX PA_18
#define UART_RX PA_19
#define UART_RTS PA_16
#define UART_CTS PA_17
#elif (CONFIG_AMEBA == AMEBAZ2)
#define UART_TX PA_14
#define UART_RX PA_13
#define UART_RTS NC
#define UART_CTS NC
#endif
3.编译下载
4.测试(指令以\r\n结尾)
ATPN=AA,12345678
连接AA的wifi,密码为12345678
AT指令集开发
SDK 集成了常用的连网,数据传输,参数设置等常用指令,用户也可以根据实际需求增加自己的指令。
1.指令定义
指令的添加需要先定义指令格式和指令的执行函数,按照约定的格式每条指令的前两个字母为“AT”,在 atcmd_wifi.c 文件的 at_wifi_items 结构体数组中
进行定义 。
“ATxx”为指令识别字符,“fATxx”为指令执行函数,用户自定义指令需要自行添加指令识别字符和实现指令执行函数
2.指令的接收、执行
AT 指令的接收和数据打包在串口中断函数 uart_irq 中执行,中断函数在example_uart_atcmd.c 文件中。中断函数中主要是将串口接收到的数据打包,以回车换行符为结束标志。接收完一条指令后通过发送信号rtw_up_sema_from_isr(&log_rx_interrupt_sema)通知指令处理线程进行指令的解析和处理。指令的解析和执行函数在 log_service 函数中进行,service 函数等待串口接收中断函数发送 log_rx_interrupt_sema 信号,接收到信号后调用 log_handler 从指令列表中匹配对应的指令,匹配上指令之后调用对应的指令处理函数实现相关的功能。