<feed xmlns='http://www.w3.org/2005/Atom'>
<title>suspect-devices/circuitpython/supervisor/flash.h, branch main</title>
<subtitle>CircuitPython - a Python implementation for teaching coding with microcontrollers</subtitle>
<id>https://git.suspectdevices.com/suspect-devices/circuitpython/atom?h=main</id>
<link rel='self' href='https://git.suspectdevices.com/suspect-devices/circuitpython/atom?h=main'/>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/'/>
<updated>2021-03-18T23:55:42+00:00</updated>
<entry>
<title>Redo RP2040 flash settings</title>
<updated>2021-03-18T23:55:42+00:00</updated>
<author>
<name>Scott Shawcroft</name>
<email>scott@tannewt.org</email>
</author>
<published>2021-03-04T21:12:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=5d2b60cbf69c99abd6984c298d4f052514221177'/>
<id>urn:sha1:5d2b60cbf69c99abd6984c298d4f052514221177</id>
<content type='text'>
This switches stage2 to C and uses Jinja to change the C code based
on flash settings from https://github.com/adafruit/nvm.toml. It
produces the fastest settings for the given set of external flashes.
Flash size is no longer hard coded so switching flashes with similar
capabilities but different sizes should *just work*.

This PR also places "ITCM" code in RAM to save the XIP cache for
code execution. Further optimization is possible. A blink code.py
still requires a number of flash fetches every blink.

Fixes #4041
</content>
</entry>
<entry>
<title>Automatically count EXTERNAL_FLASH_DEVICES (mk2)</title>
<updated>2021-03-07T18:51:47+00:00</updated>
<author>
<name>Jeff Epler</name>
<email>jepler@gmail.com</email>
</author>
<published>2021-03-07T18:51:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=32475ce98c2eaa13240fa24e713ce3d5df60afd9'/>
<id>urn:sha1:32475ce98c2eaa13240fa24e713ce3d5df60afd9</id>
<content type='text'>
Instead of counting words in make, which is slightly awful, notice that
possible_devices is local to external_flash.c, so we can declare the array
with an automatic bound, and then get the count as the element-count
(MP_ARRAY_SIZE) of the array.

Since EXTERNAL_FLASH_DEVICE_COUNT is no longer a global macro, switch
a few sites to using EXTERNAL_FLASH_DEVICES in `#if` checks instead.
</content>
</entry>
<entry>
<title>Add license to some obvious files.</title>
<updated>2020-07-06T18:16:25+00:00</updated>
<author>
<name>Diego Elio Pettenò</name>
<email>flameeyes@flameeyes.com</email>
</author>
<published>2020-06-03T22:40:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=34b4993d63a6b576f29d624385c681f679b4124c'/>
<id>urn:sha1:34b4993d63a6b576f29d624385c681f679b4124c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Hopefully fix flash flush and hopefully audio as well.</title>
<updated>2020-03-13T18:12:31+00:00</updated>
<author>
<name>Scott Shawcroft</name>
<email>scott@tannewt.org</email>
</author>
<published>2020-03-10T22:05:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=ed5cdd7e0970b904ed001deabe051c48ac32b1d3'/>
<id>urn:sha1:ed5cdd7e0970b904ed001deabe051c48ac32b1d3</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Rework flash flush so it preserves the cache</title>
<updated>2019-04-04T01:28:27+00:00</updated>
<author>
<name>Scott Shawcroft</name>
<email>scott@tannewt.org</email>
</author>
<published>2019-04-04T01:28:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=ceb6f2e4fc7ed80d6a7fe7966e973aa3715a4543'/>
<id>urn:sha1:ceb6f2e4fc7ed80d6a7fe7966e973aa3715a4543</id>
<content type='text'>
This should make filesystem writes quicker and cause less heap
churn.
</content>
</entry>
<entry>
<title>Add option to disable the concurrent write protection</title>
<updated>2019-02-21T18:45:41+00:00</updated>
<author>
<name>Scott Shawcroft</name>
<email>scott@tannewt.org</email>
</author>
<published>2019-02-19T22:45:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=1a0596a2fbb68c1285ec59606d03a610ee94ca47'/>
<id>urn:sha1:1a0596a2fbb68c1285ec59606d03a610ee94ca47</id>
<content type='text'>
This allows writing to the filesystem from the host computer and
CircuitPython by increasing the risk of filesystem corruption.
</content>
</entry>
<entry>
<title>Move atmel-samd to tinyusb and support nRF flash.</title>
<updated>2018-11-09T01:25:30+00:00</updated>
<author>
<name>Scott Shawcroft</name>
<email>scott@tannewt.org</email>
</author>
<published>2018-10-20T01:46:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=9d91111b1b6a1eee77a88b13faf695ee0c5caea3'/>
<id>urn:sha1:9d91111b1b6a1eee77a88b13faf695ee0c5caea3</id>
<content type='text'>
This started while adding USB MIDI support (and descriptor support is
in this change.) When seeing that I'd have to implement the MIDI class
logic twice, once for atmel-samd and once for nrf, I decided to refactor
the USB stack so its shared across ports. This has led to a number of
changes that remove items from the ports folder and move them into
supervisor.

Furthermore, we had external SPI flash support for nrf pending so I
factored out the connection between the usb stack and the flash API as
well. This PR also includes the QSPI support for nRF.
</content>
</entry>
</feed>
