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将一个节点拖到另一个不运行JavaFX的节点中   java如何在spring boot中创建完全自定义的查询   java Arraylist和ArrayListBlockingQueue之间的区别是什么?   java Weblogic会中断长时间运行的线程吗   java如何调用displayAd()方法?   使用数组在两个组之间进行java IPL匹配   java如何在Eclipse中的org下创建测试套件。朱尼特   java获取屏幕上任意点的鼠标坐标   正则表达式需要java正则表达式方面的帮助   如何使用Java获取Ram大小和硬盘大小?   java如何将所需长度设置为数组中的整数?   安卓应用程序启动前的java程序已终止   swing设置要在Java代码中打印的页边距   迭代期间java故障安全迭代器的删除   java如何在main中调用方法,以便它们在同一行上输出?   编译Java:尝试播放mp3文件时出错   java如何使用Spring数据Rest在POST调用中保存嵌入对象   java JAXWS如何在端点外部注入SecurityContext