아메바 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
- 빌드의 출력은
connectedhomeip/out/asdk/image/km0_km4_image2.bin
에 있습니다.
- 빌드의 출력은
보드 플래시
다음 그림과 같이 Ameba D 하드웨어를 설정합니다.
- 컴퓨터에 적합한 ImageTool 디렉터리로 이동합니다. ImageTool은 보드에 예를 플래시하는 데 사용됩니다. 모든 ImageTool 버전은
ambd_sdk_with_chip_non_NDA/tools/AmebaD/
에 있습니다.OS 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 이미지 3개를 현재 디렉터리(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_다운로드 버튼을 누르고 리셋 버튼을 누른 다음 UART_다운로드 버튼을 놓으면 다운로드 모드로 전환됩니다.
- 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에 내장 저항이 없는 경우 220Ω 저항기를 LED와 B5 사이에 연결해야 합니다.
다음 단계
Matter example has been successfully built, create a developer project.