Commit Graph

87 Commits

Author SHA1 Message Date
Peter Rasmussen
3272a7a1f1 devices.data: expand stm32g[01] chip series
More parts added.
Reviewed-by: Karl Palsson <karlp@tweak.au>
2024-01-17 22:20:13 +00:00
Karl Palsson
f58ffd4ba7 ld: add stm23l412xx parts
Reported: https://github.com/libopencm3/libopencm3/pull/1449

Signed-off-by: Karl Palsson <karlp@tweak.au>
2023-02-03 00:23:18 +00:00
Sebastien Lorquet
84a59d925d devices.data: stm32h7: fix fpu and mem offsets
Filed via: https://github.com/libopencm3/libopencm3/pull/1451

We've decided that the 1 based numbering is saner, and should be the new
norm going forwards, even though SAM3 and LPC both use zero based
numbering.

Reviewed-by: Karl Palsson <karlp@tweak.au>
2023-01-05 12:13:53 +00:00
Stéphane Chevigny
203202e939 Add nrf51822 device in devices.data 2022-05-04 18:56:40 -04:00
Karl Palsson
9209bde784 devices.data: drop invalid TI board name part.
As pointed out, this is not an actual part number, but a board id.
2022-04-13 20:24:18 +00:00
Stefan Tauner
93e0ccaf26 devices.data: add TI Cortex M4 chips except MSP432
Based on the following chip selection guides:
 - https://www.ti.com/lit/spmt285 (TM4C)
 - https://www.ti.com/lit/spmt273 (LM4F)
2022-04-13 20:22:24 +00:00
Stefan Tauner
778318c307 ld: add symbols for starts and ends of all regions
This makes the boundaries accessible from within the code,
e.g., to set up the MPU.
2022-04-07 02:35:19 +02:00
Stefan Tauner
20c0cfb650 ld: fix typo in ram5 definition 2022-04-07 02:35:19 +02:00
Eduard Drusa
5c65f0f653 STM32H7: Add support for RAM4 & RAM5, cleanup
* added: Linker script adds support for RAM4 and RAM5 memory regions, so
  that those are usable by code. This also fixes the fact that RAM4 was
  declared, but inaccessible previously
* changed: RAM1 is renamed to RAM2, shifting numbering of all regions.
  This is done in order to be in line with other STM32 definitions,
  similarly ROM1 became ROM2.
2022-03-03 09:45:03 +00:00
Eduard Drusa
af3b62cc18 STM32H7: Fix FP spec
* fixed: Use correct FP spec for H7
2022-03-03 09:45:03 +00:00
Eduard Drusa
96ae7ff38a STM32H7: Add linker support for STM32H7[2345] families
* added: device data for STM32H7[2345] MCUs. CPU spec prefers presence of
  Cortex-M7 core, where Cortex-M7 and Cortex-M4 are both present
2022-03-03 09:45:03 +00:00
Eduard Drusa
213a6b4244 Initial merge of Nordic Semi nRF51/52 from Unicore MX back into Libopencm3
* merged: nrf tree from unicore-mx
* fixed: small changes to make merged code play with rest of locm3 again
* added: linker script generator defines for nRF51/52 stubs
* added: doxygen support

This removes code and changes names and styles where relevant to be more
inline with normal libopencm3.

NRF52x library is built for hardfloat, M4F by default.  The M4 no float
variants are less common, and if needed, the library can be built
manually for those variants.  Unless some very common boards show up
using those parts, we don't need an extra library build.

Reviewed-by: Karl Palsson <karlp@tweak.net.au>
Tested-by: Karl Palsson <karlp@tweak.net.au>
2021-12-05 16:52:36 +00:00
Karl Palsson
aab1a67344 devices.data: add more samd10 / samd20 / samd21 devices
Fill out the product lines more fully.
2021-11-09 10:12:53 +00:00
Chris Chronopoulos
474ca02a60 devices.data: add samd09?13* and samd21?18* 2021-11-09 00:25:20 -08:00
Stephen Holdaway
6f9f40a7e4 devices.data: add STM32G05x and STM32G06x parts with 18K RAM 2021-07-01 22:05:52 +00:00
Karl Palsson
b88196f807 ld: support ".ramtext" section hook to place functions in ram
We already had the hooks for ccmram and ram1 and ram2 and ram3 and xsram
for "other" ram sections, but there was no method, out of the box, for
placing a function in "normal" ram.  The "easy" method of labelling a
function as ".data.someramfunc" causes warnings because code isn't meant
to have a name like ".data*" so we must explicitly add a new code
section.

Signed-off-by: Karl Palsson <karlp@tweak.net.au>
2020-11-28 22:13:25 +00:00
Karl Palsson
54319107b0 ld: support ".noinit*" uninitialized ram section
Add support for a section(s) ".noinit*" that will be allocated in ram,
but not cleared or initialized.  This can be used for passing variables
between a bootloader and an app for instance, or even just between
restarts of your application.

Without any assigned usages of the section, there is zero change in ram
usage.  The align does nothing when the prior section was already
aligned.
2020-11-28 22:13:25 +00:00
Guillaume Revaillot
e2299f14f2 devices.data: add stm32g030x6 and x8 chips 2020-04-24 10:25:33 +02:00
Karl Palsson
418b609230 devices.data: stm32g4: _actually_ finish adding
Missed the CCM, missed the chain heads for the family itself.
2020-04-10 13:44:04 +00:00
Karl Palsson
4e70d06d63 stm32g4: Add basic support
* memorymap
* vectors
* rcc
* gpios
* makefiles
* devices for linker script generation
* doc structure
2020-04-09 23:29:00 +00:00
Jakob Haufe
d0d23cff07 ld: lpc17xx: Fix RAM2_OFF on LPC17[78]x
- RAM2_OFF is at 0x20004000 (see UM10470 page 15)
- 0x20040000 is not a valid address on LPC17[78]x
2020-01-31 20:52:12 +00:00
Brian Viele
dd18b9fdbc Qorvo pac55xx: initial support
Qorvo (Nee Active Semi) PAC55xx "Intelligent Motor Control" parts,
cortex-m4 SoCs
2019-11-26 23:28:02 +00:00
Karl Palsson
6d9139934c devices.data: add some more l0 parts 2019-10-22 10:35:04 +00:00
Karl Palsson
88b32e3ac0 devices.data: stm32f4: add all missing parts 2019-10-22 10:23:18 +00:00
Eivind Alexander Bergem
af0509826d devices.data: Added stm32f410 2019-10-22 09:04:53 +02:00
Caleb Szalacinski
3c4ee6f4c0 SWM050: Finishes GPIO, IAP flash, sysclock, sleep/stop, and the sysctl memory map.
Updates the main memory map and the makefile.
Adds the SWM050 to devices.data, so that a linker script can be automatically generated.

Reviewed-by: Karl Palsson <karlp@tweak.net.au>
2019-10-17 11:41:33 +00:00
Karl Palsson
b5d66ee63f devices.data: add all missing stm32f3 parts
Filled missing variants, added missing families, corrected one or two
mistakes in ccm availability

Fixes: https://github.com/libopencm3/libopencm3/pull/1109
2019-10-03 11:37:47 +00:00
Matthew Lai
5fbe5c8c47 devices.data: Added STM32F7 value line devices with 64K flash 2019-09-23 22:45:36 +00:00
Karl Palsson
b0c3de8d85 devices.data: add missing stm32f301 parts
Fixes: https://github.com/libopencm3/libopencm3/issues/1098
2019-09-03 22:23:26 +00:00
Karl Palsson
7ff54cb7f0 devices.data: add more stm32l1 parts
Fixes some eeprom sizes, and adds all the -a and -x suffix parts.
Note that the explicit endings must be listed _before_ the base parts,
otherwise the matcher will find the wild card first.

Signed-off-by: Karl Palsson <karlp@etactica.com>
2019-08-22 10:01:11 +00:00
Sergey Shcherbakov
e75a3614a4 stm32f3: ld: Added stm32f303x6/8
Signed-off-by: Sergey Shcherbakov <shchers@gmail.com>
2019-06-18 23:33:46 +03:00
Guillaume Revaillot
b8d4b03722 stm32g0: add base, irqs, memorymap and current devices. 2019-05-20 23:43:41 +00:00
Karl Palsson
9551da6b6b devices.data: add stm32l15xx E series
Bigger brother parts, such as the l152re nucleo64 board.
2019-01-16 22:25:01 +00:00
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