ASR6601 程序开发快速入门指南
前言
关于本文档
本文档主要对 IoT LoRa SoC 芯片 ASR6601 SDK 的开发环境设置和编译烧录进行说明,方便用户在 ASR6601 上快速进行程序开发。
产品型号
与本文档相对应的产品型号如下:
型号 |
Flash |
SRAM |
内核 |
封装 |
频率 |
|---|---|---|---|---|---|
ASR6601SE |
256 KB |
64 KB |
32-bit 48 MHz Arm China STAR-MC1 |
QFN68, 8*8 mm |
150 ~ 960 MHz |
ASR6601CB |
128 KB |
16 KB |
32-bit 48 MHz Arm China STAR-MC1 |
QFN48, 6*6 mm |
150 ~ 960 MHz |
ASR6601SER |
256 KB |
64 KB |
32-bit 48 MHz Arm China STAR-MC1 |
QFN68, 8*8 mm |
150 ~ 960 MHz |
ASR6601CBR |
128 KB |
16 KB |
32-bit 48 MHz Arm China STAR-MC1 |
QFN48, 6*6 mm |
150 ~ 960 MHz |
版权公告
版权归 © 2024 翱捷科技股份有限公司所有。保留一切权利。未经翱捷科技股份有限公司的书面许可,不得以任何形式或手段复制、传播、转录、存储或翻译本文档的部分或所有内容。
商标声明
ASR、翱捷和其他翱捷商标均为翱捷科技股份有限公司的商标。
本文档提及的其他所有商标名称、商标和注册商标均属其各自所有人的财产,特此声明。
免责声明
翱捷科技股份有限公司对本文档内容不做任何形式的保证,并会对本文档内容或本文中介绍的产品进行不定期更新。
本文档仅作为使用指导,本文的所有内容不构成任何形式的担保。本文档中的信息如有变更,恕不另行通知。
本文档不负任何责任,包括使用本文档中的信息所产生的侵犯任何专有权行为的责任。
文档修订历史
日期 |
版本号 |
发布说明 |
|---|---|---|
2024.03 |
V1.3.1 |
更新节2.1的描述。 |
1. 硬件准备
LoRa 节点必需硬件列表如下:
ASR6601 开发板 1 个
天线 1 根
USB 线 1 根
PC 机 1 台
1.1 ASR6601 开发板说明
开发板 ASR6601SE-EVAL v2.0 的正反面如下图所示:

ASR6601SE-EVAL v2.0 正面

ASR6601SE-EVAL v2.0 反面
接口 |
描述 |
|---|---|
USB-UART |
USB 转串口 |
Power Switch |
电源开关 |
Reset |
Reset 按钮 |
SW3 |
Download 按钮,按下后,GPIO02 拉高 |
SW1 |
User 按钮,按下后,GPIO11 拉低 |
JP1 |
电源跳线 |
JP2 |
电源跳线 |
JP3 |
电源跳线 |
JP4 |
电源跳线,可测试板子总功耗 |
JP5 |
UART_TX 跳线,跳线连通选择 UART0_TX,具体请参考原理图 |
JP6(仅存在于ASR6601CB-EVAL) |
UART_TX 跳线,跳线连通选择 LPUART_TX,具体请参考原理图 |
JP7 |
UART_RX 跳线,跳线连通选择 UART0_RX,具体请参考原理图 |
JP8 |
UART_RX 跳线,跳线连通选择 LPUART_RX,具体请参考原理图 |
1.2 跳线连接
在进行 ASR6601 开发板测试过程中,请保证下面跳线的状态正确。
跳线 |
连接状态 |
|---|---|
JP1 |
连通 |
JP2 |
连通 |
JP3 |
连通 |
JP4 |
连通 |
JP5 |
连通 |
JP6(仅存在于 ASR6601CB-EVAL) |
断开 |
JP7 |
连通 |
JP8 |
断开 |
2. 使用 Keil 开发环境
2.1 连接 J-Link

SWD 接口定义
ASR6601 使用 J-Link 时需要连 4 根线,将上图中 1、7、9 和 20 脚连接到板子的对应 pin 脚即可。需注意,禁止将 J-Link 的 RESET 引脚连接到A SR6601 的 RESET 引脚上,可能会导致 flash 擦除的风险。
2.2 获取 SDK
可以联系 ASR 技术支持人员来获取,或者通过下方命令从 GitHub 上下载。
git clone https://github.com/asrlora/asr_lora_6601.git
2.3 生成 Keil 工程文件
SDK 中未提供 Keil 工程文件,可以运行示例程序中的 keil.bat 生成 Keil 工程文件。
2.4 配置 GCC 工具链
通过下方链接下载 GNU Arm Embedded Toolchain,然后解压缩。 https://developer.arm.com/-/media/Files/downloads/gnu-rm/9-2020q2/gcc-arm-none-eabi-9-2020-q2-update-win32.zip
按照 Keil 的用户指南文档设置 GCC 工具链,文档链接如下: https://www.keil.com/support/man/docs/uv4/uv4_gnucomp.htm
设置 Tool Base Folder 为刚解压后的目录,例如:D:\ASR6601_rel\tools\toolchain

2.5 配置 Flash Programming Algorithm
首先,将 \tools\FLM 目录下的 ASR6601.FLM 文件复制到 Keil 的 Flash 目录,例如: C:\Keil_v5\ARMFlash。
如果仍然无法烧录,请按照 Keil 的用户指南文档修改 Flash Download 配置,文档链接如下: https://www.keil.com/support/man/docs/uv4/uv4_fl_dlconfiguration.htm
主要配置如下内容:
Download Function:勾选 “Erase Sectors”,“Program” 和 “Verify”
RAM for Algorithm:配置 Start 为0x20000000,Size为0x2000
Programming Algorithm:添加 ASR6601 的 Flash Programming Algorithm 文件。

2.6 编译与烧录
点击 “Build” 按钮进行编译
点击 “Download” 按钮进行烧录
3. 使用 Make 命令行
3.1 准备
3.1.1 开发环境安装
3.1.1.1 Ubuntu 环境(Ubuntu 18.04)
运行下面命令安装 Python 及其他必要软件:
sudo apt-get install gcc-arm-none-eabi git vim python python-pip
pip install pyserial configparser
3.1.1.2 Windows 环境
安装 MSYS2
请登录官网(https://www.msys2.org/)下载安装包,并按照要求进行安装。
安装相关程序
打开 MSYS2,然后安装相关程序:
pacman -S git vim make unzip python python-pip wget使用 pip 安装 pyserial:
pip install pyserial configparser
3.1.2 SDK 获取
可以联系 ASR 技术支持人员来获取,或者通过下方命令从 GitHub 上下载。
git clone https://github.com/asrlora/asr_lora_6601.git
3.2 软件编译与烧录
下面以 uart_printf 工程为例讲解软件的编译与烧录过程。
3.2.1 编译工程
按如下步骤编译工程:
执行下面命令配置环境变量:
source build/envsetup.sh进入 uart_printf 目录:
cd projects/ASR6601CB-EVAL/examples/uart/uart_printf执行 make 命令编译程序:
make
编译成功后,显示结果如下:
Build completed.
arm-none-eabi-size out/uart_printf.elf
text data bss dec hex filename
9972 1080 4164 15216 3b70 out/uart_printf.elf
Please run 'make flash' or the following command to download the app
python /home/ruilinhao/work/ASR6601_rel/build/scripts/tremo_loader.py -p /dev/ttyUSB0 -b 921600 flash 0x08000000 out/uart_printf.bin
3.2.2 烧录
烧录有两种方式:
使用烧录工具进行烧录,具体可以参考文档 《ASR6601_烧录工具使用说明》。
使用命令行烧录。
下面重点介绍命令行烧录的步骤:
串口配置
首先执行命令
ls /dev/来查看开发板使用的串口。通常在 MSYS2 下面,会有 ttyS* 设备,即为串口设备,其与 Windows 下面的 COM 端口号有对应关系,如COM6 对应在 MSYS2 中为 /dev/ttyS5;在 Ubuntu 下面串口设备通常为 /dev/ttyUSB*。
找到串口设备后,修改 uart_printf 工程的 Makefile,去除 SERIAL_PORT 前面的 “#” 符号,并将 SERIAL_PORT 修改成对应的串口号。
SERIAL_BUADRATE 和 $(PROJECT)_ADDRESS 如无特殊需求,可以不修改,使用默认值。
SERIAL_PORT :=/dev/ttyS5 #SERIAL_BAUDRATE := #$(PROJECT)_ADDRESS :=
进入下载模式
烧录前,请按住板子上的 SW3 按钮,使 GPIO02 拉高,然后点击 Reset 按钮重启,进入下载模式。

执行烧录
最后执行
make flash命令或者使用tremo_loader.py自定义命令进行烧录。如烧录成功,会显示如下信息。如一直无法烧录成功,请参考第 4 章的相关 QA 内容。
Connecting... Connected ('send: ', 512) ('send: ', 1024) ('send: ', 1536) ('send: ', 2048) ('send: ', 2560) ('send: ', 3072) ('send: ', 3584) ('send: ', 4096) ('send: ', 4100) Download files successfully
3.2.3 运行
烧录完成后,重启即可顺利运行程序。串口工具界面打印:hello world
4. Q&A
4.1 使用 Keil 烧录时,一直没有出现 SW Deice,怎么办?
没有出现 SW Device 可能是由以下两种情况造成的:
硬件连接问题,需检查接线和电源等硬件连接。
出现硬故障或者 MCU 进入低功耗等情况,会导致 SW device 没有出现,此时可以用杜邦线将 GPIO02 pin 拉高,然后重启,使 MCU 进入 bootloader,即可使 SW device 出现并可再次烧录。
4.2 使用 MSYS2 环境进行烧录时,找不到对应的串口设备,怎么办?
MSYS2 中有最大串口设备数量(版本不同,可能是 64 或者 128),如果串口设备端口号过大,在 MSYS2 中就会找不到,可以把串口号改小一点,就可以在 MSYS2 中出现了。
4.3 使用 MSYS2 环境进行烧录时,能看到串口设备,但烧录一直不成功,怎么办?
检查是否有其他软件打开了该串口,如串口工具等。
在某些 Windows 版本中,直接使用 /dev/ttyS* 会失败,可以尝试在 Makefile 中将 SERIAL_PORT 修改成 COM*。