{"id":20885349,"url":"https://github.com/lab11/nrf9x-base","last_synced_at":"2025-08-07T18:39:34.880Z","repository":{"id":145294062,"uuid":"222575774","full_name":"lab11/nrf9x-base","owner":"lab11","description":"Starting point and shared code for Nordic nRF9x platforms.","archived":false,"fork":false,"pushed_at":"2020-02-10T22:14:05.000Z","size":114,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":17,"default_branch":"master","last_synced_at":"2025-01-19T10:43:33.805Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lab11.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-11-19T00:54:50.000Z","updated_at":"2020-02-10T22:14:03.000Z","dependencies_parsed_at":null,"dependency_job_id":"eaa7add9-ad11-4eae-a46d-453564881ee6","html_url":"https://github.com/lab11/nrf9x-base","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lab11%2Fnrf9x-base","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lab11%2Fnrf9x-base/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lab11%2Fnrf9x-base/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lab11%2Fnrf9x-base/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lab11","download_url":"https://codeload.github.com/lab11/nrf9x-base/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243267288,"owners_count":20263799,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-18T08:13:13.187Z","updated_at":"2025-03-12T17:45:09.586Z","avatar_url":"https://github.com/lab11.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"Nordic nRF9x Support Files\n==========================\n\nStarting point and shared code for Nordic nRF9x platforms. Pull requests are\nwelcome!\n\nUsage\n-----\n\n### Submodule\n\nAdd this project as a submodule inside of your repo with your nRF9x code.\n\n    git submodule add https://github.com/lab11/nrf9x-base\n\nThen, follow the toolchain setup instructions below.\n\nInclude a `Makefile` that looks like this:\n\n    PROJECT_NAME = $(shell basename \"$(realpath ./)\")\n\n    # Configuration\n    BOARD = nrf9160_pca10090ns\n\n    # Source and header files\n    APP_HEADER_PATHS += .\n    APP_SOURCE_PATHS += .\n    APP_SOURCES = $(notdir $(wilecard ./*.c))\n\n    # Include the main Makefile\n    BASE_DIR ?= ../..\n    include $(BASE_DIR)/make/AppMakefile.mk\n\nGenerally, the expected directory structure for your project is:\n\n    /apps\n        /\u003capplication 1\u003e\n        /\u003capplication 2\u003e\n        ...\n    /src\n        various platform-level code (e.g. functions shared between applications)\n    /include\n        various platform-level headers (e.g. platform pin mappings)\n    /nrf9x-base (submodule)\n\n### Standalone\n\nFollow the toolchain setup instructions below.\n\nDevelop your application code in `/apps/\u003cyour_app\u003e`, and include a `Makefile`\nidentical to the example above.\n\n#### Example\n\nThis repo has an example \"blinky\" application in this style at `/apps/blink`.\n\nSetting up the toolchain\n------------------------\n\nThe nRF9x boards (e.g. nRF9160) use the [nRF Connect\nSDK](https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/nrf/getting_started.html),\nwhich involves a significant amount of first-time setup. It can be installed in\na number of ways:\n\n### nRF Connect for Desktop\n_(successfully tested on Ubuntu 18.04.4 LTS)_\n\n1. Download and install [nRF Connect for\n   Desktop](https://www.nordicsemi.com/Software-and-Tools/Development-Tools/nRF-Connect-for-desktop/Download#infotabs)\n\n2. Open nRF Connect after installation. Check for updates by going to\n   \"Settings\" -\u003e \"Check for updates now\" (instructions last tested with\n   v3.0.0).\n\n3. Go to \"Add/remove apps\" and install the \"Getting Started Assistant\", \"LTE\n   Link Monitor\", and \"Programmer\" apps.\n\n4. Launch the \"Getting Started Assistant\" from the \"Launch app\" tab (last\n   tested with v1.0.1).\n\n5. Complete the \"Install the toolchain\" section of the Getting Started\n   Assistant.\n\n### Mac or Linux\n_Do this if you already have an Ubuntu image setup for development, a Mac, or\nwant to install manually (tested)._\n\nFollow the \"Installing the required tools\" and \"Installing the toolchain\"\nsections of:\n\n- [nRF Connect SDK steps for installing on Linux](https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/nrf/gs_ins_linux.html)\n- [nRF Connect SDK steps for installing on macOS](https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/nrf/gs_ins_mac.html)\n\nWe don't support Windows development directly (although you can find\ninstallation instructions in the nRF Connect SDK documentation). Consider\nrunning an Ubuntu VM and following the directions above.\n\n### All platforms\n\nFinally, after installing the correct toolchain, do the following:\n\n\u003c!--TODO Dynamically set environment variables on every build rather than storing in .bashrc? --\u003e\n\n1. Add the following to your `~/.bashrc` file if not already present (assumes\n   `arm-none-eabi` toolchain):\n\n        export ZEPHYR_TOOLCHAIN_VARIANT=gnuarmemb\n        export GNUARMEMB_TOOLCHAIN_PATH=\u003cpath_to_arm_gcc\u003e\n        export ZEPHYR_BASE=\u003cpath_to_nrf9x_base\u003e/zephyr\n\n2. Refresh your `bashrc`:\n\n        $ source ~/.bashrc\n\n3. Configure the project, which installs `west` (the meta-utility that manages\n   ZephyrOS), downloads required repositories, and installs Python\n   requirements, by running the provided script:\n\n        $ sudo ./configure\n\n   If you run into path errors (e.g. `-bash: west: command not found`), check\n   that your `$PATH` includes `~/.local/bin`, where Python packages are commonly\n   installed on Ubuntu.\n\nFlashing\n--------\n\nProgram your app, having connected to the target board over USB or JLink.\n\n    make flash\n\nYou can use the LTE Link Monitor in the nRF Connect for Desktop app or listen\nto output over serial with `miniterm` if it's installed:\n\n    make serial\n\nAdditional Reading\n------------------\n\n- For cellular applications, read through this\n[documentation](https://devzone.nordicsemi.com/nordic/cellular-iot-guides/b/getting-started-cellular/posts/nrf-connect-sdk-tutorial)\nto learn how everything works in the background.\n\n- If you're using submodules in your project, you may want to use this to make\n  git automatically update them: https://gist.github.com/brghena/fc4483a2df83c47660a5\n    \nTroubleshooting\n---------------\n\n#### CMake and `arm-none-eabi-gcc`\n\nYou may need to upgrade to the latest versions of\n[CMake](https://cmake.org/download/) and\n[gcc-arm-none-eabi](https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm/downloads).\nMake sure to verify your have upgraded using:\n\n    cmake --version\n    arm_none_eabi_gcc --version \n    \nIf the versions are not upgraded, you may need to add the directories to your\nPATH as well.\n\nLicense\n-------\n\nThe files in this repository are licensed under the MIT License unless\notherwise noted by the local directory's README and license files.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flab11%2Fnrf9x-base","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flab11%2Fnrf9x-base","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flab11%2Fnrf9x-base/lists"}