草庐IT

硬件驱动

全部标签

驱动开发-系统移植

一、Linux系统移植概念    需要移植三部分东西,Uboot  ,内核  ,根文件系统(rootfs) ,这三个构成了一个完整的Linux系统。        把这三部分学明白,系统移植就懂点了。二、Uboot1、啥是Ubootuboot就是引导程序下载的一段代码,有三种我们可以去使用的,可以去开发的。1.官网uboot,比较原始2.半导体厂商的uboot,半导体厂商比如NXP,自家开发板对应修改裁剪的,可靠性比较好3.还有自己厂家自己做的Uboot,比如说正点原子自家加的开发板,做的Uboot现在用的正点原子开开发板,还没有自己修改Uboot的啥水平,先用的他们的Uboot跑跑,主要做法

【硬件开源电路】STM32G070RBT6开发板

【硬件开源电路】STM32G070RBT6开发板✨制作过程中经历了一些意想不到的坎,在绘制好PCB电路,提交到制作加工厂,工厂解析的Gerber文件中,主控IC焊盘变细,没法正常制作,通过Gerbv_2.6.0查看印刷电路板图也是,是软件导出的问题,在最新的6.5.19版本中已经修复了此bug问题。🎉本次焊接了2块,测试都没问题。📑STM32G070RBT6开发板制作考量🔖就目前IC市场价格有降价的趋势,但是此水平还是未达到以前的价格水平。在STM32G系列当中,型号STM32G070RBT6芯片当属当前性价比高的IC,所以选择此IC作为主控来制作一款性价比高的开发板。制作成本不过超10RMB

嵌入式硬件工程师与嵌入式软件工程师

嵌入式硬件工程师与嵌入式软件工程师纯硬件设备与嵌入式设备纯硬件设备是指内部不包含微处理器,无需烧写软件就能够运行的电子设备。如天线、老式收音机、老式电视机、老式洗衣机等。这类设备通常功能简单,易于操作,用户通常只需要打开电源开关并调节电位器、可变电容就能够使设备进行工作。嵌入式设备是指内部包含微处理器,需要烧写软件才能够运行的电子设备。由于具备微处理器和程序代码,因此嵌入式设备能够完成比较复杂的功能。用户通常需要按照屏幕上的菜单进行选择,才能够使设备工作于希望的模式。用户甚至可以对设备进行编程,使设备按照特定的时序进行工作。嵌入式硬件工程师与嵌入式软件工程师嵌入式硬件工程师的职责包括:根据应用

c++ - 如何使用 boost::asio::serial_port 支持硬件流控制?

我正在使用Boost的asio::serial_port库与虚拟串行端口(FTDI芯片)通信。我想使用硬件流控制(即RTS/CTS),但我似乎找不到太多关于如何将它与Boost一起使用的文档。我得到的代码是:serialPort.set_option(boost::asio::serial_port::flow_control(boost::asio::serial_port::flow_control::hardware));有了这一行,程序将不会运行。它说:libc++abi.dylib:terminatecalledthrowinganexceptionAborttrap:6如果

c++ - 如何使用跨平台方法确定驱动器类型

我正在编写一个应该在某些事件上创建文件的跨平台应用程序,现在我遇到了一个问题,如果我的目标是在可移动磁盘或网络驱动器上,我想首先在本地硬盘上的临时文件夹中创建文件驱动器,然后将其移动到目标,以避免在删除目标路径的情况下丢失数据。现在我的问题是我应该如何在跨平台方法中指示路径类型? 最佳答案 我认为这很难以可靠且便携的方式实现。我确信所有平台都有一些方法来确定驱动器是否是本地驱动器,但我认为更简单可靠的解决方案是创建一个本地临时文件,无论基本文件系统是什么。 关于c++-如何使用跨平台方法

c++ - 如何在 Qt 中获取硬件 ID

我无法在所有操作系统中获取CPUID或主板序列号(跨平台Qt)在Windows上我使用WMI在Mac上另一个。我想使用跨平台库。 最佳答案 AlthoughQtdetectsatruntimetheCPUfeatureset(cf.src/corelib/tools/qsimd.cpp),itdoesnotexportanyfunctiontoaccessthat(noranyotherCPUIDinformation).Writeyoursmallpieceofassemblycodetogatherthatinformation

c++ - QMYSQL 驱动程序未在发行版中加载,正在调试中工作

我目前正在开发Qt5应用程序,该应用程序涉及将mysql数据库与QMYSQL一起使用。它在调试session期间就像一个魅力,但是当我在发布时编译它时,我得到错误:Drivernotloaded.Drivernotloaded.(是的,它实际上出现了两次)。我已经试过包括所有DLL,像这样:但这根本不起作用,我尝试调整qmake选项,但没有任何效果。有没有我不知道的把戏?注意:我使用的MySQL驱动是我自己编译的。 最佳答案 首先,您可能不应该在您的发行版中包含任何以“d”结尾的库。“d”表示调试,当您在调试中编译时,Qt会使用它们

c++ - 如何正确使用硬件加速的 Media Foundation Source Reader 来解码视频?

我正在使用MediaFoundation的SourceReader编写硬件加速的h264解码器,但遇到了一个问题。我关注了thistutorial并使用WindowsSDKMediaFoundation示例支持我自己。当硬件加速关闭时,我的应用似乎可以正常运行,但它无法提供我需要的性能。当我通过将IMFDXGIDeviceManager传递给用于创建读取器的IMFAttributes来打开加速时,事情变得复杂了。如果我使用D3D_DRIVER_TYPE_NULL驱动程序创建ID3D11Device,应用程序运行良好并且帧处理速度比在软件模式下更快,但由CPU和GPU判断使用它仍然在CP

c++ - 常量正确性和硬件写入

假设我有以下成员函数:voidCFoo::regWrite(intaddr,intdata){reg_write(addr,data);//drivercalltoe.g.writeafirmwareregister}显然,调用此函数不会修改调用它的对象的内部状态。但是,它会更改此Foo实例代表的任何状态。在这些情况下,Foo::regWrite(intaddr,intdata)应该是一个常量函数吗? 最佳答案 你必须决定CFoo类的“逻辑常量”的含义是什么,这取决于类的用途。如果CFoo被解释为引用某些数据,那么能够通过const

FPGA硬件组成最小运行系统和局部外围电路设定,端口引脚讲解

    FPGA现场可编程逻辑阵列,使用它不仅要有强大的硬件语言编辑能力,更要熟练的使用Verilog、HDL、VHDL语言,还要对硬件电路电子电路有着详细的了解,要对FPGA最小运行系统电路I/O端口有着了解应用。本文目的和配套资源:    详细讲解FPGA最小运行系统每个引脚的应用和定义,并按照重要等级排序(本文是按照赛灵思XC7Z020CLG400-2FPGA介绍展开的)配套资源说明:解压后打开文件看到三个文件他们的作用分别是:No.01:该文章主要围绕着这个原理图进行讲解。No.02:赛灵思官网(AMD)下载的部分配套资料。No.03:XC7Z020其他原理图,仅供参考。UG585技术