【RTL8720CF】BW15(模组WiFi+蓝牙)编译等操作笔记

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_A12RTL8710CX/RTL8720CM
PIN B6 B12RTL8720C6
  • 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 从指令列表中匹配对应的指令,匹配上指令之后调用对应的指令处理函数实现相关的功能。

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值