“Glasgow 是一款用于探索數字接口的工具,面向嵌入式開發人員、逆向工程師、數字檔案管理員、電子愛好者,以及所有希望以高可靠性和最少麻煩與多種數字設備進行通信的人。”
概覽
Glasgow 是一款用于探索數字接口的工具,面向嵌入式開發人員、逆向工程師、數字存檔人員、電子愛好者,以及所有希望以高可靠性和最少麻煩與多種數字設備進行通信的人。它可以連接到大多數設備,無需額外的有源或無源元件,并具有廣泛的保護功能,可防止意外情況和操作錯誤。
Glasgow 硬件采用可重構邏輯,因此可以支持多種數字接口。它不是只提供一小部分標準硬件支持的接口,而是使用 FPGA 在不影響性能或可靠性的情況下,即時適應手頭的任務,甚至是不尋常、定制或過時的接口。
Glasgow 軟件是一套構件,旨在消除附帶的復雜性。每個界面都打包成一個獨立的小程序,可直接從命令行使用,或作為更復雜系統的一部分重復使用。使用 Glasgow 不需要任何編程知識,但如果你會一點 Python,它就會變得更加強大。
功能
通過 UART 進行通信
自動確定并跟蹤被測設備的波特率
SPI 或 I2C
讀寫 24 系列 EEPROM
讀寫 25 系列閃存
通過 SFDP 確定存儲器參數
讀寫兼容 ONFI 的閃存、
通過 ONFI 參數頁面確定存儲器參數
使用 SPI 接口對 AVR 微控制器進行編程和驗證
自動確定未知的 JTAG 引腳布局
回放 JTAG SVF 文件
通過 JTAG 調試 ARC 處理器
通過 EJTAG 調試某些 MIPS 處理器
通過 JTAG 對 XC9500XL CPLD 進行編程和驗證
使用 Yamaha OPL 芯片合成聲音,并在網頁上實時播放
從 5.25"/3.5" 軟驅讀取原始調制數據、
License
BSDLicense&Apache 2.0
原理圖 & PCB
Glasgow的軟件
Glasgow 完全用 Python 3 編寫。在 FPGA 上運行的接口邏輯使用 Migen 進行描述,Migen 是一種基于 Python 的領域特定語言。在主機 PC 上運行的支持代碼是使用 asyncio 用 Python 編寫的。這樣,FPGA 上的邏輯就可以根據任何請求的配置按需組裝,從而盡可能保持快速和緊湊。 如果沒有開源 iCE40 FPGA 工具鏈,格拉斯哥就不可能實現,該工具鏈不僅非常可靠,而且速度極快。它的速度如此之快,以至于 FPGA 比特流不需要被緩存(除了不重建設備上已有的比特流之外),因為從頭開始構建一個 UART 之類的比特流只需要幾秒鐘。當開發一個新的小程序時,很少需要等待工具鏈。 實現可靠、高性能的 USB 通信并非易事——打包、緩沖和 奇怪的 USB 問題都會增加成本。Glasgow 抽象化了 USB:在 FPGA 上,小程序網關軟件向 FIFO 寫入或讀取數據,而在主機上,小程序軟件向類似套接字的接口寫入或讀取數據。慣用的 Python 代碼可以在現代 PC 上以最大 USB 2 大容量帶寬進行通信,而無需額外的工作。此外,當未來的 Glasgow 版本除了 USB 之外還將使用以太網時,無需更改小程序代碼。
調試新的小程序可能很困難,特別是在涉及雙向總線的情況下。Glasgow 提供內置的周期精確邏輯分析儀,可以將 I/O 引腳電平和方向變化與小程序接收和發送的命令和響應相關聯。邏輯分析儀會壓縮波形,并在緩沖區即將溢出時暫停小程序。
倉庫 & 下載
可以在Github中獲取開源倉庫: https://github.com/GlasgowEmbedded/glasgow
-
數字接口
+關注
關注
1文章
85瀏覽量
21972 -
調試工具
+關注
關注
1文章
49瀏覽量
12633 -
KiCAD
+關注
關注
4文章
149瀏覽量
8747
發布評論請先 登錄
相關推薦
評論