阿梅巴 D
此示例用作灯泡设备类型(具有开启/关闭功能)。 这些步骤在 Ameba D 板上得到了验证。
初始设置
- 克隆 Ameba SDK 并查看
v1.0-branch
:mkdir ameba_matter
cd ameba_matter
git clone -b v1.0-branch https://github.com/pankore/ambd_sdk_with_chip_non_NDA.git
- 克隆
connectedhomeip
代码库并签出 Ameba SDK 的特定 SHA:git clone https://github.com/project-chip/connectedhomeip.git
cd connectedhomeip
git switch v1.0-branch
构建映像
- 请确保您的文件夹结构如下所示:
ameba_matter/ ├── ambd_sdk_with_chip_non_NDA └── connectedhomeip
- 初始化
connectedhomeip
代码库:git submodule update --init --recursive
source scripts/activate.sh
- 构建
lighting-app
$PWD/../ambd_sdk_with_chip_non_NDA/project/realtek_amebaD_va0_example/GCC-RELEASE/build.sh $PWD ninja $PWD/out lighting-app
cd out ; ninja
- 此 build 的输出位于以下位置:
connectedhomeip/out/asdk/image/km0_km4_image2.bin
- 此 build 的输出位于以下位置:
刷写开发板
设置 Ameba D 硬件,如下图所示:
- 转到您计算机的相应 ImageTool 目录。ImageTool 用于将示例刷写到开发板上。所有 ImageTool 版本都位于
ambd_sdk_with_chip_non_NDA/tools/AmebaD/
:操作系统 ImageTool 位置 Linux /Image_Tool_Linux/AmebaD_ImageTool
MacOS 10.X /Image_Tool_MacOS/MacOS_v10/Ameba_1-10_MP_ImageTool_MacOS
MacOS 版本 11 /Image_Tool_MacOS/MacOS_v11/Ameba_1-10_MP_ImageTool_MacOS11
- 对于 Linux,进入
/Image_Tool_Linux/AmebaD_ImageTool
目录:cd ../../ambd_sdk_with_chip_non_NDA/tools/AmebaD/Image_Tool_Linux/
- 根据需要更改工具权限。例如,在 Linux 上:
chmod +x AmebaD_ImageTool
- 检查工具使用情况:
./AmebaD_ImageTool -help
- 根据需要更改工具权限。例如,在 Linux 上:
- 将映像刷写到 Ameba D 开发板。将 Micro-B USB 连接到开发板,并将另一端连接到 PC。检查 UART 端口,如果未将 UART 端口分配给
/dev/ttyUSB0
,请对其进行修改:./AmebaD_ImageTool -add device /dev/ttyUSB0
command finish total device to add 1 /dev/ttyUSB0 existed
- 将您之前构建的三张 Ameba D 映像复制到当前目录(其中 ImageTool 是):
cp ../../../../connectedhomeip/out/asdk/bootloader/km0_boot_all.bin ./
cp ../../../../connectedhomeip/out/asdk/bootloader/km4_boot_all.bin ./
cp ../../../../connectedhomeip/out/asdk/image/km0_km4_image2.bin ./
- 合并三张图片以生成
Image_all.bin
:./AmebaD_ImageTool -combine km0_boot_all.bin 0x0000 km4_boot_all.bin 0x4000 km0_km4_image2.bin 0x6000
command finish Combine Image Success
- 验证是否已设置最终设置:
./AmebaD_ImageTool -show
command finish Current Settings CPU : AmebaD UART : 1500000 bps parity:N flow control:False FW NAME : Image_All.bin FW ADDR : 0x08000000 FW LEN : 0 OPTS : keep data : True keep wifi cal: True verification : False reset device : False factory mode : False save log : True Port Settings PORT 0: active:True device:/dev/ttyUSB0 PORT 1: active:False device:NONE PORT 2: active:False device:NONE PORT 3: active:False device:NONE PORT 4: active:False device:NONE PORT 5: active:False device:NONE PORT 6: active:False device:NONE PORT 7: active:False device:NONE PORT 8: active:False device:NONE PORT 9: active:False device:NONE
- 在 Ameba D 开发板上,按住 UART_Download 按钮,然后按重置按钮,然后释放 UART_Download 按钮以进入下载模式。
- 将映像刷写到 Ameba D 开发板:
./AmebaD_ImageTool -download
log file = log_2021_11_15_23_42_10.txt [100, 0, 0, 0, 0, 0, 0, 0, 0, 0]command finish
status: ['OK 53.0s', 'Check PORT', 'Off', 'Off', 'Off', 'Off', 'Off', 'Off', 'Off', 'Off'] close log file
重置开发板
- 请按下开发板上的 RESET 按钮重新启动系统。
- 使用
minicom
或screen
打开串行控制台到开发板。例如,如果设备处于/dev/ttyUSB0
状态:screen /dev/ttyUSB0 115200
- 如果 Ameba D 开发板之前已经配对,那么我们建议您先将其恢复出厂设置,然后再继续。为此,请在控制台中输入
ATS#
:# ATS# xPortGetTotalHeapSize = 204800 xPortGetFreeHeapSize = 104512 xPortGetMinimumEverFreeHeapSize = 98176 _[dct_init_valid_module]: erase flash address 0x001ec00
LED 布线
如果您想使用开发板为 LED 灯点亮,请将 LED 的长腿(正极)连接到 B5,并将 LED 的短腿(负极)连接到 GND。如果您的 LED 灯没有内置电阻器,必须在 LED 和 B5 之间连接 220 欧姆电阻。
后续步骤
成功构建 Matter 示例后,创建开发者项目。