<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mjb/altos/src/stm/altos-loader.ld, branch debian/1.8.5-1</title>
<subtitle>AltOS - the operating system for Altus Metrum products
</subtitle>
<id>https://git.ethernal.org/mjb/altos/atom?h=debian%2F1.8.5-1</id>
<link rel='self' href='https://git.ethernal.org/mjb/altos/atom?h=debian%2F1.8.5-1'/>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/'/>
<updated>2017-12-12T23:31:27+00:00</updated>
<entry>
<title>altos/stm: Align 'data' to 8 bytes, just like textram</title>
<updated>2017-12-12T23:31:27+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2017-12-12T23:31:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=28dbe9a04b16f79db255baecbf0cd486c510ef58'/>
<id>urn:sha1:28dbe9a04b16f79db255baecbf0cd486c510ef58</id>
<content type='text'>
The textram section must be aligned to 8 bytes to keep the linker
happy. However, if that section contains no data, the declaration will
set the __data_start__ value to that alignment, but the data section
itself would start on a 4-byte alignment, potentially 4 bytes lower
than the value indicated by __data_start__. This completely scrambles
initialized memory as the startup code will copy the data segment to
__data_start__, 4 bytes off of the actual data segment start.

Fix this by forcing the data segment to also be aligned to 8 bytes.

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/stm: arm-none-eabi-binutils now puts 'main' into .text.startup</title>
<updated>2013-12-09T03:37:53+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2013-12-09T03:05:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=2cb7a96567e1302a699f78290fab5e29693940ab'/>
<id>urn:sha1:2cb7a96567e1302a699f78290fab5e29693940ab</id>
<content type='text'>
Change name of .text.ram to .ramtext, then load .text* into flash and
.ramtext into ram. This ensures that 'main' and anything else in a
random .text.* segment will get loaded into flash as appropriate.

Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
</content>
</entry>
<entry>
<title>altos/stm: Create per-product flash loaders</title>
<updated>2013-05-08T04:30:27+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2013-04-27T22:33:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=4a90eec4b8ee4a35711aa74c13b3f30d12c0fe08'/>
<id>urn:sha1:4a90eec4b8ee4a35711aa74c13b3f30d12c0fe08</id>
<content type='text'>
Split the flash loader prototype into pieces so that each product can
build a custom flash loader with very little code.

Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
</content>
</entry>
<entry>
<title>altos: Get rodata into flash, make sure sections are aligned</title>
<updated>2013-05-08T04:30:26+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2013-04-27T07:24:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=a2e0676f476b0e2bdd5102315ebd5904b57f384a'/>
<id>urn:sha1:a2e0676f476b0e2bdd5102315ebd5904b57f384a</id>
<content type='text'>
.rodata* needs to be in flash; otherwise strings get left in ram.
Failing to align sections makes the initialized data get dumped into
the wrong place in memory.

Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
</content>
</entry>
<entry>
<title>altos/stm: Shrink stm flash loader to &lt; 4kB</title>
<updated>2013-05-08T04:30:26+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2013-04-23T01:32:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=6cd015b8b6b02bd8e0ce28f248426ae75c242b53'/>
<id>urn:sha1:6cd015b8b6b02bd8e0ce28f248426ae75c242b53</id>
<content type='text'>
Saves 4kB of flash space for applications.

Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
</content>
</entry>
<entry>
<title>altos/stm: Add comments to the .ld files explaining how the romconfig stuff works</title>
<updated>2013-05-08T03:16:52+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2013-03-24T22:27:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=7d98fc5d3f106f3063608a2e5c69d9359061437a'/>
<id>urn:sha1:7d98fc5d3f106f3063608a2e5c69d9359061437a</id>
<content type='text'>
Would be nice to be able to explicitly define addresses for the
romconfig variables, but I can't figure out how to make that
work. Instead, just explicitly load the files in teh right order to
make things land in the right places.

Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
</content>
</entry>
<entry>
<title>altos: Mark .boot section as (NOLOAD)</title>
<updated>2013-05-08T03:16:52+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2013-03-23T09:17:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=db7f17980c303e442f88c8a4168351dbc2c0b1a0'/>
<id>urn:sha1:db7f17980c303e442f88c8a4168351dbc2c0b1a0</id>
<content type='text'>
For some reason, the silly linker marks things in section .boot as
data rather than bss, so they'd end up initialized by default. Force
them to be NOLOAD so they preserve values across reboot so that boot
chaining works properly.

Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
</content>
</entry>
<entry>
<title>altos: Clean up boot loader support</title>
<updated>2013-05-08T03:16:36+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2013-03-11T20:21:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=b1a43ce313c85cb7f8f16f7f0647d9d4320ba692'/>
<id>urn:sha1:b1a43ce313c85cb7f8f16f7f0647d9d4320ba692</id>
<content type='text'>
Split out code into separate files.
Add support for getting back to boot loader from application.

Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
</content>
</entry>
<entry>
<title>altos: Add program flash function</title>
<updated>2013-05-08T03:15:45+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2013-03-11T07:01:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=56a7cbbf51f5c9ebbfe17d1cc30ed807572af3cc'/>
<id>urn:sha1:56a7cbbf51f5c9ebbfe17d1cc30ed807572af3cc</id>
<content type='text'>
And get it loaded to RAM so it can execute correctly.

Nothing calls it yet...

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