Hi
The uTasker scheduler is used to manage the various tasks and functions so that they can be designed in a modular fashion and allows efficient maintenance and general operation. If you remove it you save about 1k of code space but will then have other issues to be solved (requiring dedicated code in each case) which will generally make the overall code size much larger and each project more compicated to manage since it is then each time a special case.
utFAT2.0 can however also work without the scheduler, with the following exceptions:
- formatting disks is performed as a background task with the scheduler - large cards can take several minutes to format in the simple case and even hours to be completely deleted and format. If not realised as a background task the system will be almost unusabled for other things when formatting.
- if FAT 32 fomatted cards lose their INFO bock it is necessary to count free clusters. Again this is realised as a background activity since it can take several seconds each time. Without the scheduler it would cause long blocking delays.
- Managed files would not always be able to be used (therefore a file could not be opened by several application at the same time since the protection and synchronisation mechanisms would not be fully in place)
- Card mounting involves some software timers to control delayed and retries and these would need to be handled by an application layer instead if the scheduler can't automate it
- Card slots without HW removal detection require perodic checking of the card's presence. Thsi woudl need to be implemented at the appliation layer if not automated by the existing scheduler.
All other lower level read / writes can be used by just calling the appropriate utFAT2.0 function, or even its low level driver code.
Note that the SD card is accurately simulated in the uTasker K40 simulator so that development and testing can be performed in (approx.) real-time without any debugging complictions.
Regards
Mark