Kabylake PCH UART 测试工具 UEFI Shell 版 在 KablyLake/AmberLake的PCH上存在着3个UART,默认情况下使用 UART2(第三个UART,INTEL RVP上使用的就是这个Port作为UEFI Debug Log 输出)。为此,编写一个 UEFI Shell Application 能够让三个 UART 分别发送 “This is PCH UART0/1/2”。在通过串口连接出去的机器上可以收到。这样能够方便的确认硬件连接以及配置是否工作正常。 运行结果: ZUART UEFI Shell 下运行结果 工具下载(无 SourceCode): zuart下载
目前剛好在工作上 第一次使用PCH 上的 UART (Elkhart Lake) 碰巧看到您這篇文章, 故想請教您一些問題 1. PCH UART, 是否都是透過 PCI MMIO Register去發送 Tx/Rx呢? 看了一下 Datasheet 關鍵的Register 如 RBR/DLH/IIR 都放在 MMIO上面 2. 如果是如透過MMIO, Serial IO protocol 是否也會attach 上去呢? 如果沒有, 是否就ˋ需要自行寫tool 去 操作 MMIO 來送收 Tx/Rx 呢? 3. 如果於windows底下, Device Manager是否會長出 COM 呢 ? 還是需要自行撰寫ASL 後,才能進行收送的測試 (目前於沒有長出COM , 所以才有此一問) 回复
1.PCH UART 都是通过 MMIO 来发送 TX RX 的,具体可以查看BIOS代码 2.这个看 IBV 是否提供,一般都会提供的。 3.回复在另外的里面 这部分MMIO操作 Datasheet 写的非常模糊,BWG 又通常不会提,所以需要以实际代码为准。 回复
您好 常閱讀您的文章 目前剛好工作上 也使用到 PCH 的UART 請問您在Windows 底下是如何 發送 UART的呢? 在 windows 裝置管理員 並沒有出現COM port 裝置 故也無法使用putty相關工具去測試 windows 裝置管理員只有UART controller device 回复
Windows 下PCH Uart 通讯的标准做法应该是:在ASL UART Controller 下面通过ASL 声明一个设备,这个设备使用 UART Port,然后写一个设备驱动来进行通讯。 换句话说,这个更多是软件工程师的事情,不是BIOS工程师的活。如果非要写的话,可以通过直接对 PCH Register Program 来实现。这样的做法存在风险,发送数据问题不大,接收的话可能会有问题。 回复
目前剛好在工作上 第一次使用PCH 上的 UART (Elkhart Lake)
碰巧看到您這篇文章,
故想請教您一些問題
1. PCH UART, 是否都是透過 PCI MMIO Register去發送 Tx/Rx呢?
看了一下 Datasheet 關鍵的Register 如 RBR/DLH/IIR 都放在 MMIO上面
2. 如果是如透過MMIO, Serial IO protocol 是否也會attach 上去呢?
如果沒有, 是否就ˋ需要自行寫tool 去 操作 MMIO 來送收 Tx/Rx 呢?
3. 如果於windows底下, Device Manager是否會長出 COM 呢 ? 還是需要自行撰寫ASL 後,才能進行收送的測試
(目前於沒有長出COM , 所以才有此一問)
1.PCH UART 都是通过 MMIO 来发送 TX RX 的,具体可以查看BIOS代码
2.这个看 IBV 是否提供,一般都会提供的。
3.回复在另外的里面
这部分MMIO操作 Datasheet 写的非常模糊,BWG 又通常不会提,所以需要以实际代码为准。
您好 常閱讀您的文章
目前剛好工作上 也使用到 PCH 的UART
請問您在Windows 底下是如何 發送 UART的呢?
在 windows 裝置管理員 並沒有出現COM port 裝置 故也無法使用putty相關工具去測試
windows 裝置管理員只有UART controller device
Windows 下PCH Uart 通讯的标准做法应该是:在ASL UART Controller 下面通过ASL 声明一个设备,这个设备使用 UART Port,然后写一个设备驱动来进行通讯。
换句话说,这个更多是软件工程师的事情,不是BIOS工程师的活。如果非要写的话,可以通过直接对 PCH Register Program 来实现。这样的做法存在风险,发送数据问题不大,接收的话可能会有问题。