2015年11月13日 星期五

BIOS code "Hello world"

Build NT32 Emulator

切換路徑到"workspace"
















(cd "位置" - 進入指定位置                     cd ".." - 上一層)


Run "edksetup" -> Run "edksetup --nt32" -> Run "Build" -> Run "Build run"























(輸入 reset 可以關掉shell)

(以後這段省略)
_________________________________________________________________________________
檔案類型與作用
xx.dec
Package DEClaration File 包裹聲明檔
xx.dsc
Platform DeSCription File 平台聲明檔
xx.fdf
Flash Description File 閃存描述檔
xx.inf
Setup Information File 安裝訊息檔

是用來描述在程式的安裝過程中使用和包含的檔和要安裝的資料夾有關的資訊的設置檔的檔

案格式。

查詢副檔名   http://www.filefacts.net/zh/ (參考就好)
_________________________________________________________________________________
加入INF

將想加入的APP INF路徑,放入Nt32Pkg.dsc [Components]下

EX.
D:\MyWorkSpace\AppPkg\Applications\Hello\Hello.inf  放入 Nt32Pkg.dsc
(路徑重複省略)

試著build看看
發現有成功加入Hello.inf,但是顯然是缺少ShellCEntryLib。

開啟Hello.inf
可以觀察出ShellCEntryLib,應該是在ShellPkg/ShellPkg.dec被描述。

開啟ShellPkg.dec
ShellCEntryLib是指ShellCEntryLib.h 的 header檔。
(位置應該是在 D:\MyWorkSpace\ShellPkg\Include\Library )

那麼如何把ShellCEntryLib.h 匯入 NT32 Emulator
要先找出 ShellCEntryLib 的 inf檔。
一般在同的PKG(package)下,得找找。
(位置 D:\MyWorkSpace\ShellPkg\Library\UefiShellCEntryLib )

同樣加在Nt32Pkg.dsc裡,因為是Library 所以加在[LibraryClasses]下。

再次"build"後,"build run"進入shell















BIOS EDK II 安裝

________________________________________________________________
開始前先安裝好
Visual studio  
https://www.visualstudio.com/zh-tw/downloads/download-visual-studio-vs.aspx

python
https://www.python.org/
________________________________________________________________

首先得先去EDK II官方抓取他的package。
(EDK II官方 http://www.tianocore.org/edk2/)

EDK II 2015 package 內容




解壓縮 Myworkspace 。根據電腦的OS,解壓縮BaseTools。
將BaseTools檔案夾裡的BaseTools conf edksetup放入Myworkspace 資料夾中。


透過Visual studio CMD下指令。
切換資料夾去Myworkspace。
使用: edksetup
          edksetup  --nt32
          build (如果build沒有error) 下 build run
_________________________________________________________________
關於build產生的error。

error 7000 和 error2 同時出現
可能是conf裡的target設定有誤。
_________________________________________________________________








2015年11月6日 星期五

BIOS CMOS Indirct IO Access

簡易範例程式
__________________
mov dx 70
告知 CMOS 要準備定址
mov al ??
out dx al
要更動的位置是 ??
__________________
mov dx 71
告知COMS 要準備定值
in al dx
讀取??的值 到 al
add al 1
out dx al
輸出al的值到 ??
__________________
兩個out 意義不同 是因為DX 不同 70 71 意義不一樣

?? 表示 CMOS RAM memory map

2014年8月16日 星期六

php 基礎介紹 與 基礎語法

PHP程式語言全稱 Personal Home Page,是以html為基礎的網頁程式語言,且融合 C 、 JAVA 、 Perl 等語言優點。


  • 定義 PHP 程式區塊
<?(php)
 php 區塊
(每行程式編輯完成後必加 ; )
?> 

html 區塊

<?(php)
 php 區塊
?>
  •  PHP註解方式
1.單行註解
//這是單行註解

2.多行註解 

/*
這是多行註解區塊
*/

  • 跳脫字元
輸出特殊字元與符號時,需要於想輸出的特殊字元與符號前加跳脫字元 "\"

顯示特殊字元
\$   顯示  $
\\"   顯示 
\\    顯示  \

特殊字元
\n  換行字元
\t   進格字元
\r   歸位字元



2014年7月13日 星期日

用eclipse開新php專案

PHP Project的路徑
File >> New >> PHP Project 點選
照下列步驟:

1.在Project Name填寫專案名稱
2.Configuration  custom
3.finish

eclipse 環境架設 php 與 java

先安裝Java Development Kit(JDK)(java運行相關環境)
安裝javaSE(java的網路執行相關環境也算是一般的版本)
安裝流程:
1.

2.






















3.下載適當的版本

4.開始安裝( 幾乎 一路next )

for java
環境設定步驟:
1.























2.






















3.






















4.






















5.找到JDK的安裝路徑,預設是在「C:Program FilesJavajdkx.x.x_x」(x是版本號)。開啟bin資料夾,並把路徑複製下來。






















6.貼上剛剛複製的路徑在最前面,然後用";"隔開原先的資料。(確定完成所有設定)






















7.開啟命令提示字元後,輸入指令「javac」






















8.若設定無誤會產生下面文字






















下載一般eclipse https://www.eclipse.org/downloads/


for php
需先設定好 JAVA的環境(見上文) 與 Apache的環境

 Apache安裝步驟(暫缺)

 Apache下 PHP 的環境設定(暫缺)
 
直接下載 PDT(Eclipse PHP Development Toolshttps://www.eclipse.org/pdt/