跳到主要內容

發表文章

[轉貼]如何不讓IE瀏覽器自動轉跳Edge?

微軟自從推出Windows 11後,便把IE瀏覽器排除在外,並且在2022年6月15日全面終止對IE瀏覽器的支援,但如果有的政府機關或銀行的網站上沒有支援Chrome、Edge,仍然需要用IE去開啟才能正常顯示網頁的時候,該怎麼辦呢?如果還是想要用IE來瀏覽特定網頁的用戶不用擔心,可以利用Edge所提供的「IE相容模式」來瀏覽,不怕開啟IE瀏覽器後卻自動被改成開啟Edge! Step1   開啟Edge瀏覽器 > 設定 >頁面點選右上角的「…」>,選擇「設定」 Step2  在左側列表中選擇 「預設瀏覽器」  - 在 Microsoft Edge 中以 Internet Explorer 開啟網站:選擇「永遠」。  - 允許在 Internet Explorer 模式中重新載入網站:選擇「允許」。  - 點選「重新啟動」後即可啟用。 Step3   再點選一次「…」並選擇「在Internet Explorer模式中重新載入」。 Step4   如果下次開啟相同網頁時希望直接能以IE模式開啟,則可以開啟「下次在Internet Explorer模式中開啟此頁面」的選項。 Step5   如果有一些常瀏覽的網頁想要每一次開啟時,都自動用IE模式開啟,則再回到左列的「預設瀏覽器」的選項,並點選「新增」。 Step6   新增頁面的視窗中直接輸入常用URL,並點選「新增」即可完成。 文章參考來源: https://www.erpking.com.tw/article-internet-explorer
最近的文章

EFI Shell mode中擷取圖片

微軟提供了一個工具可以讓我們輕鬆的在EFI SHELL環境下擷取圖片的工具"PrintScreenLogger",省去在EFI SHELL還要透過照相機拍照,方便有好用。 使用步驟: 1. 增加文字檔到開機隨身碟,並重新命名為"PrintScreenEnable.txt" 2. "PrintScreenLogger.efi"放入開機隨身碟 3. 將開機隨身碟插入USB Port,並且開機進入隨身碟 4. 命令列輸入"Load PrintScreenLogger.efi",將驅動載入系統中 5. 按壓鍵盤 CTRL+ SCREEN PRINT,擷取圖片 6. 隨身碟中會產生xxxxxx00001.bmp 下載: PrintScreenLogger.efi 以上文章內容參考https://www.lab-z.com/msscp/,有興趣可前往閱讀完整內容。

如何讀寫SMBus

在介紹如何讀寫SMBus之前,首先我們必須先知道什麼是SMBUS? SMBus (System Managemnet Bus,系統管理匯流排) 簡單來說是有兩條訊號線 (SMBCLK/SMBDATA) 所組成一個匯流排,讓系統上一些低速裝置進行互相溝通的管道,如EC或感測裝置等。簡單舉個例子,當系統上想得知某個掛在SMBus匯流排下的溫度感測器他的溫度變化時,首先我們必須得知感測裝置的位置(Slave Address),由Host透過SMBus通道對溫度感測器進行回傳溫度的命令,當感測器得到命令後,再將溫度回傳給Host。 RW讀取SMBUS 1.取得SMBus Base Address,根據Spec可在Offset 20h - 23h取得,此範例IO Base = 0xF040。 2.選擇IO Space方式,輸入IO Base: 0xF040,根據Spec我們主要讀寫區域為Offset 00h - 07h。 3.Byte Read - SMB_BASE + 0x00h (HST_STS)寫入0xFE,清除暫存器狀態,以確保SMBus不為忙碌狀態 - SMB_BASE + 0x04h (XMIT_SLVA)寫入0xA1 (裝置的Slave Address) 注意!!此處以Memory裝置為範例,所以Slave Address = 0xA1,而BIT0 = 1為讀取,反之則為寫入。 - SMB_BASE + 0x03h (HST_CMD)寫入0x00 ,此處主要寫入要讀取的Offset,先以0x00為範例 - SMB_BASE + 0x02h (HST_CNT)寫入0x48,開始執行讀取。Bit6代表開始執行,Bit2-4為選擇讀取的方式 - SMB_BASE + 0x05h (HST_D0),讀取Byte資料顯示於此 4.Word Read -重複Byte Read步驟1-3 - SMB_BASE + 0x02h (HST_CNT)寫入0x4C,開始執行讀取。Bit6代表開始執行,Bit2-4為選擇讀取的方式 - SMB_BASE + 0x05h (HST_D0) / SMB_BASE + 0x06h (HST_D1),讀取Word資料顯示於此 5.Block Read -重複Byte Read步驟1-3 - SMB_BASE + 0x02h (HST_CNT)寫

輕鬆建立EDK2編譯環境 - 20210819_EzBuildEDK2

下載 : 20210819_EzBuildEDK2.ZIP 相關工具 注意:(Tool無須下載,已放置於下載檔案內tool資料夾) 1. edk2-stable-202011 2. vs_community__676215966.1629204554 3. python-3.8.0-amd64 4. nasm-2.13.02-win64 5. iasl-win-20210730 使用說明 1. 下載EzBuildEDK2,並解壓Workspace到C:\ 2. 安裝VS2019 C++  3. 安裝Python3.8 4. 開始 > 程式集 > VS2019 >執行Developer Command Prompt for VS 2019 > 進入Workspace資料夾 5. 執行setvar.bat,用來設置環境變數 6. 執行edksetup.bat 7. 執行build

架設EDK2+VS2019編譯環境

1.下載軟體 - EDK2 edk2-stable-202011 or Newest - VS2019 C++ - python 3.8 - NASM http://www.nasm.us/ - ASL https://acpica.org/downloads/binary-tools - BaseTools/Source/C/BrotliCompress/brotli - MdeModulePkg/Library/BrotliCustomDecompressLib/brotli - CryptoPkg/Library/OpensslLib/openssl 2.建立資料夾(C:\Workspace) - 將edk2-stable-202011.zip內容解壓到C:\Workspace\ - 解壓brotli至BaseTools/Source/C/BrotliCompress/brotli - 解壓brotli至MdeModulePkg/Library/BrotliCustomDecompressLib/brotli - 解壓openssl至CryptoPkg/Library/OpensslLib/openssl 3.安裝VS2019 4.安裝Python3.8 5. 解壓NASM及IASL到 C:\Workspace\NASM\及 C:\Workspace\IASL\ 注意:NASM及IASL資料夾請自行建立 6.開始 > 程式集 > VS2019 >執行Developer Command Prompt for VS 2019 >  進入Workspace資料夾 8.環境設定 - set NASM_PREFIX=C:\Workspace\NASM\ - set IASL_PREFIX=C:\Workspace\IASL\ - set WORKSPACE=C:\Workspace\ - set PACKAGES_PATH=C:\Workspace\ 9.執行edksetup.bat 10.進入C:\Workspace\Confg\,修改target.txt - ACTIVE_PLATFORM = EmulatorPkg/EmulatorPkg.dsc - TARGET = RELEASE - TARGET_ARCH = X64 - TOOL_C

如何讀寫PCI/PCIE暫存器資料

根據PCI Local Bus Specification中有提及,讀取PCI暫存器資料有兩總方式, 一是透過IO(CF8/CFC),另一種舊式透過MMIO 。 IO Mapped (CF8/CFC) 首先我們必須透過PCI Function Address(PFA)算出 Memory Mapped 要透過MMIO去讀取PCI暫存器,就必須先取得PCIEBAR,PCIEBAR可以參考EDS中BUS 0/ DEV 0/ FUN 0 ,找出PCIEBAR Base Address。 以PCI Device例子來看: 假設有個PCI的Device它的PFA(PCI Function Address)為(0,6,0)[bus/dev/function] 我們想要對PCI Register 43h bit1寫入1 範例程式碼如下: mov eax, 80003040h mov dx, 0cf8h out dx, eax mov dx, 0cffh in al, dx or al, 00000010b out dx, al IO Port 0x0cf8/0x0cfc為PCI Config Address/Data Port 這種方式就是I/O Mapped I/O 如果是PCIe Device的話,原則上原本的0x0cf8/0x0cfc還是可以用,但它只能存取Offset 00h~FFh, 要存取100h以上的空間時,就必需要用MMIO了。 範例程式如下: 假設我們要讀取Device(4,0,0)的register 0,讀2bytes mov ax,[50400000h] 假設0x50000000是PCIe的Memory Base Address PCIe PFA[27:20]: Bus information PCIe PFA[19:15]: Device information PCIe PFA[14:12]: Function information PCIe PFA[11: 8]: Extended Register PCIe PFA[7:2]: DW number PCIe PFA[1:0]: Byte enable

新手如何開始學習寫程式?

大家好,這一年來有太多事情要處裡,好久沒有更新了。 畢業季又到了,且因為2020新冠肺炎的問題,最近DQATester又常常聽到身邊的同仁或看到許多貼文在詢問?沒寫學過程式要如何學習?想必這個問題問我就對了。 首先自我介紹下自己,DQATester求學階段,高職 - 機械科 / 大學 - 工管系,一路上沒有接觸過程式或電子相關的知識。剛退伍後,以為憑藉自己優秀成績及國立技術學院的頭銜,可以有美好的未來,但事實總是....與理想差很大,投了許多履歷,從科技業一路丟到傳統產業,一次次的面試,總是沒有下文,對未來越來越迷網。等了三四個月的時間,總算獲得了一份電腦品牌廠,DQA助工的工作(薪水28000),在電腦品牌廠工作後,讓我深深聊解,學寫程式是做什麼,為什麼要學她。 程式是什麼?其實只是一個工具,舉個例子來說,你想要除草,那你就必須選擇除草的一些工具,例如鐮刀、鋤草機,來達到除草的目的。而程式就是一個工具,鐮刀、除草機就是你選擇用的方法如C++或Python等來達到目的。所以重點來了," 要學寫程式最重要的就是知道你想要做什麼"。 了解自己想學程式的目的很重要,但" 動機" 也很重要,也就是你學寫程式只是為了繳作業、興趣或未來賺錢工具,會影響你學習的吸收度,所以如果只是為了繳作業,我建議你還是....。 為什麼DQATester不告訴你學習寫程式如何開始,要怎麼準備,卻在講一些空話,但說實在的,這是我這麼多連來的心得,從一個什麼都不會到有一定程度的程式設計者,一路的歷程,我相信可以提供大家一個參考,而不是到補習班補一補,回來還是懵懵懂懂。 目的、動機 才是學寫程式的最根本。