Go to file
Carles Cufi 76c4591e6b cmake: gnu: Fix debugging when GDB fails to load because of Python
GDB can be built with or without Python support. When built with Python
support this can cause a particular problem: The gdb executable relies
on shared libraries that are bound to a specific Python version. But
since most Linux distributions typically ship with a single version, it
is very difficult to choose which one to target when building GDB.
When GDB executes, if it fails to load the shared libraries it will exit
immediately with an error code of 127 and output resembling this:

/home/carles/bin/zephyr-sdk/arm-zephyr-eabi/bin/arm-zephyr-eabi-gdb:
error while loading shared libraries: libpython3.8.so.1.0: cannot open
shared object file: No such file or directory

There are two known approaches to shipping multiple gdb executables:

- The Zephyr SDK ships a default gdb with Python enabled, and then a
  separate gdb-no-py executable with Python disabled
- GNU Arm Embedded ships with a default gdb with Python disabled, and an
  additional gdb-py with Python enabled

To mitigate the problem of not being able to debug, fall back to a
'gdb-no-py' if it exists whenever the standard gdb executable fails to
even run.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2021-09-23 12:47:39 +02:00
.buildkite ci: Bump to use SDK 0.13.1 2021-09-21 13:03:02 -04:00
.github ci: Bump to use SDK 0.13.1 2021-09-21 13:03:02 -04:00
arch arch: xtensa: add workaround for small vector table entries 2021-09-10 10:59:44 -04:00
boards boards: nucleo_wb55rg: Give more flash space to M0 binary 2021-09-22 09:46:26 -04:00
cmake cmake: gnu: Fix debugging when GDB fails to load because of Python 2021-09-23 12:47:39 +02:00
doc docs: Update for SDK 0.13.1 2021-09-21 13:03:02 -04:00
drivers modem: hl7800: sync APN for PDN and GPRS connection 2021-09-23 04:15:55 -04:00
dts dts: npcx: Add MDC regions 2021-09-22 10:32:11 -04:00
include net: ethernet: Refactor IPv4 to MAC multicast address conversion 2021-09-23 04:19:31 -04:00
kernel cmsis_rtos_v1: fix thread instances management. 2021-09-09 12:01:06 -04:00
lib libc: minimal: Add math macro definition 2021-09-22 06:16:31 -04:00
misc toolchain: add GEN_ABSOLUTE_SYM_KCONFIG() 2021-02-02 09:23:45 -05:00
modules stm32: Add FMAC support to Kconfig 2021-09-15 22:36:49 -04:00
samples drivers: ieee802154: remove ieee802154_radio_handle_ack() stub 2021-09-21 18:28:25 -04:00
scripts twister: fix json reporting of build only tests 2021-09-17 08:11:01 -04:00
share cmake: check zephyr version if specified and ZEPHYR_BASE is set 2021-05-25 16:48:35 -05:00
soc soc: stl32l0: Enable DMA clock instead of DBGMCU clock 2021-09-21 10:45:57 -04:00
subsys net: ethernet: Refactor IPv4 to MAC multicast address conversion 2021-09-23 04:19:31 -04:00
tests tests: ptp: Fixed PTP clock test failure on frdm_k64f 2021-09-23 04:17:40 -04:00
.checkpatch.conf checkpatch: ignore linux specific ENOSYS warning 2021-03-30 10:50:14 -05:00
.clang-format clang-format: Change lines length limit from 80 to 100 2021-05-06 08:13:32 -05:00
.codecov.yml
.editorconfig editorconfig: indent Kconfig files with tabs 2020-07-08 21:30:38 -04:00
.gitattributes gitattributes: Tell linguist to ignore test pattern files 2020-04-23 14:07:57 -04:00
.gitignore gitignore: add common Python venv directories 2021-04-20 11:30:40 -05:00
.gitlint
.mailmap mailmap: update mailmap file with some stray emails 2021-06-17 14:15:41 -04:00
.uncrustify.cfg
CMakeLists.txt cmake: compiler: Add framework for disabling C++ standard includes 2021-09-21 11:39:18 -04:00
CODE_OF_CONDUCT.md
CODEOWNERS drivers: syscon: Add support for multiple regions 2021-09-22 10:32:11 -04:00
CONTRIBUTING.rst
Kconfig
Kconfig.zephyr armclang: ARM Compiler C library support 2021-08-30 08:54:23 -04:00
LICENSE
MAINTAINERS.yml MAINTAINERS: Add modem maintainer 2021-09-20 19:29:13 -04:00
README.rst doc: Document the switch from Slack to Discord 2021-09-03 08:11:15 -04:00
VERSION release: Zephyr 2.7.0-rc2 2021-09-17 20:49:03 -04:00
version.h.in
west.yml tracing: percepio: update to v4.5.1 2021-09-17 20:21:16 -04:00
zephyr-env.cmd
zephyr-env.sh zephyr_env.sh: Remove semicolons at ends of lines 2019-12-10 14:34:46 -08:00

.. raw:: html

   <a href="https://www.zephyrproject.org">
     <p align="center">
       <img src="doc/_static/images/logo-readme.png">
     </p>
   </a>

   <a href="https://bestpractices.coreinfrastructure.org/projects/74"><img
   src="https://bestpractices.coreinfrastructure.org/projects/74/badge"></a>
   <a href="https://buildkite.com/zephyr/zephyr">
   <img
   src="https://badge.buildkite.com/f5bd0dc88306cee17c9b38e78d11bb74a6291e3f40e7d13f31.svg?branch=main"></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-M,
Intel x86, ARC, Nios II, Tensilica Xtensa, and RISC-V, 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:

* **Help**: `Asking for Help Tips`_
* **Documentation**: http://docs.zephyrproject.org (`Getting Started Guide`_)
* **Source Code**: https://github.com/zephyrproject-rtos/zephyr is the main
  repository; https://elixir.bootlin.com/zephyr/latest/source contains a
  searchable index
* **Releases**: https://github.com/zephyrproject-rtos/zephyr/releases
* **Samples and example code**: see `Sample and Demo Code Examples`_
* **Mailing Lists**: users@lists.zephyrproject.org and
  devel@lists.zephyrproject.org are the main user and developer mailing lists,
  respectively. You can join the developer's list and search its archives at
  `Zephyr Development mailing list`_. The other `Zephyr mailing list
  subgroups`_ have their own archives and sign-up pages.
* **Nightly CI Build Status**: https://lists.zephyrproject.org/g/builds
  The builds@lists.zephyrproject.org mailing list archives the CI
  (buildkite) nightly build results.
* **Chat**: Real-time chat happens in Zephyr's Discord Server. Use
  this `Discord Invite`_ to register.
* **Contributing**: see the `Contribution Guide`_
* **Wiki**: `Zephyr GitHub wiki`_
* **Issues**: https://github.com/zephyrproject-rtos/zephyr/issues
* **Security Issues**: Email vulnerabilities@zephyrproject.org to report
  security issues; also see our `Security`_ documentation. Security issues are
  tracked separately at https://zephyrprojectsec.atlassian.net.
* **Zephyr Project Website**: https://zephyrproject.org

.. _Discord Invite: https://chat.zephyrproject.org
.. _supported boards: http://docs.zephyrproject.org/latest/boards/index.html
.. _Zephyr Documentation: http://docs.zephyrproject.org
.. _Introduction to Zephyr: http://docs.zephyrproject.org/latest/introduction/index.html
.. _Getting Started Guide: http://docs.zephyrproject.org/latest/getting_started/index.html
.. _Contribution Guide: http://docs.zephyrproject.org/latest/contribute/index.html
.. _Zephyr GitHub wiki: https://github.com/zephyrproject-rtos/zephyr/wiki
.. _Zephyr Development mailing list: https://lists.zephyrproject.org/g/devel
.. _Zephyr mailing list subgroups: https://lists.zephyrproject.org/g/main/subgroups
.. _Sample and Demo Code Examples: http://docs.zephyrproject.org/latest/samples/index.html
.. _Security: http://docs.zephyrproject.org/latest/security/index.html
.. _Asking for Help Tips: https://docs.zephyrproject.org/latest/getting_started/index.html#asking-for-help