Hi,
We designed camera sensor board with GC4653 and SoC board with RTL8735BDM module. We modified the FreeRTOS SDK configuration to test mmf2 video example with below changes.
In sensor.h file inside the project folder
#define USE_SENSOR SENSOR_GC4653
We compiled the code with cmake option DVIDEO_EXAMPLE=on to enable mmf2 video examples and got flash_ntz.bin successfully. We flashed the the bin file to the board and the output is not as expected. We see camera sensor initialization failure in log messages. Below is the log.
== Rtl8735b IoT Platform ==
[Normal mode]
BootFromNORFlash
[Start Boot ROM…]
=== Load PARTBL ===
=== Load Done ===
=== Load ISP_IQ ===
[fcs chk pass]
ISP_IQ @ 0x8461080, 0x26f80, 0x1
mfcs_data version 0x00010001
fcs_data version 0x00015300
=== Process ISP_IQ ===
=== Load Done ===
=== Load BL ===
[Image Start Table @ 0x18200]
=== Load Done ===== Boot Loader ==
May 29 2025:17:09:27
=== Load FCS Para ===
=== Load Done ===
[crc pass]
=== Load ISP_IQ Sensor ===
ISP_IQ @ 0x8461080, 0x26f80
=== Process ISP_IQ ===
=== Load Done ===
=== Load FW1 ===
FW_ISP_IQ @ 0x8061080, 0x28f80
=== Process FW_ISP_IQ ===
DRAM_TYPE is DDR2 128MB.
ddr_freq = 533
VOE flash @ 0x808a080, 0x81f80
FCS KM_status 0x00002081 err 0x00001105
Wait KM fcs done 0 us
FCS TM_status 0x003f0000
dark mode 0 adc final value 0 sample 1 mode 0
fcs final3RAM TM_STATUS 0x00bf1208 err 0x00001208
read fcs_status 0x000000bf
read fcs_staf[Image Start Table @ 0x20106200]
RAM Load @ 0x810c100->0x20106200, 0x6ae0
DDR Load @ 0x8113080->0x70100000, 0x1fa9fe
=== FW Load Done ===Boot Loader <==
== RAM Start ==
Build @ 12:46:27, Nov 21 2025$8735b>
=== AmebaPro2 Video Example ===
interface 0 is initialized
interface 1 is initialized
interface 2 is initialized
cfg_size_lib = 120, cfg_size_user = 120Initializing WIFI …[Driver]: [HALMAC]
11692M HALMAC_MAJOR_VER = 1
HALMAC_PROTOTYPE_VER = 4
HALMAC_MINOR_VER = 20
HALMAC_PATCH_VER =
[Driver]: The driver include MP
[Driver]: Ver = libwlan:2025.08.05.16.57_b9.6_137839330df2163e673789661f48d15e13
RFE type = 0
start_addr=(0x4000), end_addr=(0x8000), buffer_size=(0x4000), smp_number_max=(2)WIFI initialized
-----------read wifi fast connect profile from flash-----------
[Driver]: PSCAN_FAST_SURVEY channel: 149[Driver]: set ssid [JioFiber-rdGAu_5G]
--------example wifi common init called-------
[Driver]: rtw_joinbss_cmd MGMT_FRAME_PROTECTION_OPTIONAL no pmf.
[Driver]: OnBeacon rtw_get_sec_ie (ielen: 307, rsn_len: 0, wpa_len: 0), channel9[Driver]: start auth to b4:a7:c6:58:3a:1f
[Driver]: auth success, start assoc
[Driver]: listen_interval: 10, bcn_interval: 100[Driver]: association success(res=8)
[Driver]: set pairwise key to hw: alg:4(WEP40-1 WEP104-5 TKIP-2 AES-4)
[Driver]: set group key to hw: alg:4(WEP40-1 WEP104-5 TKIP-2 AES-4) keyid:2
(0) Scan: 1, Auth: 1, Assoc: 1, 4way: 1, connect: 1, reason: 0Interface 0 IP address : 192.168.29.64
-----------write wifi fast connect profile to flash-----------
[LwIP_DHCP] dhcp offered_t0_lease: 86400
init_thread(60), Available heap 0x6918800---------rmmf2_video_example_v1_init------
[video_voe_presetting] fps:24 w:2560 h:1440voe heap size = 32396544
fwin(1),enc_en(0),IQ_OFFSET = 0x17b60
fwin(1),enc_en(0),SENSOR_OFFSET = 0x27ac0
sensor id 1 iq_data 17b60 sensor_data 27ac0RTSP[0] port: 554
hal_voe_ready 0x0 0xbf1208
connect successful sta moderead fcs_status 0x000000bf
[video_init] uvcd iq is null, use default.
[video_init] uvcd SNR is null, use default.
IQ:FW size (65376)
sensor:date 2024/9/12 version:RTL8735B_VOE_1.5.7.0
sensor:FW size (3828)
sensor timestamp: 2024/09/12
iq timestamp: 2024/03/21 11:26:35
voe_heap malloc 0x706f7660, size 32396544
ISP:1 ENC:1 H265:1 NN:1
hal_voe_ready 0x0 0xbf1208
voe :RTL8735B_VOE_1.6.4.0
sensor:RTL8735B_VOE_1.5.7.0
hal :RTL8735B_VOE_1.6.4.0
load time sensor:115us iq:1893us itcm:0us dtcm:0us ddr:0us ddr2:0us
Set H264 default HIGH profile
rc_version RC_v1
[video_pre_init_procedure] START
hal_voe_send2voe too long 150588 cmd 0x00000206 p1 0x00000000 p2 0x00000000
VOE command 0x206 fail ret 0xff
VOE_OPEN_CMD command fail 98400400
hal_video_open fail ret=98400400, group=3
hal_voe_ready 0x0 0x1718[VID Err]Please check sensor id first,the id is 1
[Driver]: TSFValue = 63519641697, tsf = 0, shift_set= 0x8000, bcn int = 100
The GC4653 sensor has I2C_ID_SEL pin which decides I2C Address. Below are the possible addresses as mentioned in GC4653 usermanual.

On our sensor board, we made it as LOW(0), so the I2C address will be 0x52.
In Ameba FreeRTOS SDK, how to provide camera sensor I2C address? And current GC4653 driver uses which address by default?
Please provide suggestions to fix the issue.
Thanks,
Yugandhar



