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中的一个错误。

待办事项

  • 添加其他闪存设备

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何正确执行密码while循环   java如何将十进制数格式化为2或3位数?   Libgdx中的java Facebook共享   java在Spring引导属性中为嵌套类设置日志记录级别   java使用无序列表计算团队统计数据   java在生成时没有任何理由更喜欢getClass()而不是instanceof。等于()?   java Hibernate实体过滤器与Spring数据存储库   spring如何在取消部署mule应用程序时停止java类   java找不到参数的方法实现()   java Ascii未在commons lang3中转换   括号Java组输入的有效括号匹配方法   java将按钮分配给JXTreeTable中的行   访问作为参数传递的数组元素   java如何在REGEX'或'(|)条件下在其他单词中精确匹配一个单词   java在应用程序级别实现WSSecurity