/* ch376晶元 硬體抽象層 v1.0 */
/* 提供i/o介面子程式 */
#include
#include
"ch376inc.h"
#ifndef
__ch376_hal_h__
#define __ch376_hal_h__
#ifdef __cx51__
#ifndef __c51__
#define __c51__
1#endif
#endif
#ifdef __c51__
#define
big_endian
1#endif
#ifdef __c51__
#pragma noaregs
#endif
/* 附加的usb操作狀態定義 */
#define
err_usb_unknown
0xfa
/* 未知錯誤,不應該發生的情況,需檢查硬體或者程式錯誤 */
/* 延時指定微秒時間,根據微控制器主頻調整,不精確 */
void
mdelayus( uint8 us );
/* 延時指定毫秒時間,根據微控制器主頻調整,不精確 */
void
mdelayms( uint8 ms );
void
ch376_port_init( void );
/* ch376通訊介面初始化 */
void
xendch376cmd( void );
/* 結束ch376命令,僅用於spi介面方式 */
void
xwritech376cmd( uint8 mcmd );
/* 向ch376寫命令 */
void
xwritech376data( uint8 mdata );
/* 向ch376寫資料 */
uint8
xreadch376data( void );
/* 從ch376讀資料 */
uint8
query376interrupt( void );
/* 查詢ch376中斷(int#引腳為低電平) */
uint8
minitch376host( void );
/* 初始化ch376 */
#endif
ch376檔案管理晶元
ch376是檔案管理控制晶元,用於微控制器系統讀寫u 盤或者sd 卡中的檔案。ch376支援usb裝置方式和usb主機方式,並且內建了usb通訊協議的基本韌體,內建了處理mass storage海量儲存裝置的專用通訊協議的韌體,內建了sd卡的通訊介面韌體,內建了fat16和fat32以及fat12檔...
硬體抽象層 HAL
本章主要講硬體抽象層 hal硬體抽象層是建立在linux驅動之上的一套程式庫。這套程式庫並不屬於linux核心,而是屬於linux核心層上的應用層。google為android加入hal主要有以下目的 統一硬體的呼叫介面。由於hal有標準的呼叫介面,所以可以利用hal遮蔽了linux驅動複雜 不統一...
Android 硬體抽象層(HAL)
出發點 保護廠商利益 android的硬體抽象層,簡單來說,就是 對linux核心驅動程式的封裝,向上提供介面,遮蔽低層的實現細節。也就是說,把對硬體的支援分成了兩層,一層放在使用者空間 user space 一層放在核心空間 kernel space 其中,硬體抽象層執行在使用者空間,而linux...