ESPUSB - Chat about the software components

User avatar
By cnlohr
#52616 Currently, the ESPUSB stack is ~1kB of IRAM, it needs to store a table that's ~128 bytes large to load into dram, and needs another ~64 bytes of RAM. I don't know if the tables could be staged anywhere else (like the fields of flash), or how that would work.

Do bootloaders /have/ to be tiny?

I am still not sure if 12 MBit is possible, but, it's right now looking like I would need about the same amount of IRAM, but significantly more DRAM (~2.5kB!!) It makes me wonder if it would be feasible for people to use.
User avatar
By RichardS
#52640 Well if you need a mass storage device then I guess it is what it is :-)

Something like this is always needed by someone, and that someone will be very happy to have it, the requirements to date do not look all that bad.

RichardS
User avatar
By cnlohr
#52646 I hadn't even thought about making the bootloader a mass storage device. I was gonna suggest using control messages. I don't know how that would work being a mass storage device, either :-/ Like I know how to make a block device, but to make it show up as individual files, that would be super swanky, but I guess you'd need something that mimicked the FAT filesystem? Maybe format part of the chip with actual FAT? That would be neat!

I wonder if one could force FAT block size to 4k so we could use the erase block commands built into the SDK? Or is there another minimum write unit size?
User avatar
By RichardS
#52657 I have some code for a Cortex M3 that provides a boot loaders that shows up as a drive, then you drag the .bin to it and voila.... not sure how highly M3 related the code is, but it fakes a FAT12 in memory in very few bytes.

RichardS