Re: [心得] S3C2410 Bootloader

看板LinuxDev作者 (當憲兵是我一輩子的恥辱)時間16年前 (2009/01/30 11:19), 編輯推噓2(204)
留言6則, 3人參與, 最新討論串5/5 (看更多)
在原本的架構裡, 直接讓 FatFs存取 SD driver 因為我的 SD driver 寫得很爛, 只能用迴圈 polling 如果呼叫 FatFs 的程式的 priority 太高, 整個系統會被鎖死 FatFs call HAL level Middleware ---> SD driver (BAD driver) ---- 經過一些嘗試, 我的目標是讓 SD driver 不要霸佔 CPU 不能用 high priority task 執行 SD driver 我在 FatFs 到 Driver 中間, 安插一個 SD Task (low priority task) 把 SD 卡的操作移轉到 SD Task, 如此一來, SD driver 就不能霸佔 CPU了 FatFs call OS-level CMD OS-level call HAL-level Middleware ---> SD driver ---> SD Task ---> SD driver ------------------------------------------------------------------ high blocking low hot-waiting/polling priority call priority driver ---- (不知道真正的OS, 碰到非得polling慢速IO時, 會怎麼做) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.160.92.127

01/30 15:27, , 1F
當前程序 sleep,交出 CPU 使用權,wait event發生~
01/30 15:27, 1F

02/01 10:45, , 2F
請教一下,是怎樣的慢速IO 非得用 polling?
02/01 10:45, 2F

02/01 15:47, , 3F
說慢也不會慢(@25Mhz, SD), 只是我暫時想不出怎麼把driver
02/01 15:47, 3F

02/01 15:47, , 4F
寫成IRQ/ DMA的形式, 只好一直polling
02/01 15:47, 4F

02/01 21:19, , 5F
其實polling寫的出來,IRQ的也都寫的出來。
02/01 21:19, 5F

02/01 21:20, , 6F
原來如此,如果有個 OS 的解法,就更簡潔漂亮了
02/01 21:20, 6F
文章代碼(AID): #19Wd71rt (LinuxDev)
文章代碼(AID): #19Wd71rt (LinuxDev)