Ameba RTL8722DM Mini

請問此開發板可以使用 Standard SDK嗎?
還是只能使用Arduino進行開發

@EthanZhao

沒問題,可以用的,你可以參考Ameba官網的Standard SDK的上手指南來開始
https://www.amebaiot.com/zh/ameba-sdk-getting-started-8722/

雖然板子外形不一樣,但是IC都是同一顆

嗨,目前我在 ubuntu 18.04下 build 此 Standard SDK,在build project_lp、project_hp的時候會跳出error 127,請問我該如何修正我的 makfile 才能使用 32bit 來 build 此SDK? 謝謝。

不妨把error log貼出來看一下。

目前知道的是,用cygwin 32bit版本build是沒有問題的

嗨,嘗試過 cygwin 32bit版本是OK的,但在 ubuntu 18.04 64bit的版本下最後會跳出此錯誤訊息

從log的倒數第三行看,你需要使用
sudo make all
因爲目前權限不夠,不能直接運行shell脚本文檔

嗨,使用 sudo 後還是一樣會跳出 error 127

Hi @EthanZhao
兩件事,

  1. 雖然報錯127,但是錯誤的原因是一樣的,請看倒數第七行,在運行prepend_header.sh 的時候,permission denied(沒有權限)
  2. 圖片中的第二行——“ Image manipulating start" 這説明源文件已經編譯成功了,只是在做一些見到那的固件的處理

我這邊的建議如下:
請找到這個一直報錯的prepend_header.sh 文檔,在文檔資料下運行bash窗口,用

chmod 777 prepend_header.sh

來給這個文檔改變權限,之後再運行一遍make all

在更改過幾個 sctipt 的執行權限後已可以成功的 build 出,謝謝!

1 Like

嗨,目前在測試 arduino 的 i2c 範例(MasterWriter) 時遇到些問題,我把範例中的slave address 改成 0x48(如下圖),燒錄完後,使用邏輯分析儀接上SDA、SCL腳位時發現此訊號不太像是I2C的樣子。
以下有幾點想請問:

  1. 請問此板的I2C是否有內部上拉電阻?因為在邏輯分析儀上看到Data、Clock的腳位是有自動上拉的
  2. 使用的範例是 AmebaWire->MasterWrite,為什麼 i2c protocol輸出的信號看起來會這麼奇怪?



想問一下,用邏輯分析儀來抓waveform是因爲ameba自帶的example不能跑通嗎?
I2C的MasterWrite的example guide在這裏,
https://www.amebaiot.com/en/amebad-arduino-i2c-1/

從example guide來看,是不需要加pull up resistor也可以跑通的。

AMB23的電路設計都是開源的,可以從這裏查看細節,
https://www.amebaiot.com/?s2member_file_download=RTL-AMEBD-MINI-Schematic.zip

是的,我在參考範例(I2C – Send Data to Arduino UNO – Realtek IoT/Wi-Fi MCU Solutions)後並把code燒進板子,接著在我的stm32開發板做一個是 slave 的i2c接收,但stm32一直收不到資料,才想說接邏輯分析儀來看看waveform。

可以加上一組pullup resistor試一試,同時也想問一下,STM32那邊的I2C的速度是多少? AMB23這邊應該是默認100Khz

有嘗試加上 5.1K的上拉電阻過,但waveform準位反而會一直被拉在high,無法正常輸出。STM32的 I2C 也是設定在 100khz

我們這邊測試了AMB23到Arduino UNO的I2C例程,通訊正常,而且waveform抓下來也是一切正常,見下圖

使用的是PA_31 and PB_0, I2C addr已經設置爲0x48, 沒有加resistor

1 Like

嗨,我發現到是板子上的SWDIO(pin SWD)沒有上件,因此我在插I2C_SCL時插錯pin,謝謝!

1 Like

嗨,目前我在使用 SPI 時遇到些問題想請問,目前我在 Arduino 的官網看到有關spi.transfer的敘述(如圖)


因為我要接的 Thermal ,SPI 必須同時收發,因此需要用到如上圖紅底線處的功能,在我的邏輯分析儀上可以看到 Ameba(Master端 MOSI)有正常丟出 command,而 Thermal (Slaver 端 MISO)也有正常的回 data

照Arduino SPI 的描述(圖一紅底線),此時我的 data buffer裡應該要被替換成我從Thermal收到的data,而不是Ameba 發送給 Thermal 的 command,但我在檢查buffer後卻發現buffer裡的值沒被替換掉,依然是我要發送的command,請問該如何此問題呢? 謝謝!

1 Like

Arduino SPI buffer transfer 确实出了问题,可以参考 Update SPI.cpp (#79) · ambiot/ambd_arduino@20be6e3 · GitHub 修改 SPI.cpp 解决问题。我自己测试了一下能看到收到的数据。

2 Likes

好的,謝謝!
另外我今天再重新 clone git 上的 SDK,在 Ubuntu 20.04 的環境下下make all ,會跳出有關 Command not found 的訊息,但在Windows 端上卻不會。

這是toolchain沒有解壓成功導致的,make找不到toolchain所以就報錯

建議使用uname查看一下你的os,理論上應該是linux,makefile會自動識別,然後解壓toolchain出來