<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mjb/altos/src/stm/ao_eeprom_stm.c, branch debian/1.8.6-2</title>
<subtitle>AltOS - the operating system for Altus Metrum products
</subtitle>
<id>https://git.ethernal.org/mjb/altos/atom?h=debian%2F1.8.6-2</id>
<link rel='self' href='https://git.ethernal.org/mjb/altos/atom?h=debian%2F1.8.6-2'/>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/'/>
<updated>2017-01-25T19:21:43+00:00</updated>
<entry>
<title>altos/arm: Align data so that gcc 5.4 doesn't do byte-accesses. Add -Wcast-align</title>
<updated>2017-01-25T19:21:43+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2016-12-18T04:58:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=fe25510fc23031f1a3c1b42edd37067d1989a9f6'/>
<id>urn:sha1:fe25510fc23031f1a3c1b42edd37067d1989a9f6</id>
<content type='text'>
Gcc 5.4.1 tracks alignment of data through assignments, so that a
uint32_t pointer which comes from byte-aligned uint8_t data:

extern uint8_t foo[];

	uint32_t	*q = (void *) foo;

Fetches and stores through this pointer are done bytewise. This is
slow (meh), but if q references a device register, things to bad very
quickly.

This patch works around this bug in the compiler by adding
__attribute__((aligned(4))) tags to some variables, or changing them
from uint8_t to uint32_t. Places doing this will now be caught as I've
added -Wcast-align to the compiler flags. That required adding (void
*) casts, after the relevant code was checked to make sure the
compiler could tell that the addresses were aligned.

Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
</content>
</entry>
<entry>
<title>Switch from GPLv2 to GPLv2+</title>
<updated>2016-07-12T22:41:41+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2016-07-05T16:03:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=1085ec5d57e0ed5d132f2bbdac1a0b6a32c0ab4a'/>
<id>urn:sha1:1085ec5d57e0ed5d132f2bbdac1a0b6a32c0ab4a</id>
<content type='text'>
Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
</content>
</entry>
<entry>
<title>altos: Allow use of internal EEPROM for config storage</title>
<updated>2013-11-12T07:27:31+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2013-11-12T06:45:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=83437b2fe304599e22d0a98b5410808bcb67dc97'/>
<id>urn:sha1:83437b2fe304599e22d0a98b5410808bcb67dc97</id>
<content type='text'>
This stops exposing eeprom as 'storage' and instead exposes it with a
separate eeprom API so that it can be used for config storage without
also using it for flight log storage.

The config code has been changed to allow it to either use storage for
configuration data or eeprom.

Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
</content>
</entry>
<entry>
<title>altos: Use FTDW, clear DATA bit. Disable backup write protection</title>
<updated>2013-03-28T01:43:42+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2013-03-28T01:43:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=985cd22b941415b1ae2709ae1ab6b60c3d815ec1'/>
<id>urn:sha1:985cd22b941415b1ae2709ae1ab6b60c3d815ec1</id>
<content type='text'>
The newer(?) chips in telegps didn't like the previous programming
scheme, so go back to fixed time for write, which does an implicit
erase before every write. Also clear the DATA bit, which is only
needed for double word erase/programming.

Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
</content>
</entry>
<entry>
<title>altos: Explicitly erase memory in STM eeprom driver.</title>
<updated>2012-08-29T06:00:23+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2012-08-29T01:10:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=eb1a9a8c3f3d3993d5986925bc4ad112c2bbc119'/>
<id>urn:sha1:eb1a9a8c3f3d3993d5986925bc4ad112c2bbc119</id>
<content type='text'>
This seems to make the STM32L152 happier

Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
</content>
</entry>
<entry>
<title>altos: Add driver for STM internal flash</title>
<updated>2012-07-30T02:48:08+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2012-07-30T02:48:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=2e7e304e67bc1e094282c8668fa8cccf09f9c9b4'/>
<id>urn:sha1:2e7e304e67bc1e094282c8668fa8cccf09f9c9b4</id>
<content type='text'>
Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
</content>
</entry>
</feed>
