Upgrade the Zynq driver to recognise and use drives larger than 64GB #3
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Until now, FreeRTOS+FAT was never really tested on drives larger than 64GB.
This PR is adding a Xilinx Zynq driver which can recognise and use an SD-card of 128GB. Therefore I upgraded the driver sources that are provided by Xilinx in their 2019.03 release.
I adapter these sources to use interrupts ( in stead of polling ), which makes them more efficient.
Then, as a test, I created 3 equal partitions and mounted them all in the same tree:
The first partition was represented at the root directory. I tested by writing and reading files on each partition and have the drive checked by
dosfsck
under Ubuntu.I had to make some more adaptations: each instance of an
FF_Disk_t
now gets its own copy ofCacheMemoryInfo_t
. This is uncached caching memory ( i.e. uncached by the CPU ). It can be passed to DMA, without the need to invalidate or refresh.Another change had to be made to
ff_format.c
: only in partition 0, the FAT can be moved into the second 4MB erase block ( see comment in source code ).I gave the new Zyn port a new directory:
portable\Zynq.2019.3
. Let's rename it as soon as it has proven to be as stable as the existing 2015.03 Zynq driver. I will also keep on testing it.Hein