arduino / arduino/ArduinoCore-mbed
mbed::MBRBlockDevice::partition wrong size when using QSPIFBlockDevice
- Dominant language
- C
- Stars
- 411
- Forks
- 225
- PR merge metrics
- No merged PRs in 30d
Description
on the arduino giga, using the method :
partition(BlockDevice *bd, int part, uint8_t type, bd_addr_t start);
which states that:
This is the same as partition(bd, part, type, start**, bd->size(**))
a partition is created that is many times larger than the BD size. Looking at the partition table, that partition was like 16TB instead of MB if I remember correctly. I guess that the QSPIFBlockDevice returns its size on a way that is not interpreted correctly by partition.
Trying to access that partition made the arduino to hang. I ended fixing the partition using an external device.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reproducing the issue on the Arduino GIGA with QSPIFBlockDevice and the mbed::MBRBlockDevice::partition(BlockDevice *bd, int part, uint8_t type, bd_addr_t start) overload. Compare the partition-table size with bd->size(); done means the partition size matches the block device and accessing it no longer hangs.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c
- Domain
- embedded-iot
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100