수행기록퀘스트3
1. CleanSensing1.bat 실행
B-L475E-IOT01A1보드의 펌웨어를 클리어 하기 위한 Batch파일을 실해하기 위해서는 몇가지 수정이 필요합니다.
그리고, STM32툴을 사용하다보면 256자가 넘는 긴~ 폴더명으로 인해 오류가 생기는 일이 잦습니다.
다음 파일들을 D:\Temp 와 같이 루트 디렉토리에 임시 폴더를 만들어 복사 한 후
BATCH파일의 내용을 다음과 같이 수정하고 실행 하시면 됩니다.
* CleanSENSING1.BAT
* SENSING1.BIN
* sensing1_bl.bin
@echo off
set CUBE_PROG="C:\Program Files\STMicroelectronics\STM32Cube\STM32CubeProgrammer\bin\STM32_Programmer_CLI.exe"
set NAMESENSING1=D:\Temp\sensing1
set BOOTLOADER="D:\Proj\STM32CubeFunctionPack_SENSING1_V4.0.3\Utilities\BootLoader\STM32L476RG\BootLoaderL4.bin"
color 0F
echo /******************************************/
echo Clean FP-AI-SENSING1
echo /******************************************/
echo Full Chip Erase
echo /******************************************/
%CUBE_PROG% -c port=swd mode=UR reset=HWrst -e all
echo /******************************************/
echo Install BootLoader
echo /******************************************/
%CUBE_PROG% -c port=swd mode=UR reset=HWrst -d %BOOTLOADER% 0x08000000 -v
echo /******************************************/
echo Install FP-AI-SENSING1
echo /******************************************/
%CUBE_PROG% -c port=swd mode=UR reset=HWrst -d %NAMESENSING1%.bin 0x08004000 -v
echo /******************************************/
echo Dump FP-AI-SENSING1 + BootLoader
echo /******************************************/
set offset_size=0x4000
for %%I in (%NAMESENSING1%.bin) do set application_size=%%~zI
echo %NAMESENSING1%.bin size is %application_size% bytes
set /a size=%offset_size%+%application_size%
echo Dumping %offset_size% + %application_size% = %size% bytes ...
echo ..........................
%CUBE_PROG% -c port=swd mode=UR reset=HWrst -u 0x08000000 %size% %NAMESENSING1%_BL.bin
echo /******************************************/
echo Reset STM32
echo /******************************************/
%CUBE_PROG% -c port=swd mode=UR reset=HWrst -rst
if NOT "%1" == "SILENT" pause
2.STM32CubeIDE에서 FP-AI-SENSING1프로젝트를 Import 하고, Build를 완료
*Build 전 부팅 메시지
UART Initialized
OK Accelero/Gyroscope Sensor
OK Magneto Sensor
OK Humidity/Temperature1 Sensor
OK Pressure/Temperature2 Sensor
Disabled Accelero Sensor
Disabled Gyroscope Sensor
Disabled Magneto Sensor
Disabled Humidity Sensor
Disabled Temperature Sensor1
Disabled Pressure Sensor
Disabled Temperature Sensor2
Attempting to read STM32.TXT...
FatFs volume ready
------------------------------------------------------------
STMicroelectronics AI-SENSING1
Version 4.0.3
STM32L475R-IoT01A1 board
(HAL 1.10.0_0)
Compiled Apr 13 2021 10:25:31 (IAR)
------------------------------------------------------------
Meta Data Manager read from Flash
Meta Data Manager version=1.0.0
Generic Meta Data found:
NODE_NAME Size=8 [bytes]
SERVER: BLE Stack Initialized
BoardName= IAI_403
BoardMAC = c2:55:05:07:9a:9f
HW & SW Service W2ST added successfully
Console Service W2ST added successfully
Config Service W2ST added successfully
Testing BootLoaderCompliance:
Version 2.0.0
MagicNum OK
MaxSize = 507904
OTAStartAdd OK
OTADoneAdd OK
BootLoader Compliant with FOTA
Console command server.
Type 'help' to view a list of registered commands.
$
3.STM32CubeProgrammer를 실행하고 B-L475E-IOT01A1 보드를 연결하고 \STM32CubeFunctionPack_SENSING1_V4.0.3\Projects\B-L475E-IOT01A\Applications\SENSING1\Binary 의 경로에 부트로더 바이너리 “SENSING1_BL.bin” 파일을 라이팅
* Build후 부팅 메시지
------------------------------------------------------------
STMicroelectronics AI-SENSING1
Version 4.0.3
STM32L475R-IoT01A1 board
(HAL 1.10.0_0)
Compiled Sep 8 2022 11:22:05 (GCC) <<< BUILD완료
------------------------------------------------------------
Meta Data Manager read from Flash
Meta Data Manager version=1.0.0
Generic Meta Data found:
NODE_NAME Size=8 [bytes]
4.B-L475E-IOT01A1 보드에 연결된 BLE 모듈인 BlueNRG의 Device Name을 Code에서 최대 7개의 글자 내에서 설정합니다. 설정 후 STBLESensor App에서 본인이 설정한 Device Name이 보이도록 아래와 같이 보드와 호스트 디바이스가 보이도록 촬영후에 제출
static void Init_BlueNRG_Stack(void)
{
char BoardName[8] = {'E','L','L','I','O','T','7'};
uint16_t service_handle, dev_name_char_handle, appearance_char_handle;
int ret;
for(int i=0; i<7; i++) {
NodeName[i+1] = BoardName[i];
}
//BoardName[7]= 0;
#ifdef MAC_SENSING1
{
uint8_t tmp_bdaddr[6]= {MAC_SENSING1};
int32_t i;
for(i=0;i<6;i++) {
bdaddr[i] = tmp_bdaddr[i];
}
}
#endif /* MAC_SENSING1 */
5. 스마트폰의 Mobile App Store에서 STBLESensor Application을 다운로드 받습니다. STBLESensor App에서 Activity Recognition을 클릭합니다. 아래와 같이 B-L475-IOT01A1 보드를 손으로 흔들어 보면서 Activity Recognition의 결과가 달라지는 과정을 담은 동영상을 촬영하여 제출합니다. ( 보드를 흔들면서 Activity Recognition 결과가 달라지는 과정이 포함된 10초 이내의 동영상으로 촬영)
- 첨부파일
- STM32quest.mp4 다운로드
로그인 후
참가 상태를 확인할 수 있습니다.