Go to file
Björn Bergman 128698fd36 cmake: userspace: A stab at USERSPACE + CMAKE_LINKER_GENERATOR
All in all this makes cmake linker generator able to work for at least
most of the kernel tests and samples, on cortex m4.

Make the cmake linker generator have a file-structure more similar to
the ld-skeletons.

Add or edit groups, sections and logic to make the generator reflect
what the ld-skeletons do, esp. for kobjects and APP_SMEM, nonint and
some other details are also effected.

Use the new zephyr_linker_include_generated() and
zephyr_linker_include_var() functions to to handle
${DEVICE_API_LINKER_SECTIONS_CMAKE}, the kobject-prebuilt-*.h files and
APP_SMEM partition. Essentially the output from gen_app_partitions.py,
gen_kobject_placeholders.py.

Add ALIGN_WITH_INPUT on sections being put into DATA_REGION. This makes
the init layout work for ld.

This leverages the updates in gen_app_partitions.py to generate its
output as cmake linker generator sections too, and puts them into a
group defined in linker.cmake

Setup generator variables for alignment of APP_SMEM. Note that this does
not yet handle MPU_ALIGN which depends on the size of the section...

Fix broken k_object_assignment iterable section

Signed-off-by: Björn Bergman <bjorn.bergman@iar.com>
2025-03-27 17:17:03 +01:00
.github ci: use gh managed tokens in workflows 2025-03-26 00:46:32 +01:00
arch everywhere: Replace diagnostic pragmas with TOOLCHAIN_* macros 2025-03-20 21:57:47 +01:00
boards boards: silabs: siwx91x: Fix compatibility with BTP 2025-03-27 14:02:23 +01:00
cmake cmake: userspace: A stab at USERSPACE + CMAKE_LINKER_GENERATOR 2025-03-27 17:17:03 +01:00
doc boards: st: nucleo_wba52cg: Remove the support of Nucleo WBA52CG board 2025-03-26 21:55:39 +01:00
drivers drivers: adc: adc_ads1x4s0x remove duplicated initialiser 2025-03-27 14:01:32 +01:00
dts boards: litex: vexriscv: add litei2c controller 2025-03-27 14:01:11 +01:00
include/zephyr cmake: userspace: A stab at USERSPACE + CMAKE_LINKER_GENERATOR 2025-03-27 17:17:03 +01:00
kernel kernel/sched: Re-sort waitq on priority change 2025-03-24 07:58:36 +01:00
lib lib: open-amp: optional copy of rsc_table to memory region 2025-03-24 12:17:53 +01:00
misc license: Remove non-copyrightable license 2025-02-26 22:04:51 +00:00
modules modules: mbedtls: Expose MBEDTLS_RSA_C 2025-03-27 03:50:15 +01:00
samples boards: adafruit: esp32s2_feather: add support 2025-03-27 14:01:21 +01:00
scripts scripts: Make gen_app_partitions.py cmake linker generator savvy 2025-03-27 17:17:03 +01:00
share infrastructure: Remove hwmv1 support 2025-03-13 16:53:07 +00:00
snippets snippets: add nRF54L20pdk FLPR core snippet 2025-03-19 10:57:18 +01:00
soc dts: renesas: smartbond: Add DA14697 dtsi 2025-03-26 21:56:22 +01:00
submanifests modules: optional: Bring in release fixes for Rust 2025-02-26 15:05:06 +01:00
subsys Bluetooth: Mesh: Fix proxy after board reboot 2025-03-27 14:02:12 +01:00
tests tests: fat_fs_api: fix main-stack overflow for the RAM-disk case 2025-03-27 14:02:03 +01:00
.checkpatch.conf checkpatch: Adapt the braces check to Zephyr 2024-12-30 21:46:47 +01:00
.clang-format clang-format: add more whitespace sensitive macros 2024-12-19 08:39:10 +01:00
.codechecker.yml tests: Add a CodeChecker config file 2024-09-12 10:04:05 +02:00
.codecov.yml
.editorconfig
.gitattributes
.gitignore scripts: ci: check_compliance: Add sysbuild Kconfig checks 2025-01-17 16:35:53 +01:00
.gitlint
.mailmap mailmap: remove duplicate emails and normalize mapping entries 2025-01-09 14:14:10 +01:00
.ruff-excludes.toml twister: Refactor python module to follow PEP8 rules 2025-03-07 19:49:42 +01:00
.ruff.toml scripts: Update and lock ruff 2024-12-03 23:30:00 +00:00
.yamllint
CMakeLists.txt cmake: userspace: A stab at USERSPACE + CMAKE_LINKER_GENERATOR 2025-03-27 17:17:03 +01:00
CODE_OF_CONDUCT.md
CODEOWNERS ci: add empty CODEOWNERS file 2025-03-27 09:50:45 +01:00
CONTRIBUTING.rst
Kconfig
Kconfig.constants kconfig: Add variables for integer constants 2024-07-27 20:49:15 +03:00
Kconfig.zephyr logging: Added config to disable vla in statements 2025-03-11 18:55:08 +01:00
LICENSE
MAINTAINERS.yml modules: hal_nxp: Move hal_nxp glue layer to zephyr repo 2025-03-26 16:26:34 +01:00
README.rst README: drop the stray link underscores between badges 2024-09-26 15:20:39 +01:00
SDK_VERSION SDK_VERSION: Use Zephyr SDK 0.17.0 2024-10-22 19:04:37 -04:00
VERSION VERSION: bump to 4.1.99 2025-03-07 17:36:15 +00:00
version.h.in version.h.in: Do not use @template@ 2024-05-24 18:05:41 -04:00
west.yml boards: st: nucleo_wba52cg: Remove the support of Nucleo WBA52CG board 2025-03-26 21:55:39 +01:00
zephyr-env.cmd
zephyr-env.sh

.. raw:: html

   <a href="https://www.zephyrproject.org">
     <p align="center">
       <picture>
         <source media="(prefers-color-scheme: dark)" srcset="doc/_static/images/logo-readme-dark.svg">
         <source media="(prefers-color-scheme: light)" srcset="doc/_static/images/logo-readme-light.svg">
         <img src="doc/_static/images/logo-readme-light.svg">
       </picture>
     </p>
   </a>

   <a href="https://bestpractices.coreinfrastructure.org/projects/74"><img src="https://bestpractices.coreinfrastructure.org/projects/74/badge"></a>
   <a href="https://scorecard.dev/viewer/?uri=github.com/zephyrproject-rtos/zephyr"><img src="https://api.securityscorecards.dev/projects/github.com/zephyrproject-rtos/zephyr/badge"></a>
   <a href="https://github.com/zephyrproject-rtos/zephyr/actions/workflows/twister.yaml?query=branch%3Amain"><img src="https://github.com/zephyrproject-rtos/zephyr/actions/workflows/twister.yaml/badge.svg?event=push"></a>


The Zephyr Project is a scalable real-time operating system (RTOS) supporting
multiple hardware architectures, optimized for resource constrained devices,
and built with security in mind.

The Zephyr OS is based on a small-footprint kernel designed for use on
resource-constrained systems: from simple embedded environmental sensors and
LED wearables to sophisticated smart watches and IoT wireless gateways.

The Zephyr kernel supports multiple architectures, including ARM (Cortex-A,
Cortex-R, Cortex-M), Intel x86, ARC, Nios II, Tensilica Xtensa, and RISC-V,
SPARC, MIPS, and a large number of `supported boards`_.

.. below included in doc/introduction/introduction.rst


Getting Started
***************

Welcome to Zephyr! See the `Introduction to Zephyr`_ for a high-level overview,
and the documentation's `Getting Started Guide`_ to start developing.

.. start_include_here

Community Support
*****************

Community support is provided via mailing lists and Discord; see the Resources
below for details.

.. _project-resources:

Resources
*********

Here's a quick summary of resources to help you find your way around:

Getting Started
---------------

  | 📖 `Zephyr Documentation`_
  | 🚀 `Getting Started Guide`_
  | 🙋🏽 `Tips when asking for help`_
  | 💻 `Code samples`_

Code and Development
--------------------

  | 🌐 `Source Code Repository`_
  | 📦 `Releases`_
  | 🤝 `Contribution Guide`_

Community and Support
---------------------

  | 💬 `Discord Server`_ for real-time community discussions
  | 📧 `User mailing list (users@lists.zephyrproject.org)`_
  | 📧 `Developer mailing list (devel@lists.zephyrproject.org)`_
  | 📬 `Other project mailing lists`_
  | 📚 `Project Wiki`_

Issue Tracking and Security
---------------------------

  | 🐛 `GitHub Issues`_
  | 🔒 `Security documentation`_
  | 🛡️ `Security Advisories Repository`_
  | ⚠️ Report security vulnerabilities at vulnerabilities@zephyrproject.org

Additional Resources
--------------------
  | 🌐 `Zephyr Project Website`_
  | 📺 `Zephyr Tech Talks`_

.. _Zephyr Project Website: https://www.zephyrproject.org
.. _Discord Server: https://chat.zephyrproject.org
.. _supported boards: https://docs.zephyrproject.org/latest/boards/index.html
.. _Zephyr Documentation: https://docs.zephyrproject.org
.. _Introduction to Zephyr: https://docs.zephyrproject.org/latest/introduction/index.html
.. _Getting Started Guide: https://docs.zephyrproject.org/latest/develop/getting_started/index.html
.. _Contribution Guide: https://docs.zephyrproject.org/latest/contribute/index.html
.. _Source Code Repository: https://github.com/zephyrproject-rtos/zephyr
.. _GitHub Issues: https://github.com/zephyrproject-rtos/zephyr/issues
.. _Releases: https://github.com/zephyrproject-rtos/zephyr/releases
.. _Project Wiki: https://github.com/zephyrproject-rtos/zephyr/wiki
.. _User mailing list (users@lists.zephyrproject.org): https://lists.zephyrproject.org/g/users
.. _Developer mailing list (devel@lists.zephyrproject.org): https://lists.zephyrproject.org/g/devel
.. _Other project mailing lists: https://lists.zephyrproject.org/g/main/subgroups
.. _Code samples: https://docs.zephyrproject.org/latest/samples/index.html
.. _Security documentation: https://docs.zephyrproject.org/latest/security/index.html
.. _Security Advisories Repository: https://github.com/zephyrproject-rtos/zephyr/security
.. _Tips when asking for help: https://docs.zephyrproject.org/latest/develop/getting_started/index.html#asking-for-help
.. _Zephyr Tech Talks: https://www.zephyrproject.org/tech-talks