IceLink40板程序员
iCEburn的Python项目详细描述
Lattice IceLink40编程工具
Lattice IceLink40是一款支持ICE40 LP/HX系列的低成本FPGA板(目前售价50加元)。虽然Linux上的IceCube编程软件支持这些芯片,但它并没有附带一个iceutil.exe端口来对主板本身进行编程。这是一个开源工具,根据gpl2授权,允许从linux编程fpga板。
这个脚本只有作者用IceLink40-LP1K板和M25P10VP闪存测试过。其他用户报告说,它与hx1k风味板协同工作。
这个工具是从运行iceutil的vm和icelink40-lp1k评估板之间的usb数据流的黑盒检查创建的。在创建此工具期间,未使用二进制分析、二进制逆向工程或反汇编;此文件中的所有信息都来自黑盒分析。
Icelink板只支持用于启动FPGA的闪存编程。fpga的直接spi编程似乎是不可能的。
要求:
- python 3或更新版本
- PYUSB 1.0或更新版本
用法
冰壶.py
主要的flash编程工具是iceburn.py。它支持两个操作标志:用于擦除的-e
和用于写入的-w
。最常见的用法是:
./iCEburn.py -ew path\_to\_build.bin
regtool.py
regtool是一个示例测试脚本,用于通过fpga数据链路插入寄存器。参数
-r 0xAB
将读取寄存器0xAB并将结果打印到控制台。参数
-w 0xAB:0xCD
将用值写入寄存器0xAB并将结果打印到控制台。使用现货的fpga固件
./regtool.py -w 5:0x48
将停止滚动模式并固定LED3。
regtool主要用作api使用的示例,而不是生产级工具。
错误
如果使用旧版本的PYUSB,可能会出现错误:
属性错误:“NoType”对象没有属性“LiBubxEXIT”
这是PYUSB中的一个错误。
待办事项
- 添加其他闪存设备