- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
来自 MCU 世界,我创建了引导加载程序,以便客户可以更新固件。
这是如何使用 FPGA 和 CPLD 完成的。
对于 FPGA:
由于固件存储在外部闪存中,FPGA 镜像是否只是写入它的外部闪存然后重新启动?但是,如果新文件已损坏或更新时连接被删除,会发生什么情况?有没有办法进行默认备份?在 MCU 中,引导加载程序永远不会被覆盖,因此应用程序可能随时出现困惑,而引导加载程序仍然可以工作。
是否有一个单独的专用非 volatile 内存部分,在通电时不会重新配置,您可以在其中加载引导加载程序?
对于 CPLD:
由于图像存储在内部,他们是否有办法自行配置?如何为 CPLD 制作引导加载程序?
其他想法:
也许您可以将某种带有 GPIO 的 FTDI 芯片放入您可以通过 USB 从 PC 应用程序控制的芯片。这样你就可以通过 bitbang 一个 SPI 来加载外部闪存上的新图像?有人这样做吗?这样,FPGA 图像可能损坏或丢失,但仍然能够加载新图像。
请注意,我假设 FPGA 或 CPLD 单独位于板上。这意味着板上没有 MCU 可以执行所有这些操作。
任何有关行业如何完成此任务的见解都将非常有用。
最佳答案
FPGA
这个问题没有单一的共同答案。对于不同的 FPGA 和不同类型的应用,它是不同的。
一些 FPGA 能够在外部闪存中拥有两个比特流,因此如果一个比特流损坏,它将回退到第二个比特流。您必须查看具体 FPGA 的数据表,了解它是否具有这种恢复功能,以及它的工作原理。
另一种常见的方法是在 FPGA 旁边放置一个 MCU,让 MCU 管理 FPGA 的比特流更新。让 MCU 负责确保外部闪存中存在有效的比特流。或者,您可以完全跳过外部闪存,让 MCU 在每次启动时将比特流发送到 FPGA。
一些 FPGA,例如 Xilinx ZYNQ,具有内置的硬核处理器。该处理器可以独立于 FPGA 启动,因此您可以为该处理器编写一个普通的引导加载程序,并让处理器负责更新 FPGA 比特流。
如果您的应用程序是 USB 外设,那么处理它的一种好方法是跳过闪存,让 PC 上的 USB 驱动程序在每次启动时将比特流加载到 FPGA。不推荐通过 FTDIchip GPIO 对其进行 Bitbanging,因为这会花费很长时间。 FTDIchip 和其他制造商对 SPI 和 JTAG 都有硬件支持。有了这些,您就可以在每次启动时快速完成,而不会出现 bitbanging。
CPLD
通常没有内置的恢复机制。 (可能会有异常(exception))
CPLD 是非常基本的设备。如果您需要比特流更新功能,那么它通常必须由外部 MCU 完成。通常您不会为 CPLD 实现比特流更新功能。相反,您可以让您的设计从一开始就没有错误。
关于FPGA 和 CPLD Bootstrap ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50081867/
有人可以告诉我 Bootstrap、Twitter Bootstrap 和 Bootstrap 3 之间有什么区别吗? 最佳答案 在 CSS 框架的上下文中,Bootstrap 和 Twitter B
什么是 Bootstrap 文档中的屏幕阅读器??? >>> bootstrap document 不知道什么是屏幕阅读器? 最佳答案 它是视力不佳或由于某种原因无法从屏幕上阅读的人使用的工具;它会向
我想更新网站上的 Bootstrap,但我不知道安装的版本。 如何仅使用 bootstrap.css 和 bootstrap.min.js 文件来识别 bootstrap 版本? CSS 文件中没有版
很抱歉问了这么一个愚蠢的问题,但我真的不清楚这些。 Bootstrap 是一个非常棒的库,它节省了开发人员的大量工作。 因为它提供了很多功能,比如 节省大量时间。 响应式功能。 一致的设计。 便于使用
我正在使用 ng2-bootstrap对于 Angular 2 项目。 这个包同时支持Bootstrap 3和4,我安装后默认使用Bootstrap 3。我没有找到任何关于切换的信息。 如何从 Boo
我计划在我的项目中使用 Bootstrap 4 和 angular 4,但我对 npm install --save @ng-bootstrap/ng-bootstrap 和 npm install
单击删除按钮后,我设置了警报。 但它的默认高度更大,我想让它更小(高度)。 我试过 display-4 属性(property),但它没有工作。 我已通过 w-50 将宽度设置为屏幕的一半,但警报的一
我使用 Bootstrap 按钮下拉菜单来显示表单。我通过调用 stopPropagation 禁用了单击时消失的下拉菜单(当用户操作表单时) .表单的元素之一是下拉列表。如果我使用 native h
twitter-bootstrap 中的“bootstrap”一词是什么意思?在许多 gem 中都有“bootstrap”这个词。我搜索了其中的含义,但无法得出结论。那么有人可以在这种情况下给出“Bo
由于 Bootstrap 5 不再使用 jQuery 并且正在使用 vanilla JS,我想知道是否仍然建议使用 Bootstrap-Vue,不管 Bootstrap-Vue 还不支持 Bootst
我正在使用 codeigniter 框架,我正在使用 bootstrap typeahead,一切都很好,但我的问题是当我将它放在 bootstrap 模式中时,bootstrap typeahead
我刚刚完成安装 bootstrap 5 版本 ^5.0.0-alpha1并在 app.js 中导入 Bootstrap import "bootstrap" 其他.js var myModal = n
我一直在尝试在使用选项卡的页面上实现 ScrollSpy。 这是我的 body 标签: 这是我的标签 HTML: Home Profile
如果您选择使用 Bootstrap-Xtra,您是否应该也包括原始的 bootstrap.css,或者 bootstrap-xtra.css 应该是一个完整的替代品。 例如,bootstrap-xtr
我正在使用 bootbox 创建一个对话框。 bootbox.dialog({ message: 'Datepicker input: ', title: "Custom label"
我正在将使用 Bootstrap 构建的 Web 应用程序迁移到 React 和 react-bootstrap,两者都很棒。我在 react-bootstrap 中没有看到的一件事是如何顺利集成 B
我正在使用 Bootstrap 3 RC,默认按钮是带有黑色文本的深灰色,而不是带有黑色文本的浅灰色。我已经尝试过 CDN 链接和离线。我还清空了我的浏览器缓存以防万一。有没有其他人经历过这个?这可能
在我的一个项目中,我曾经有 bootstrap-tagsinput http://timschlechter.github.io/bootstrap-tagsinput沿着 bootstrap-2.3
下拉菜单在 Angular-UI-Bootstrap 中不起作用?使用 Bootstrap-3 CSS 以下是代码。链接Click me for a dropdown出现。但不会在点击时切换。怎么了?
如何在 Bootstrap Table 中添加 Bootstrap 按钮 最佳答案 我已经想出了解决办法。我想和大家分享。 这是我的 table : # Visit
我是一名优秀的程序员,十分优秀!