?? 版本說明.txt
字號:
本固件軟件包分為兩個版本:C語言版 和 匯編語言版
一. C 語言版的改進
1. 增加了固件程序的可移植性:
(1)將與硬件相關(guān)與硬件無關(guān)的函數(shù)分配到不同的文件中
(2)編譯時不必考慮編譯器的大小端模式,固件中已做了處理
2. 對原有版本進行了整理,依據(jù)為分層思想:
(1)D12Config.h: D12運行的硬件環(huán)境配置頭文件,包括D12引腳對應(yīng)的I/O口定義、數(shù)據(jù)地址和命令地址的宏定義
(2)D12HAL.c: 硬件抽象層:與CPU相關(guān)的函數(shù), 包括初始化D12引腳函數(shù)Init_D12Port()、復(fù)位D12函數(shù)Rst_D12()
輸出數(shù)據(jù)到D12函數(shù)outportb()、從D12讀取數(shù)據(jù)函數(shù)inportb()
(3)D12CI.c: 實現(xiàn)D12的所有命令,該文件與硬件無關(guān)
(4)Chap_9.c: 實現(xiàn)USB協(xié)議: 包括控制傳輸處理函數(shù)control_handler()及端點0中斷處理函數(shù)ep0_rxdone()、
ep0_txdone(). 除此以外還有其它協(xié)議層相關(guān)函數(shù),該文件與硬件無關(guān)
(5)D12Driver.c D12的應(yīng)用層: 包括初始化D12函數(shù)Init_D12(), D12中斷處理函數(shù) Usb_Exception()
端點1 和 端點2 接收與發(fā)送處理函數(shù)ep1_txdone()、ep1_rxdone()、ep2_txdone()和ep2_rxdone()
如果你需要在中斷服務(wù)函數(shù)中增加其它處理,請在該文件中改動
(6)Descriptor.c 描述符文件: 該文件包含D12的描述符,需要改動產(chǎn)品ID號請在此處改動,其它的不必改動.
(7)描述符結(jié)構(gòu)體與D12相關(guān)端點大小的定義在Descriptor.h文件, D12命令的全部宏定義在D12CI.h
USB事件結(jié)構(gòu)體定義在Chap_9.h中.
3. 對源碼進行了詳細的注釋,但函數(shù)接口保持與以前版本一致.
二、匯編語言版
匯編語言也進行了與C語言一樣的改進,區(qū)別只是D12CI.c改用了匯編編寫,改為D12CI.asm,速度上比C語言版有很大的提高.
還有一些要注意:
(1)D12CI.asm 已包含D12的中斷服務(wù)處理函數(shù)fn_usb_isr(),但只是一個函數(shù),沒有中斷入口,D12真正的中斷服務(wù)程序為
D12Driver.c文件的Usb_Exception(),該函數(shù)調(diào)用了fn_usb_isr().
(2)MCU訪問D12的地址定義為兩個全局變量,這兩個變量必須在固件的開始處進行初始化,見D12Driver.c文件的Init_D12()
函數(shù).
(3)在Driver.c文件中增加了讀D12 芯片ID 號的函數(shù)INT16U D12_ReadChipID(void)。
請在使用本版本固件程序之前認真閱讀光盤目錄下的: 產(chǎn)品手冊.pdf 文件.
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -