KiCad-V9.0.7 制作收音机三极管(BJT)

前置条件

  • macOS Tahoe (26.3) 
  • MacBook Pro 2023-Apple M2 Pro (4能效核、8性能核、32GB内存、2TB磁盘)
  • OpenSCAD 2026.02.18 (或更高版本)
  • FreeCAD 1.1.0rc2 (或更高版本)
  • KiCad 9.0.7 (或更高版本)

由于 KiCad 缺少国产零件的封装,所以部分封装库我们需要自己创建。

继续阅读KiCad-V9.0.7 制作收音机三极管(BJT)

KiCAD的Courtyard层如何使用?

使用Allegro的小伙伴应该很清楚Courtyard层的用法,但使用Altium Designer的小伙伴可能对Courtyard层完全没有概念。Courtyard层到底是什么?在KiCad中如何使用?”。

或者执行“封装检查”报错“没有定义外框”英文 “Footprint has no courtyard defined”,那这个报错的含义是什么?

Courtyard是指装配或其他功能所需的物理元件周围的区域。该区域内不应放置其他元件。如果元件之间的距离太近,组装可能会很困难或是不可能。

在讨论装配时,需要的区域取决于装配方式(自动或手动)以及其他可能的细节。没有一个绝对正确的区域、形状或Courtyard的尺寸可以保证无问题的装配,同时又是最优的(小)尺寸,可以密集的放置。需要在“方便装配”与“装配区域尽可能小”之间取得妥协。

作为一个粗略的指导,KiCad可以检查组件是否太靠近,即检查Courtyard的碰撞情况,也就是检查重叠的Courtyard区域。Courtyard区域必须是一个封闭的形状。该形状以图形方式绘制在F.Courtyard或B.Courtyard层上。要求与Edge.Cuts 板框层完全相同:每条线必须在下一条开始的地方结束,它们不能交叉,最后一条必须在第一条开始的地方结束。除了这个封闭的形状之外,该层的封装中不能有其他东西。

Courtyard通常用一个长方形表示。

如果一个绘制Courtyard时不遵守这些规则,或者Courtyard存在其他问题,DRC会报错:

第一个错误表示Courtyard图形不封闭;第二个错误表示Courtyard自相交;第三个错误表示两个元件的Courtyard重叠。

违规的严重度可以在“电路板设置”中更改:

如果你设计或修改你自己的封装,由于没有任何硬性规定可以遵循,你可以画一个“足够好”的Courtyard来满足你的目的。如果你想对此进行优化,则需要知道装配过程的限制以及该元件与周围部件之间的相互作用。例如:想象一个很高的元件和一个很矮的元件并排放在一起:高的可能很容易放置,但高的放置完成后,再装配矮的元件可能会有问题,即使Courtyard本身估计足够大。

需要在元件周围留出足够的制造空间。如果需要更严格的设计,需要根据具体情况决定一些Courtyard是否可以与其他Courtyard重叠。DRC中两个组件之间的违规行为可以被排除或忽略。

请注意,虽然从逻辑上讲,在有理想Courtyard的理想情况下,每个元件只需要其周围由自己的Courtyard形成的空间,但重叠的Courtyard是允许的。DRC会检查这种重叠。然而,尽管可以允许两个元件的Courtyard重叠,但这种重叠应该排除一个元件的焊盘,或者元件轮廓(通常是在Fab层上绘制),与另一个元件的Courtyard重叠的情况。

在现实世界中,现代的自动装配过程可以做到相当密集的元件放置。例如,对于0402元件,铜的间隙限制了放置,而不是KiCad官方封装所建议的Courtyard。

参考链接


Courtyard层如何使用?

如何在macOS开发中给 PKG 签名和公证(productsign+notarytool)

macOS 中,给 PKG 文件进行签名是一个确保用户能够顺利无警告地安装软件的重要步骤。以下是给 PKG 签名的详细步骤:

一、准备阶段

获取开发者账号和证书:
  • 首先,需要在苹果开发者网站(Apple Developer)注册一个有效的开发者账号。
  • 登录开发者账号后,进入 “Certificates, IDs & Profiles” 页面。
  • 创建并下载 “Developer ID Application” 证书和 “Developer ID Installer” 证书。这两个证书分别用于签名应用程序和 PKG 安装包。
  • 将下载的证书双击安装到“钥匙串访问”中。
打包PKG文件:
  • 使用 Packages 工具或其他打包工具,将需要分发的应用程序和相关文件打包成一个 PKG 安装包。
  • 在打包过程中,可以添加安装前和安装后的脚本来执行一些自定义操作。

二、签名阶段

获取证书名称:
  • 打开终端,输入命令 security find-identity -v,列出所有已安装的证书。
  • 找到与 “Developer ID Installer” 相关的证书名称,通常格式为 “Developer ID Installer: 开发者名称 (证书标识符)”。
签名PKG文件:

使用 productsign 命令对 PKG 文件进行签名。命令格式如下:

例如:

这将生成一个新的签名后的 PKG 文件。

三、验证签名

验证PKG文件签名:

使用 pkgutil 命令验证 PKG 文件的签名是否有效。命令格式如下:

如果签名有效,命令将输出 “signed by a developer certificate issued by Apple for distribution”。

四、公证阶段(可选)

macOS 10.14.5 开始,苹果要求所有分发的软件都必须经过公证(Notarization)。公证过程如下:

准备已签名的软件包:

在公证之前,你需要确保你的 .pkg 文件已经使用 codesign 命令进行了签名。

将公证凭证存储到 macOS 的钥匙串中:

上传PKG文件到苹果服务器:

使用 notarytool 提交你的软件包进行公证。这一步会将你的软件包上传到 Apple 的公证服务,并启动公证流程。

  • /path/to/your/signed/package.pkg 是你的已签名软件包的路径。
  • --keychain-profile 参数用于指定包含你签名证书的钥匙串配置文件(可选,如果证书在默认钥匙串中则不需要)。
  • --wait 参数告诉 notarytool 等待公证完成并返回结果。

如果公证成功,notarytool 会返回一个 RequestUUID,你可以使用这个 UUID 来查询公证状态或进行后续操作。

检查公证结果(如果未使用 --wait):

如果你没有使用 --wait 参数,你需要使用返回的 RequestUUID 来检查公证状态。

替换 <RequestUUID> 为你实际获得的 UUID

五、盖章步骤

一旦你的软件包通过了公证,你就可以使用 stapler 工具对其进行盖章。

对软件包进行盖章:

使用 stapler 工具对你的软件包进行盖章,以表明它已经通过了 Apple 的公证服务。

/path/to/your/signed/package.pkg 是你的已签名且已公证的软件包的路径。

验证盖章结果(可选):

你可以使用 stapler 工具来验证你的软件包是否已经被正确盖章。

/path/to/your/stapled/package.pkg 是你的已盖章软件包的路径。

如果所有步骤都成功完成,你的软件包现在应该已经准备好分发给用户了。

用户可以通过 macOS 的“安装未知开发者应用”的安全设置来安装你的软件包,而不会因为未经验证的应用程序而被阻止。

六、命令集合

以下是一个简要的流程,以及一个相应的 .sh 脚本示例:

1.用于签名 .pkg  文件( productsign.sh )。

2.用于签名和公证 .pkg 文件(productsign-online-notarytool.sh)。

请注意,这些步骤假设你已经具备了必要的 Apple Developer 账户、证书和配置文件,并且你的 macOS 系统已经安装了 XcodeXcode Command Line Tools。如果你遇到任何问题,请检查你的证书、配置文件和路径是否正确,以及你是否拥有执行这些命令的适当权限。

参考:

  • https://taoofcoding.tech/blogs/2022-11-13/use-notarytool-to-notary-macos-app
  • https://blog.csdn.net/Crystal_Mr_Rose/article/details/136351429
  • macOS 工具 - 查看PKG文件内容, App下载安装 SuspiciousPackage官方下载地址(免费): http://www.mothersruin.com/software/SuspiciousPackage/get.html
  • Mac OS平台下应用程序PKG安装包制作工具Packages, App下载安装Packages官方下载地址(免费): http://s.sudre.free.fr/Software/Packages/resources.html

参考链接


DMAR: ERROR: DMA PTE for vPFN 0xf1f7f already set (to f1f7f003 not 17039b003)

前置条件

  • HP ProLiant MicroServer Gen8
  • Intel® Xeon® E3-1265L V2 × 8
  • Ubuntu 24.04.4 LTS / Linux Kernel 6.8.0-40-generic

问题详情

系统稳定性差,长时间运行之后出现不稳定现象,尤其是远程桌面 RDP,经常出现无法连接的情况。内存 CPU占用都不高,但是系统反应感觉非常卡顿。

执行 sudo dmesg 函数之后,可以观察到如下报错信息:

问题原因

Linux 内核的 intel_iommu 与 HP ProLiant MicroServer Gen8 的 BIOS 冲突导致的。

解决方案

修改引导的内核参数:

修改如下配置:

配置修改后,使用如下命令生效内核配置:

重启系统

参考链接