初識泰凌微 TLSR8232 BLE SoC
簡單介紹
我第一次認識 TLSR8232 是因爲我一直在尋找一個輕量的 BLE 方案, 偶然間拆解了 小米溫度計
之後看到。
然後就被驚艷到了, 它看起來非常適合我的需求。
它不僅封裝小(QFN24), 外圍電路還極端地簡單:
只需要 5個電容 和 1個電阻 外加 1個晶振 就能開始工作。
而且它竟然支援到 BLE 5.0 (媽耶)
特性
這個方案目前分爲兩個型號, 分別是
SoC | SRAM | Flash | Protocol |
---|---|---|---|
TLSR8232F512ET32 | 16KB | 512KB | Bluetooth LE 5.0 (non-Audio) |
TLSR8232F512ET24 | 16KB | 512KB | Bluetooth LE 5.0 (non-Audio) |
但我手上的是 TLSR8232F128ET24
是 128KB 的 Flash, 看起來官網還沒有寫。
它們除了封裝和 Flash 大小有區別外, 都是使用的同一個 5316 IP核, 所以功能方面是一樣的。 應該連 Bug 都一樣
值得注意的是, 它們是用的 RISC-V
指令集的處理器。
一些小缺點
唯一一個較大的遺憾是, 它需要額外的下載器(Telink)對它編程,
協議還不是常用的 SWD / JTAG, 而是他們自己搞的 SWS / SWM (Single Wire Slave / Master)方案。
不過這裡有一個用串口模擬 SWS / SWM 的方案, 不想買 Telink 的朋友可以試一試。其實我覺得用 FTDI 應該更好
pvvx/TlsrComSwireWriter
Ai-Thinker-Open/TBXX_Flash_Tool
據説開發起來有一些坑, 以後遇到了再補。
据某個大佬説, Telink 使用的編譯器還有 Bug (操作的 RAM 地址沒有對齊 2 / 4 字節會寫入出錯)
安裝 Telink IDE
裝完打開IDE, 開幕雷擊:
這個 智障一樣的 魔改 Eclipse 竟然只會固定尋找 C 盤下的 JVM, 而不是從安裝目錄。
所以强制安裝 C 盤從來都是壞文明, 我是非常反感强制安裝 C 盤的做法。 (我就不裝 C 盤你來打我啊)
所以這裡就要用到一個小 Trick 來橄欖它 (記得使用UAC)
1 | # 轉到 C 盤根目錄 |
這裡是大佬給的另外一種解決方法。
打開 D:\TelinkSDK\eclipse.ini
修改掉 jvm.dll
的路徑
然後它就調教好了? 才怪。
只能搖頭感嘆都 2202 年了爲什麽還有人在用這個垃圾玩意。 快從我電腦滾出去! (震聲)這個爛泥扶不上墻的東西, 得想個辦法用 Makefile 直接用 SDK 的 Toolchain 在 Vscode 寫, 不然我會被氣死的。
構建樣例工程
先按照官方的步驟, 下載 SDK 這哪是 SDK, 我看就是工程模板 然後彈出導入向導, 跟隨向導提示將 SDK 導入到工作區。
接著就能在 vendor
下看到樣例工程了。
選中感興趣的樣例工程, 然後點擊工具欄上的 🔨 測試編譯, 不出意外 一堆 Warning 之後 編譯成功並生成 bin 檔案。
部署到評估板
拿出準備好的 Telink, 用測試探針飛到評估板,
像這樣連接就可以了。
打開 BDT 工具, 依次按照以下操作載入固件
- 晶片型號選擇 8232
- 點擊 File -> Open 選擇固件檔案
- 點擊 Reset 重置晶片
- 點擊 Active 激活晶片
- 點擊 Download 載入
載入成功。
然後就能打開手機, 檢索 BLE 廣播信標訊號了。
一些囉嗦
個人感覺 Telink 的 BLE SoC 還算較方便入門了, 相比隔壁 Nordic 的各種爛大街的 NRF51822,
它的工程是分兩個層級 Soft Device
和 User App
, 需要先編程它的 Soft Device 然後再編程自己的 App。
部署非常麻煩, 而且在編程自己的 App 之後, 還不知道 Soft Device 有沒有正常運行,
經常會發生 「調用 Soft Device API 然後就宕機」 的情況。
個人不是很喜歡這種開發結構了。還是做的太爛了
除開開發複雜以外, 而且拆機貨和翻新貨特別多。
而 Telink 是國產方案, 供貨充足, 價格也非常低廉。不過這個上海的公司爲什麽用全英文
初識泰凌微 TLSR8232 BLE SoC