arduino / arduino/ArduinoCore-mbed

mbed::MBRBlockDevice::partition wrong size when using QSPIFBlockDevice

Open
#800 1 comment 0 reactions 0 assignees View on GitHub
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.