移植fat16的步驟
1。儲存器的介面初始化
·編寫spi的sd卡介面**
·讀乙個位元組的spi口
·寫乙個位元組的spi口
·向sd卡傳送一條命令
·向sd卡傳送乙個資料報
·從sd卡接受乙個資料報
·編寫diskio.h檔案
·編寫對sd卡的初始化程式
·狀態檢測函式。預設支援
·編寫讀扇區的函式
③dresult disk_read(byte drv,byte*buff,dword sector,byte.count);
讀扇區函式。在sd卡讀介面函式的基礎上編寫,*buff儲存已經讀取的資料,sector是開始讀的起始扇區,count是需要讀的扇區數。1個扇區512個位元組。執行無誤返回o,錯誤返回非0。
·寫扇區的函式
④dresult disk_write(byte drv,const byte*buff,dword sector,byte count);
寫扇區函式。在sd卡寫介面函式的基礎上編寫,*buff儲存要寫入的資料,sector是開始寫的起始扇區count是需要寫的扇區數。1個扇區512個位元組。執行無誤返回o,錯誤返回非0。
·⑤dresult disk_ioctl(byte drv,byte ctrl,voii*buff);
儲存媒介控制函式。ctrl是控制**,*buff儲存或接收控制資料。可以在此函式裡編寫自己需要的功能**,比如獲得儲存媒介的大小、檢測儲存媒介的上電與否儲存媒介的扇區數等。如果是簡單的應用,也可以不用編寫,返回o即可。
·⑥dword get_fattime(void);
實時時鐘函式。返回乙個32位無符號整數,時鐘資訊包含在這32位中,如下所示:
bit31:25 年(o..127)從2023年到現在的年數
bit24:21 月(1…12)
bit20:16 日(1..31)
bitl5.1] 時(o..23)
bitl0:5 分(o..59)
bit4:0 秒/2(0..29)
如果用不到實時時鐘,也可以簡單地返回乙個數。正確編寫完diskio,移植工作也就基本完成了,接下來的工作就是對tiny—fatfs進行配置。
2。fatfs的配置
·基本不要改動
第三方平台移植
因為圖形編輯器所依賴的 t平台即將整合到 p平台,在專案做了一年半之後,要將整個專案從 t平台移植到 p平台。之前的 重構為專案 移植到 p平台打好了基礎,移植過程中,只要將 ui部分的 根據 p平台的框架重新編碼,就可以了,剩下了不少 effort。因為開發所依賴的平台改變了,ui部分的 需要重新...
如何在16位微控制器上移植linux
一 一些想法 一直以來,linux被認為是個32位的 現代化 作業系統,一般也沒有人在8位 16位微控制器上面去移植linux。但是,從原理上來講,從任意位數的微控制器,都是可以執行linux的 本質上就是個作業系統麼,既然ucos可以,為什麼linux不行?於是,我的畢業設計打算做這個選題。當然,...
shader入門16 立方體紋理
1.什麼是立方體紋理?簡單的說就是6張紋理組成的乙個方塊形狀的紋理.像骰子一樣,有六個面.2.立方體紋理有什麼用?立方體紋理通常用於作為反射源,以及環境反射來實現玻璃,金屬的效果 3.為什麼立方體紋理要做成這個形狀?以立方體的中心為原點,向任意方向投射射線,可以與立方體6個面相交,得到不同的取樣值....