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 OnResizeListener或OnDrawListener或类似的东西   java Orika映射嵌套子列表   保存时java Heroku请求超时代码H12   数据库在Java中出现socket读取超时异常的原因是什么?   java如何更改来自Sqlite数据库的特定数据在Listview中的行颜色   java JAXB解组器无法正确处理XML中的列表   java Android日期时区让我抓狂   java不透明属性在Swing中如何工作?   eclipse从JavaEE代码生成流程图   java如何在Hibernate中从相关表中获取计数   java Glassfish部署了项目的依赖项库   java使内容适合JavaFx中的WebView   java不满意的链接错误libcrypto。所以1.0.0   循环中java数组的使用   java找出哪个包调用服务