Commit Graph

54 Commits

Author SHA1 Message Date
Chuck McManis 63e0b6df3a Device Data: Add Specs for STM32F4[67]9 variant
The reference manual is incorrect, the data sheet is correct.
There is 320K of ram (up to address 0x20050000). This has been
tested on the STM32F469I-disco board.
2018-07-13 20:18:44 +00:00
Chuck McManis 564e485989 devices.data: Add STM32F446xC/E data 2018-06-23 22:21:53 +00:00
Maxim Sloyko 2b1ddc8490 sam/4l: monster commit
The original submitter of this squished everything into one series, and
has not returned. The code mostly appears good, and review comments were
followed for the most part.  The project doesn't really maintain any
testing or board farm for sam3/sam4 parts, so we're going to just trust
our users.

Reviewed-by: Karl Palsson <karlp@tweak.net.au>

sam/4l: IRQ Configuration file (irq.json)

sam/4l: Basic Memory Map.

sam/4l: GPIO Defines.

sam/4l: GPIO Functions

Added everything that needed to compile the library: Makefile, Linker
Script and common includes.

sam/4l: SCIF function to start OSC.

sam/4l: GPIO Enable/Disable and Multiplexing configuration functions.

sam/4l: PLL Clock configuration.

sam/4l: Peripheral clock configuration and basic USART support.

sam: USART Character length configuration.

sam/4l: Generic Clock configuration functions.

sam/4l: Analog to Digital Converter Interface (ADCIFE) basic support.
2018-04-14 18:40:54 +00:00
George Jiglau b4f195b488 genlink: Remove old genlink makefiles 2018-04-14 18:40:54 +00:00
George Jiglau 974ca8a652 genlink: Update genlink tests 2018-04-14 18:40:54 +00:00
George Jiglau 396701808d genlink: Rewrite genlink script from awk to python
This removes the dependency on awk and should fix #732
python was already a dependency, for the irq generation
2018-04-14 18:40:54 +00:00
Guillaume Revaillot f63090d9b6 devices.data: add stm32f071?8 2018-03-28 11:53:10 +02:00
Guillaume Revaillot 613ecc9046 devices.data: add stm32f091?[bc] 2018-03-28 11:53:05 +02:00
Guillaume Revaillot 0c578fe11b devices.data: add stm32f070?[6b] 2018-03-28 11:52:59 +02:00
Guillaume Revaillot ca35b89c32 devices.data: add stm32f030?c 2018-03-28 11:36:58 +02:00
Karl Palsson c93c8676e6 ld: devices.data: simply l4 a little
Join some of the paired devices that differ only by encryption periphs
2018-03-24 21:11:23 +00:00
Tom Verbeure dba2430c89 Add full STM32L4 family memory sizes 2018-03-24 18:06:41 +00:00
Karl Palsson fcd06c6cae devices.data: add more efm32hg variants
Some of the F32 devices only have 4k RAM
2018-03-02 22:42:04 +00:00
Sebastian Holzapfel a86948ec6e efm32hg: add basic makefile, interrupts, device information 2018-03-02 22:42:04 +00:00
Christian Tacke 914521de90 Add RAM3 support for L4-Plus to linker generation
This only adds basic support.
Specific settings still need to be added.
2018-02-22 23:51:17 +00:00
Karl Palsson 953bf531ea awk->gawk: Make the gawk dependency explicit
Until https://github.com/libopencm3/libopencm3/issues/732 has been
fixed, it's not enough to just have it in the README that you need GNU
awk.  Explicitly use the "gawk" command name.  This exists on (sane)
systems that have gawk as awk, and for systems that use mawk as default,
the gawk name should also exist.

This should make it significantly easier to diagnost the cause of build
problems.
2017-11-19 20:52:05 +00:00
Karl Palsson b4c4b4c3f9 devices.data: add stm32f105x8
Reported-by: Karl Hammar <karl@aspodata.se>
2017-06-17 21:58:46 +00:00
Garret Kelly ce615ad7c8 devices.data: stm32f0: add stm32f042x[46] devices 2017-04-30 19:55:24 -04:00
Karl Palsson d260f5c539 stm32l476: split sram sections for ld generator
The 128K of SRAM on the l476 devices is 96K of "normal" sram, and 32K of
parity SRAM at a different offset.

Fixes: https://github.com/libopencm3/libopencm3/issues/754
2017-03-30 21:48:07 +00:00
Matthew Lai 4a378a729a devices.data: stm32f7: added all STM32F7 chips (as Feb, 2017) 2017-02-28 16:57:28 +00:00
Karl Palsson cd9ae5e6d7 eeprom: drop support from linker scripts.
While the NOLOAD variant sometimes worked with some toolchains, the
version in the generator scripts could never work, as neither the
startup code, nor gdb know how to load those sections properly.

Originally added in: eb18cc19cb

The original scripts allowed you to place variables in eeprom space for
reading only.  However, the last toolchain that generated working code
with this linker script was the gcc-arm-none-eabi-4_9-2014q4 release.
Subsequent releases treat the directives differently, and can lose track
of where variables are.  One known symptom is constants getting bad
addresses, so for instance, "printf("asdfad")" will end up passing the
wrong address of the string constant into the eventual _write() call.

This commit removes the problematic directives until a more fully
correct system can be found that more properly follows the linker
script rules.
2016-12-19 11:40:39 +00:00
Karl Palsson 571a4cff17 devices.data: stm32l0: add new devices 2016-09-09 21:22:02 +00:00
Karl Palsson 53de290fda atmel samd: Basic framework.
Thoughts: should this be a "sam0" family rather than samd?  (Much like Atmel's
own software package lumps all the cortex-m0+ devices in one family)

This was enough to get a basic blinky working at least.
2016-08-18 22:08:58 +00:00
Karl Palsson f20d433e0d devices.data: add lm3s6965 2016-08-18 22:08:58 +00:00
Karl Palsson 374796c1fd devices.data: fix case on stm32f072xb
this is the part on the f072 discovery board.  The devices.data file is
expected to be already lowercased, while the user provided DEVICE= variable is
then lowercased.
2016-08-18 22:07:36 +00:00
Jonas Meyer 06aa6f1b16 devices.data: Add several chips
Added lpc43xx to devices.data

For now all lpc43 chips resolve to their cortex-m4 variant. How m0 should
be handled is to be determined later.

devices.data: add some vf6xx and lm4f support. fix typos

devices.data: added missing lpc13 family group

devices.data: fix lm4f with info from examples

devices.data: add some vf610 info

devices.data: add some entries for examples
2016-08-18 22:07:36 +00:00
Jonas Meyer c025dc0327 mk/genlink: change devices.data format to remove gcc specific options
As discussed with karlp on irc the devices.data file should not contain
gcc specific command line options.

For that reason the command line options for gcc are now generated from
the variables CPU and FPU by the rules in the mk directory.

This breaks the genlink tests.

genlink: simplified devices.data

devices.data already had the information about the family name.
By using the first field (by the pattern used to match it) as family name information that data doesn't
have to be provided explicitly. The same data is used to generate the
CPPFLAGS, such as -DSTM32F1

The architectures block of the devices.data file was redundant.

genlink-config.mk uses family and subfamily to figure out which libopencm3
variant actually exists.
2016-08-18 22:07:36 +00:00
Karl Palsson 6d4a7d1d0c devices.data: fix f7 and l0 tech details
f7 has -mfpu=fpv5-sp-d16 in the lib makefile, devices.data should have
the same setting.
l0 is a cortex m0+, not a cortex m0, and uses cortex-m0plus in the
library makefile, and should have the same setting in the devices.data
file.
2016-02-05 12:30:24 +00:00
Constantine Verutin 2eade079a9 Fix flash size for stm32f401x(D|E) in devices.data. According to
datasheet(http://www.st.com/st-web-ui/static/active/en/resource/technical/document/datasheet/DM00102166.pdf,
page 11) stm32f401xD has 384 Kb of flash and stm32f401xE has 512.
2015-12-02 10:15:09 +00:00
Karl Palsson d0ac7feb3b stm32l4: Add linker generation support 2015-11-11 00:51:50 +00:00
Frantisek Burian 3ef2c38120 [stm32f7] Add initial support of the family, GPIO support.
Most changes are noise from doxygen.
Readme udpated to explain newer FP_FLAGS for m7
stm32f7 library is skipped if the toolchain doesn't support it yet.
2015-10-15 10:34:28 +00:00
Hunz 9217a5f888 ld generator: add STM32F302x8 2015-10-11 18:46:25 +00:00
Hanspeter Portner 15a6103f8e stm32f3: ld: stm32f3x3x[bc] have 32K/40K RAM only.
Correct memory sizes in ld/devices.data for:

* stm32f3[01]3?c from RAM=48K to RAM=40K.
* stm32f303?b from RAM=40K to RAM=32K.

Reviewed-by: Karl Palsson <karlp@tweak.net.au>
2015-09-07 20:52:34 +00:00
Jeff Epler ef97de242e stm32: f373: support the 373xc devices
These devices have 32kiB RAM and 256kiB flash and are otherwise
register compatible with the f373x8 and f373xc devices.

Signed-off-by: Jeff Epler <jepler@unpythonic.net>
2015-02-05 22:55:51 -08:00
Frantisek Burian f9152eb00a [stm32l0] Initial support for STM32L0 architecture, Add GPIO peripheral 2014-10-15 19:31:41 +02:00
Felix Held 26edb8ec42 [sam3s8] add flash size information for linker script generator 2014-02-24 02:32:38 +01:00
Frantisek Burian 10b4010097 [GENLINK] Updated definitions of memory sizes
Updated according versions of datasheets:

STM32F030 DS9773  v1.0
STM32F031 DS10111 v1.0
STM32F050 DS9262  v1.0
STM32F051 DS8668  v4.0 (updated RAM size)
STM32F071 DS10009 v1.0
STM32F072 DS9826  v1.0

F1, F2 and F3 have no changes and no new datasheets.

STM32F401 DS9716  v2.1
STM32F401 DS10086 v1.0
STM32F405 DS8626  v4.0
STM32F415 DS8597  v4.0
STM32F427 DS9405  v3.0
STM32F439 DS9484  v4.0

STM32L151 DS6876  v9.0
STM32L152 DS8576  v6.0
STM32L152 DS8890  v6.0
STM32L162 DS8669  v4.0
STM32L162 DS8928  v5.0
STM32L100 DS9496  v1.0
STM32L100 DS9821  v1.0
2014-02-07 07:46:52 +01:00
Felix Held 1f702cd940 fix base adresses in sam3 devices with multiple sram blocks, add nfc section 2014-02-06 23:01:50 +01:00
Frantisek Burian b7785100c8 Add support of splitting parameter classes to ARCH, DEFS, LIB
in ARCH, there are all -m flags (will be expanded into ARCH_FLAGS in Makefile)
in DEFS, there are all -D flags (will be expanded into DEFS in Makefile)
in LIB, there are all -l flags (will be expanded into LIBNAME in Makefile)

If no MODE option specified, the generator behaves as in previous version.
2014-01-12 00:21:33 +01:00
BuFran 33f75a529d [LINKER] Fix the -m parameter 2014-01-02 21:50:02 +01:00
BuFran bebcd88431 [LINKER] Clear ARCH_FLAGS if the DEVICE is specified 2014-01-02 21:50:02 +01:00
BuFran f015c8209b [LINKER] Add ARCH_FLAGS to linker definition file 2014-01-02 21:50:02 +01:00
BuFran d15a0e63fe [LINKER] Add single underscore to all definitions, no -D for dashed param.
This makes possibility for the script to append the definitions to CFLAGS
and LDFLAGS, and with the feature of disabling of -D prependation it will
make possible to generate ARCH_FLAGS generic to each specific chip.
2014-01-02 21:50:02 +01:00
BuFran ea589b9a4e [BUILD] Updated to make from examples directory correctly 2014-01-02 21:50:02 +01:00
BuFran 6a41e5fccb [GENLINK] Moved linker template source to ld directory 2014-01-02 21:50:02 +01:00
BuFran 08e08f5f84 [GENLINK] Edit the documentation to match current version 2014-01-02 21:50:02 +01:00
BuFran ff3b177c47 [GENLINK] Add test patterns 2014-01-02 21:50:01 +01:00
BuFran 89236f0339 [GENLINK] Add Test suite + simple test 2014-01-02 21:50:01 +01:00
BuFran ea5bbdc08c Add Example makefile to linker script generator dir 2014-01-02 21:50:01 +01:00
BuFran d38f3bbde5 Add Readme to linker script generator dir 2014-01-02 21:50:01 +01:00