大家好!我用的是ARM 通過HOST-CH375進行讀優(yōu)盤,按照EXAM1的例子一步步進行推進?,F(xiàn)在剛弄到CH375初始化。EXAM1主函數(shù)前面的那幾個子程序都已經實現(xiàn)了,但就是對“#define FILE_DATA_BUF_LEN 0x2000”這個宏不是很了解。由于EXAM1是用的LPC2114的ARM,我用的是另一個公司的ARM,我在這里應該怎么設置這個宏呢?LPC2114里面有16K RAM,我的里面有64K RAM。 還有,這個緩沖區(qū)的起始地址是怎么定義的?我在EXAM1中沒有見到起始地址的定義!
這個宏不用改動,緩沖區(qū)的地址是由編譯器動態(tài)分配的,不需要用戶指定
FILE_DATA_BUF_LEN 是以扇區(qū)方式讀寫U盤的時候用到的 用來存放將要讀寫U盤的數(shù)據(jù).如果沒有定義起始地址,會自動的分配一個緩沖區(qū), 可以參考.H文件.
關于這個的具體用法你參考頭文件:
#ifdef FILE_DATA_BUF_LEN #ifdef FILE_DATA_BUF_ADDR __align(8) UINT8 FILE_DATA_BUF[ FILE_DATA_BUF_LEN ]; /* 外部RAM的文件數(shù)據(jù)緩沖區(qū),緩沖區(qū)長度不小于一次讀寫的數(shù)據(jù)長度,起始地址必須為8字節(jié)邊界地址 */ #else __align(8) UINT8 FILE_DATA_BUF[ FILE_DATA_BUF_LEN ]; /* 外部RAM的文件數(shù)據(jù)緩沖區(qū),緩沖區(qū)長度不小于一次讀寫的數(shù)據(jù)長度,起始地址必須為8字節(jié)邊界地址 */ #endif
#ifndef DISK_BASE_BUF_LEN #define DISK_BASE_BUF_LEN 512 /* 默認的磁盤數(shù)據(jù)緩沖區(qū)大小為512字節(jié),建議選擇為2048甚至4096以支持某些大扇區(qū)的U盤,為0則禁止在.H文件中定義緩沖區(qū)并由應用程序在pDISK_BASE_BUF中指定 */ #endif
謝謝!