我目前在開發Ameba AMB82-Mini的時候,因為需要將Wifi的SSID與Password存在Flash Memory中,我發現一旦存入後,我要啟用鏡頭就會出現失敗的狀況。原本以為是呼叫順序的問題,但是反覆測試的結果,我發現我只要不在Flash Memory寫入任何數據,就會是正常的。請問有辦法解決嗎?
我使用Arduino IDE, AMB82-Mini SDK版本是4.0.9-20250620的版本。
我目前在開發Ameba AMB82-Mini的時候,因為需要將Wifi的SSID與Password存在Flash Memory中,我發現一旦存入後,我要啟用鏡頭就會出現失敗的狀況。原本以為是呼叫順序的問題,但是反覆測試的結果,我發現我只要不在Flash Memory寫入任何數據,就會是正常的。請問有辦法解決嗎?
我使用Arduino IDE, AMB82-Mini SDK版本是4.0.9-20250620的版本。
您好 @louischuang
您可以參考以下:
Flash memory 範例 - Flash Memory — Ameba Arduino AIoT Documentation v1.1 documentation
Flash layout - Flash Layout — AmebaPro2's Documentation v0.1 documentation
這裏有提到 Wifi-ssid data 是放在 0xf00020-0x1000000。啟用鏡頭出現失敗的狀況可能是您存 SSID 和 password 的位置覆蓋掉 ISP IQ 的部分,而這些設定是相機啟動時必要的。想請問您這邊是將 SSID 和 password 寫入 Flash 的哪個位址區段?
我目前是設定在 FLASH_MEMORY_APP_BASE → 0xFD000
#define NOR_FLASH_SIZE 0x1000000//0x100000
#define FLASH_MEMORY_APP_BASE 0xFD0000//0xFD000
@louischuang 這邊的位置一直以來都是寫錯的,你修正成這樣後應該就可以正常使用了。
@pammyleong 如果我這邊沒錯的話,再麻煩你們下一版SDK一併修正~
太感謝了,晚上回家後我再來試試看!
目前這個問題似乎沒有解決:
10:30:09.204 → [video_voe_presetting] fps:30 w:1920 h:1080
10:30:09.204 →
fwin(1),enc_en(0),IQ_OFFSET = 0x17b60
10:30:09.204 →
fwin(1),enc_en(0),SENSOR_OFFSET = 0x2fba0
10:30:09.204 →
sensor id 1 iq_data 17b60 sensor_data 2fba0
10:30:09.204 →
VOE not init
10:30:09.204 → VOE_OUT_CMD type 2 command fail -1
10:30:09.238 →
hal_voe_ready 0x0 0xbf1208
10:30:10.223 →
read fcs_status 0x000000bf
10:30:10.223 →
[video_init] uvcd iq is null, use default.
10:30:10.223 →
[video_init] uvcd SNR is null, use default.
10:30:10.223 →
IQ:FW size (98342)
10:30:10.255 →
sensor:date 2024/9/12 version:RTL8735B_VOE_1.5.7.0
10:30:10.255 →
sensor:FW size (5412)
10:30:10.255 →
sensor timestamp: 2024/09/12
10:30:10.255 →
iq timestamp: 2023/05/15 14:48:54
10:30:10.255 →
voe_heap malloc 0x704ca700, size 11722496
10:30:10.255 →
ISP:1 ENC:1 H265:1 NN:1
10:30:10.255 →
hal_voe_ready 0x0 0xbf1208
10:30:10.255 →
voe :RTL8735B_VOE_1.6.2.0
10:30:10.288 →
sensor:RTL8735B_VOE_1.5.7.0
10:30:10.288 →
hal :RTL8735B_VOE_1.6.2.0
10:30:10.288 →
load time sensor:151us iq:2707us itcm:0us dtcm:0us ddr:0us ddr2:0us
10:30:10.288 →
[video_pre_init_procedure] START
10:30:10.322 →
VOE command wait ACK timeout 0x0 != 0x206
10:30:11.300 →
VOE cmd 0x206 ACK timeout 1000ms.
10:30:11.300 →
VOE_OPEN_CMD command fail
10:30:11.300 → hal_video_open fail
10:30:11.300 → hal_voe_ready 0x0 0x1718
10:30:11.332 →
10:30:11.365 →
[VID Err]Please check sensor id first,the id is 1
當我執行截圖時,會出現以下訊息後,整個開發版就當掉了:
10:32:23.497 → VOE not init
10:32:23.497 → VOE_OUT_CMD type 2 command fail -1
@Howard 想請教一個問題,如果Flash Memory寫入的位置正確的話,每次重新修改Arduino程式重新燒錄後,應該不會影響儲存資料的位置,不知道我的理解對嗎? 目前這也是我困擾的問題之一,因為後續想要實作OTA, 不希望一更新韌體就會遺失掉已經儲存的數據