<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mjb/altos/src/stmf0/Makefile-stmf0.defs, branch debian/1.6.8-4</title>
<subtitle>AltOS - the operating system for Altus Metrum products
</subtitle>
<id>https://git.ethernal.org/mjb/altos/atom?h=debian%2F1.6.8-4</id>
<link rel='self' href='https://git.ethernal.org/mjb/altos/atom?h=debian%2F1.6.8-4'/>
<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>altos: Initial STMF04x support</title>
<updated>2015-01-26T00:42:39+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2015-01-26T00:42:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=02f03df6d089cafae99f8ce15dcbd87f6e78d749'/>
<id>urn:sha1:02f03df6d089cafae99f8ce15dcbd87f6e78d749</id>
<content type='text'>
Basic clock configuration, OS support, LED and USB drivers.

Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
</content>
</entry>
</feed>
