Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

merge develop into main for release v0.12.0 #569

Merged
merged 149 commits into from
Dec 19, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
149 commits
Select commit Hold shift + click to select a range
3608d58
Online docs now live
keithm-xmos Jul 25, 2022
0661bca
fixed URLs to tools docs, added top level faq
keithm-xmos Jul 28, 2022
158486a
Merge pull request #498 from xmos/fix/tools_documentation_urls
keithm-xmos Jul 28, 2022
8c87d7e
Update submodules for test
xmos-jmccarthy Aug 9, 2022
a6921be
Update HIL library
xmos-jmccarthy Aug 11, 2022
bbd0005
Update rtos submodule to develop
xmos-jmccarthy Aug 11, 2022
4ab9ae2
Improve cmake doc
xmos-jmccarthy Aug 11, 2022
619b4a3
Fix typo
xmos-jmccarthy Aug 11, 2022
e1e3205
Update rtos submodule
xmos-jmccarthy Aug 11, 2022
f1b3e3d
Merge pull request #506 from xmos/feature/cmake_doc_update
keithm-xmos Aug 14, 2022
7f3eafb
Merge pull request #503 from xmos/bugfix/spi_and_qspi_driver_status_reg
xmos-jmccarthy Aug 15, 2022
65f1720
Update rtos submodule
xmos-jmccarthy Aug 24, 2022
2a3c621
Update rtos submodule to develop
xmos-jmccarthy Aug 24, 2022
a966e4f
Merge pull request #511 from xmos/feature/mic_array_driver_memory
xmos-jmccarthy Aug 24, 2022
53a3e54
Update jenkins shared library version
BrennanGit Sep 1, 2022
1945851
Merge pull request #514 from BrennanGit/feature/xjsl_0.20
BrennanGit Sep 2, 2022
0120a4a
Add nonfunctional xlink example
xmos-jmccarthy Sep 6, 2022
c56e57d
added tip to install Windows commanld line tools
keithm-xmos Sep 6, 2022
f556578
Update submodule for lib_trycatch
xmos-jmccarthy Sep 6, 2022
575a502
added documentation refs
keithm-xmos Sep 6, 2022
e934f3f
Merge pull request #515 from xmos/fix/doc_updates
keithm-xmos Sep 6, 2022
fa56c03
Add some debug
xmos-jmccarthy Sep 9, 2022
b90afe7
Functional xlink example
xmos-jmccarthy Sep 12, 2022
87b1be2
Minor cleanup
xmos-jmccarthy Sep 12, 2022
440898b
Remove xscope. Cleanup initialization
xmos-jmccarthy Sep 14, 2022
a3324fe
Add documentation and cleanup example
xmos-jmccarthy Sep 14, 2022
92b68c4
Update core submodule
xmos-jmccarthy Sep 14, 2022
6d8fa13
Merge branch 'develop' into feature/xlink_example
xmos-jmccarthy Sep 14, 2022
d4e63d1
Merge pull request #518 from xmos/feature/xlink_example
xmos-jmccarthy Sep 15, 2022
35fb2f9
Fix run_test.sh script paths
xmos-jmccarthy Sep 16, 2022
72671c8
Update i2c tests
xmos-jmccarthy Sep 16, 2022
572a0f1
Fix run_test.sh script paths
xmos-jmccarthy Sep 16, 2022
5353e18
Merge branch 'develop' into feature/i2c_slave_ack_nack_update
xmos-jmccarthy Sep 16, 2022
a082839
Update rtos submodule
xmos-jmccarthy Sep 16, 2022
bc00cc2
Update rtos submodule
xmos-jmccarthy Sep 16, 2022
12d5897
added xscope_fileio submodule
keithm-xmos Sep 23, 2022
d8aae2f
Merge pull request #520 from xmos/feature/i2c_slave_ack_nack_update
xmos-jmccarthy Sep 26, 2022
7fd5b85
Add i2c write request callback
xmos-jmccarthy Sep 26, 2022
993b9db
Merge pull request #522 from xmos/feature/i2c_write_ack
xmos-jmccarthy Sep 26, 2022
be0f50b
Now tracking latest doc_builder
keithm-xmos Sep 27, 2022
3c97789
Now tracking latest doc_builder
keithm-xmos Sep 27, 2022
a2871d2
added xscope_fileio example
keithm-xmos Sep 28, 2022
6938c65
fixed xlink example build
keithm-xmos Sep 28, 2022
056d0b3
fixed xlink example CI build
keithm-xmos Sep 28, 2022
8a641ca
xlink only build with XTC Tools 15.2 or newer
keithm-xmos Sep 28, 2022
3439370
added tools version checks
keithm-xmos Sep 28, 2022
4f8d9cf
fixed to work with tools 15.1.0
keithm-xmos Sep 28, 2022
0a4b27c
updated docs
keithm-xmos Sep 29, 2022
da8ef5e
Merge pull request #523 from xmos/feature/xscope_fileio
keithm-xmos Sep 29, 2022
d01f3e4
removed test_support package
keithm-xmos Oct 6, 2022
fdc5a45
implemented install targets
keithm-xmos Oct 7, 2022
f9cc484
Merge pull request #530 from xmos/feature/install_examples
keithm-xmos Oct 7, 2022
c382a6a
doc updates
keithm-xmos Oct 10, 2022
34e4d28
Merge pull request #531 from xmos/fix/ld_library_path
keithm-xmos Oct 10, 2022
0e9166c
now gets XTC version the recommended way
keithm-xmos Oct 10, 2022
f4c35b8
Merge pull request #532 from xmos/fix/xtc_version
keithm-xmos Oct 10, 2022
847e16e
updated fw_voice, added to docs
keithm-xmos Oct 10, 2022
aa9533b
updated fwk_core submodule
keithm-xmos Oct 10, 2022
9b82e8c
updated core and voice
keithm-xmos Oct 10, 2022
04ff3e1
updated rtos submodule
keithm-xmos Oct 14, 2022
64a0efc
Merge pull request #535 from xmos/fix/fatfs_mkimage_link
keithm-xmos Oct 14, 2022
3343e99
Add slave default buffer test
xmos-jmccarthy Oct 18, 2022
61bee91
Update to test submodules
xmos-jmccarthy Oct 18, 2022
411bcc7
Add verified spi slave tests. Discovered uart does not work
xmos-jmccarthy Oct 18, 2022
86ff619
Update submodules to develop
xmos-jmccarthy Oct 18, 2022
652d349
update core module
keithm-xmos Oct 19, 2022
2ad7b50
Merge pull request #533 from xmos/feature/update_fwk_voice
keithm-xmos Oct 19, 2022
7066d9d
updated core module
keithm-xmos Oct 19, 2022
d6157e0
updated core module
keithm-xmos Oct 19, 2022
11b078f
updated host build script
keithm-xmos Oct 19, 2022
7b04973
build_host_apps.sh now iterates array
keithm-xmos Oct 19, 2022
35b741b
fixed module include order
keithm-xmos Oct 19, 2022
1dca91d
Merge pull request #538 from xmos/fix/host_build
keithm-xmos Oct 19, 2022
4fcc74b
Fix spi_slave always sending app buffer even in default case
xmos-jmccarthy Oct 19, 2022
b02e664
Update faq.rst
keithm-xmos Oct 20, 2022
08624c7
Add option to ignore spi_slave default buffers
xmos-jmccarthy Oct 20, 2022
ba93a4a
Merge pull request #537 from xmos/feature/spi_slave_enhancement
xmos-jmccarthy Oct 20, 2022
877fe5d
Update README.rst
keithm-xmos Oct 22, 2022
fe4680f
Added missing XUD_CORE_CLOCK to bare-metal cmake
jcarrier-xmos Oct 3, 2022
4d67092
Added FreeRTOS Tracealzyer example project
jcarrier-xmos Sep 23, 2022
673786e
Updated FreeRTOS Tracealyzer config/demo
jcarrier-xmos Sep 23, 2022
52a3cbe
Added vcd2psf host utility for Tracealyzer example
jcarrier-xmos Oct 5, 2022
57ea3b2
Updated CI scripts for Tracealyzer example
jcarrier-xmos Oct 6, 2022
78bd797
Added CI tests for Tracealyzer example
jcarrier-xmos Oct 10, 2022
a9fd6a6
Updated Jenkins with Tracealyzer tests
jcarrier-xmos Oct 14, 2022
ca8ad22
Updated vcd2psf to support --xscope-port
jcarrier-xmos Oct 14, 2022
5c4afd9
Renamed vcd2psf to xscope2psf
jcarrier-xmos Oct 18, 2022
dfe6ba4
Tracealyzer adjustments/optimizations
jcarrier-xmos Oct 12, 2022
6131b13
Added README for Tracealyzer example
jcarrier-xmos Oct 13, 2022
76d4986
Merge pull request #536 from xmos/feature/tracealyzer-support
jcarrier-xmos Oct 24, 2022
e5d7673
update fwk_io module
keithm-xmos Oct 24, 2022
c3e15cc
Merge pull request #543 from xmos/fix/i2c_spec_url
keithm-xmos Oct 24, 2022
170a3ca
Update tusb DFU demo
xmos-jmccarthy Oct 27, 2022
e9025b2
Add SPI support to fwk_rtos device_control
Oct 31, 2022
db75780
Update fwk_rtos
Oct 31, 2022
3d7ca06
Update fwk_rtos
Nov 1, 2022
553f506
Update fwk_rtos
Nov 2, 2022
1ec2893
Updated fwk_rtos
Nov 2, 2022
e575491
Merge pull request #546 from shuchitak/feature/device_control_spi_sup…
shuchitak Nov 2, 2022
038fd50
Updated fwk_rtos to get spi host code compiling
Nov 4, 2022
4157b4b
Add dfu app skeleton, fix strange xscope bug
xmos-jmccarthy Nov 7, 2022
d954c6c
Updated fwk_rtos
Nov 7, 2022
dc4d59a
Updated to head of develop of fwk_rtos
Nov 7, 2022
de977f9
Merge pull request #548 from shuchitak/add_spi_host_support
shuchitak Nov 7, 2022
a58fd9f
address potential xscope_fileio timing issues
keithm-xmos Nov 8, 2022
c6679cf
Merge pull request #549 from xmos/fix/fileio
keithm-xmos Nov 8, 2022
b4dd1b1
Fix align bug between tusb and xud
xmos-jmccarthy Nov 8, 2022
e29c1dd
Update rtos submodule
xmos-jmccarthy Nov 9, 2022
8ed15c1
Add dfu example over usb
xmos-jmccarthy Nov 9, 2022
9e9b218
Add dfu cmake macros
xmos-jmccarthy Nov 10, 2022
e50ff33
Add data partition to DFU
xmos-jmccarthy Nov 10, 2022
1c8a136
Update rtos submodule to develop
xmos-jmccarthy Nov 10, 2022
c021143
Fix warnings
xmos-jmccarthy Nov 10, 2022
03c110d
Update DFU example docs
xmos-jmccarthy Nov 10, 2022
021b337
Update CI
xmos-jmccarthy Nov 10, 2022
1203d6d
Add dfu example to doc chain
xmos-jmccarthy Nov 10, 2022
7d69c35
Merge branch 'develop' into feature/dfu
xmos-jmccarthy Nov 10, 2022
df8d571
updated voice and core modules (#554)
keithm-xmos Nov 11, 2022
8b85ba9
Correct Tools version for DFU example
xmos-jmccarthy Nov 14, 2022
15ed1ae
Merge branch 'develop' into feature/dfu
xmos-jmccarthy Nov 14, 2022
e865603
Add DFU support to 15.1.3 and 15.1.4
xmos-jmccarthy Nov 14, 2022
a2dee4c
Update CI
xmos-jmccarthy Nov 14, 2022
b4ce28a
Add blinky and multiple dfu builds
xmos-jmccarthy Nov 15, 2022
ea9ccb0
Update CI build
xmos-jmccarthy Nov 15, 2022
e8331c1
Update DFU docs for cmake utils
xmos-jmccarthy Nov 15, 2022
9648e96
Update explorer board for generic cmake macros
xmos-jmccarthy Nov 15, 2022
0f88676
Update rtos submodule to develop
xmos-jmccarthy Nov 15, 2022
7da9df7
Add unique blinky to dfu example apps
xmos-jmccarthy Nov 15, 2022
8f93231
Update readme
xmos-jmccarthy Nov 15, 2022
8f6a6d2
Add Windows specific instructions to readme
xmos-jmccarthy Nov 17, 2022
68dd860
Merge pull request #552 from xmos/feature/dfu
xmos-jmccarthy Nov 17, 2022
65c544c
Updated rtos submodule
jcarrier-xmos Nov 18, 2022
9572257
Updated fwk rtos
Nov 21, 2022
e213f0d
Merge pull request #559 from xmos/test_special_cmd_enums
shuchitak Nov 23, 2022
fd3e94e
Fixed clock_control run_tests.sh
jcarrier-xmos Oct 25, 2022
b10f7a7
Fixed build step for Tracealyzer host app
jcarrier-xmos Oct 25, 2022
158b810
Fixed format string in ap_stage_b()
jcarrier-xmos Sep 14, 2022
8884ebd
Fixed comment in gpio_ctrl.c
jcarrier-xmos Sep 14, 2022
5f4a279
Updated IoT README.rst
jcarrier-xmos Nov 29, 2022
8e2e50a
Added event count checks to xscope2psf
jcarrier-xmos Nov 29, 2022
31c3541
Updated README.rst known issues section
jcarrier-xmos Nov 29, 2022
0054e84
Merge pull request #560 from xmos/feature/xscope2psf-event-checks
keithm-xmos Dec 5, 2022
9dccd64
testing the shiny new US jenkins server with a temporary explorer board
GitJRS Dec 6, 2022
900e86f
testing Jenkins with boards from Bristol
GitJRS Dec 12, 2022
81f3573
Merge pull request #562 from xmos/experimental/us_jenkins_test
keithm-xmos Dec 12, 2022
141b762
removed dispatcher (#567)
keithm-xmos Dec 16, 2022
7941b48
updates for release v0.12.0
keithm-xmos Dec 19, 2022
3b82abe
Merge pull request #568 from xmos/release/v0.12.0
keithm-xmos Dec 19, 2022
f669af0
Merge branch 'main' into develop
keithm-xmos Dec 19, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ on:
workflow_dispatch: {}

env:
DOC_BUILDER_IMAGE: 'ghcr.io/xmos/doc_builder:main'
DOC_BUILDER_IMAGE: 'ghcr.io/xmos/doc_builder:latest'

jobs:
build_documentation:
Expand Down
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -16,3 +16,6 @@
[submodule "frameworks/rtos"]
path = modules/rtos
url = [email protected]:xmos/fwk_rtos.git
[submodule "modules/xscope_fileio/xscope_fileio"]
path = modules/xscope_fileio/xscope_fileio
url = [email protected]:xmos/xscope_fileio.git
11 changes: 11 additions & 0 deletions CHANGELOG.rst
Original file line number Diff line number Diff line change
@@ -1,6 +1,17 @@
XCORE SDK change log
====================

0.12.0
------

* Addition of FreeRTOS Tracealyzer example application
* Addition of FreeRTOS DFU example application
* Addition of FreeRTOS xscope_fileio example application
* Addition of FreeRTOS xlink example application
* Addition of Voice framework module
* Removed FreeRTOS Dispatcher example application
* Minor documentation updates

0.11.0
------

Expand Down
43 changes: 17 additions & 26 deletions Jenkinsfile
Original file line number Diff line number Diff line change
@@ -1,14 +1,4 @@
@Library('[email protected]') _

def withXTAG(String target, Closure body) {
// Acquire an xtag adapter-id by target name
def adapterID = sh (script: "xtagctl acquire ${target}", returnStdout: true).trim()
// Run the closure
body(adapterID)
// Release the xtag by adapter-id
sh ("xtagctl release ${adapterID}")
}

@Library('[email protected]') _

// Wait here until specified artifacts appear
def artifactUrls = getGithubArtifactUrls([
Expand All @@ -23,7 +13,7 @@ getApproval()

pipeline {
agent {
label 'sdk'
label 'us-hw-xcai-exp0'
}
options {
disableConcurrentBuilds()
Expand All @@ -45,7 +35,7 @@ pipeline {
environment {
PYTHON_VERSION = "3.8.11"
VENV_DIRNAME = ".venv"
DOWNLOAD_DIRNAME = "build"
DOWNLOAD_DIRNAME = "dist"
SDK_TEST_RIG_TARGET = "xcore_sdk_test_rig"
}
stages {
Expand Down Expand Up @@ -93,44 +83,45 @@ pipeline {
withVenv {
script {
if (fileExists("$DOWNLOAD_DIRNAME/example_freertos_getting_started.xe")) {
withXTAG("$SDK_TEST_RIG_TARGET") { adapterID ->
sh "test/examples/run_freertos_getting_started_tests.sh $adapterID"
withXTAG(["$SDK_TEST_RIG_TARGET"]) { adapterIDs ->
sh "test/examples/run_freertos_getting_started_tests.sh " + adapterIDs[0]
}
} else {
echo 'SKIPPED: example_freertos_getting_started'
}
}
script {
if (fileExists("$DOWNLOAD_DIRNAME/example_freertos_explorer_board.xe")) {
withXTAG("$SDK_TEST_RIG_TARGET") { adapterID ->
sh "test/examples/run_freertos_explorer_board_tests.sh $adapterID"
withXTAG(["$SDK_TEST_RIG_TARGET"]) { adapterIDs ->
sh "test/examples/run_freertos_explorer_board_tests.sh " + adapterIDs[0]
}
} else {
echo 'SKIPPED: example_freertos_explorer_board'
}
}
script {
if (fileExists("$DOWNLOAD_DIRNAME/example_freertos_dispatcher.xe")) {
withXTAG("$SDK_TEST_RIG_TARGET") { adapterID ->
sh "test/examples/run_freertos_dispatcher_tests.sh $adapterID"
if (fileExists("$DOWNLOAD_DIRNAME/example_freertos_l2_cache.xe")) {
withXTAG(["$SDK_TEST_RIG_TARGET"]) { adapterIDs ->
sh "test/examples/run_freertos_l2_cache_tests.sh " + adapterIDs[0]
}
} else {
echo 'SKIPPED: example_freertos_dispatcher'
echo 'SKIPPED: example_freertos_l2_cache'
}
}
script {
if (fileExists("$DOWNLOAD_DIRNAME/example_freertos_l2_cache.xe")) {
withXTAG("$SDK_TEST_RIG_TARGET") { adapterID ->
sh "test/examples/run_freertos_l2_cache_tests.sh $adapterID"
if (fileExists("$DOWNLOAD_DIRNAME/example_freertos_tracealyzer.xe")) {
withXTAG(["$SDK_TEST_RIG_TARGET"]) { adapterIDs ->
sh "test/examples/run_freertos_tracealyzer_tests.sh " + adapterIDs[0]
}
} else {
echo 'SKIPPED: example_freertos_l2_cache'
echo 'SKIPPED: example_freertos_tracealyzer'
}
}
}
}
}
}
}

// stage('Run bare-metal examples') {
// steps {
// withTools(params.TOOLS_VERSION) {
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ Download and install the xcore [XTC Tools](https://www.xmos.ai/software-tools/)

## Documentation

See the [official documentation](https://www.xmos.com/documentation/XM-014660-PC-2/html/) for more information including:
See the [official documentation](https://www.xmos.ai/documentation/XM-014660-PC-2/html/) for more information including:

- Instructions for installing
- Getting started guides
Expand Down
4 changes: 2 additions & 2 deletions doc/README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ Pull the docker container:

.. code-block:: console

docker pull ghcr.io/xmos/doc_builder:main
docker pull ghcr.io/xmos/doc_builder:latest

========
Building
Expand All @@ -35,7 +35,7 @@ To build the documentation, run the following command in the root of the reposit

.. code-block:: console

docker run --rm -t -u "$(id -u):$(id -g)" -v $(pwd):/build -e REPO:/build -e DOXYGEN_INCLUDE=/build/doc/Doxyfile.inc -e EXCLUDE_PATTERNS=/build/doc/exclude_patterns.inc -e DOXYGEN_INPUT=ignore ghcr.io/xmos/doc_builder:main
docker run --rm -t -u "$(id -u):$(id -g)" -v $(pwd):/build -e REPO:/build -e DOXYGEN_INCLUDE=/build/doc/Doxyfile.inc -e EXCLUDE_PATTERNS=/build/doc/exclude_patterns.inc -e DOXYGEN_INPUT=ignore ghcr.io/xmos/doc_builder:latest

**********************
Adding a New Component
Expand Down
11 changes: 1 addition & 10 deletions doc/contributing.rst
Original file line number Diff line number Diff line change
Expand Up @@ -132,16 +132,7 @@ The following conventions are used when naming CMake targets:
- Targets that match ``example_freertos_*`` are FreeRTOS examples
- Targets that match ``run_example_*`` are a shortcut recipe to call ``xrun`` with ``xscope`` and the associated firmware
- Targets that match ``debug_example_*`` are a shortcut recipe to call ``xgdb`` with ``xscope`` and the associated firmware
- Targets that match ``install_example_*`` are a shortcut recipe to copy the associated firmware to the ``dist`` output directory
- Targets that match ``xsim_example_*`` are a shortcut recipe to call ``xsim`` with the associated firmware
- Targets that match ``flash_example_*`` are a shortcut recipe to flash required data
- Targets that match ``flash_fs_example_*`` are a shortcut recipe to flash required data for applications using a filesystem

****************
Development Tips
****************

At times submodule repositories will need to be updated. To update all submodules, run the following command

.. code-block:: console

git submodule update --init --recursive
2 changes: 1 addition & 1 deletion doc/exclude_patterns.inc
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ modules/sample_rate_conversion
modules/core/modules/legacy_compat
modules/core/modules/otpinfo
modules/core/modules/random
modules/core/modules/inferencing
modules/core/modules/trycatch
modules/io/modules/xud
modules/io/doc/substitutions.rst
modules/voice/doc/substitutions.rst
41 changes: 41 additions & 0 deletions doc/faq.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
.. _sdk-faq:

#############################
Frequently Asked Questions
#############################

************
Build Issues
************

=================
Submodule updates
=================

The XCORE SDK uses submodules. If you have cloned the repository and later perform an update, it will sometimes also be necessary to update the submodules. To update all submodules, run the following command

.. code-block:: console

git submodule update --init --recursive

========================
fatfs_mkimage: not found
========================

This issue occurs when the XCORE SDK `fatfs_mkimage` utility cannot be found. The most common cause for these issues are an incomplete installation of the XCORE SDK.

Ensure that the host applications setup has been completed. Verify that the `fatfs_mkimage` binary is installed to a location on PATH, or that the default application installation folder is added to PATH. See the :ref:`sdk-installation` guide for more information on installing the host applications.

===============================================
xcc2clang.exe: error: no such file or directory
===============================================

Those strange characters at the beginning of the path are known as a byte-order mark (BOM). CMake adds them to the beginning of the response files it generates during the configure step. Why does it add them? Because the MSVC compiler toolchain requires them. However, some compiler toolchains, like `gcc` and `xcc`, do not ignore the BOM. Why did CMake think the compiler toolchain was MSVC and not the XTC toolchain? Because of a bug in which certain versions of CMake and certain versions of Visual Studio do not play nice together. The good news is that this appears to have been addressed in CMake version 3.22.3.

Update to CMake version 3.22.2 or newer.

********
FreeRTOS
********

See the :ref:`freertos-faq` or :ref:`freertos-common_issues`
10 changes: 5 additions & 5 deletions doc/quick_start/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,11 @@ Introduction

The XCORE SDK is a collection of C/C++ software libraries designed to simplify and accelerate application development on xcore processors. It is composed of the following components:

- Peripheral IO libraries including; UART, I2C, I2S, SPI, QSPI, PDM microphones, and USB. These libraries support bare-metal and RTOS application development.
- Libraries core to DSP applications, including vectorized math. These libraries support bare-metal and RTOS application development.
- :ref:`Peripheral IO <fwk_io-peripherals>` libraries including; UART, I2C, I2S, SPI, QSPI, PDM microphones, and USB. These libraries support bare-metal and RTOS application development.
- Libraries core to :ref:`DSP applications <fwk_core-optimized>`, including :ref:`vectorized math <fwk_core-optimized>`. These libraries support bare-metal and RTOS application development.
- Voice processing libraries including; adaptive echo cancellation, adaptive gain control, noise suppression, interference cancellation (IC), and voice activity detection. These libraries support bare-metal and RTOS application development.
- Libraries that enable `multi-core FreeRTOS development <https://www.freertos.org/symmetric-multiprocessing-introduction.html>`__ on xcore including a wide array of RTOS drivers and middleware.
- Code Examples - Examples showing a variety of xcore features based on bare-metal and FreeRTOS programming.
- Libraries that enable `multi-core FreeRTOS development <https://www.freertos.org/symmetric-multiprocessing-introduction.html>`__ on xcore including a wide array of :ref:`RTOS drivers and middleware <fwk_rtos-framework>`.
- Code Examples - Examples showing a variety of xcore features based on :ref:`bare-metal <sdk-baremetal-code-examples>` and :ref:`FreeRTOS <sdk-freertos-code-examples>` programming.
- Documentation - Getting started guides, references and API guides.

The SDK is designed to be used in conjunction with the xcore.ai Explorer board and the Voice Reference evaluation kit. The example applications compile targeting these boards. Further information about the Explorer board, the Voice Reference evaluation kit, and xcore.ai devices is available to on `www.xmos.ai <https://www.xmos.ai/>`__.
Expand All @@ -17,4 +17,4 @@ The SDK is designed to be used in conjunction with the xcore.ai Explorer board a
Getting Started
***************

Fast-forward to the :ref:`Tutorials <sdk-tutorials>` for information on installing and using the XCORE SDK.
Fast-forward to the :ref:`Tutorials <sdk-tutorials>` for information on :ref:`system requirements <sdk-system-requirements>`, :ref:`installing <sdk-installation>` and :ref:`using the XCORE SDK <sdk-tutorials>`.
13 changes: 11 additions & 2 deletions doc/quick_start/installation.rst
Original file line number Diff line number Diff line change
Expand Up @@ -28,12 +28,20 @@ The SDK includes utilities that run on the PC host. Run the following command t
$ cd build_host
$ sudo make install

This command installs the applications at ``/opt/xmos/SDK/<sdk version>/bin/`` directory. You may wish to append this directory to your ``PATH`` variable.
This command installs the applications at `/opt/xmos/SDK/<sdk version>/bin/` directory. You may wish to append this directory to your `PATH` variable.

.. code-block:: console

$ export PATH=$PATH:/opt/xmos/SDK/<sdk_version>/bin/

Some host applications require that the location of `xscope_endpoint.so` be added to your `LD_LIBRARY_PATH` environment variable. This environment variable will be set if you run the host application in the XTC Tools command-line environment. For more information see `Configuring the command-line environment <https://www.xmos.ai/documentation/XM-014363-PC-LATEST/html/tools-guide/install-configure/getting-started.html>`__.

Or, you may prefer to set this environment variable manually.

.. code-block:: console

$ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:<path-to-XTC-Tools>/lib

.. tab:: Windows

Windows users must run the x86 native tools command prompt from Visual Studio
Expand All @@ -44,8 +52,9 @@ The SDK includes utilities that run on the PC host. Run the following command t
$ cd build_host
$ nmake install

This command installs the applications at ``<USERPROFILE>\.xmos\SDK\<sdk version>\bin\`` directory. You may wish to add this directory to your ``PATH`` variable.
This command installs the applications at `<USERPROFILE>\.xmos\SDK\<sdk version>\bin\` directory. You may wish to add this directory to your `PATH` variable.

Some host applications require that the location of `xscope_endpoint.dll` be added to your PATH. This environment variable will be set if you run the host application in the XTC Tools command-line environment. For more information see `Configuring the command-line environment <https://www.xmos.ai/documentation/XM-014363-PC-LATEST/html/tools-guide/install-configure/getting-started.html>`__.

Optional Step 3. Install Python and Python Requirements
=======================================================
Expand Down
6 changes: 4 additions & 2 deletions doc/quick_start/system-requirements.rst
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,9 @@ The XCORE SDK is officially supported on the following platforms. Unofficial sup
.. tab:: Windows

Windows 10 is supported.


A standard C/C++ compiler is required to build applications and libraries on the host PC. Windows users may use `Build Tools for Visual Studio <https://docs.microsoft.com/en-us/cpp/build/building-on-the-command-line?view=msvc-170#download-and-install-the-tools>`__ command-line interface.

Windows users can also use the Windows Subsystem for Linux (WSL). See `Windows Subsystem for Linux Installation Guide for Windows 10 <https://docs.microsoft.com/en-us/windows/wsl/install-win10>`__ to install WSL.

The SDK should also work using other Windows GNU development environments like GNU Make, MinGW or Cygwin.
Expand All @@ -19,7 +21,7 @@ The XCORE SDK is officially supported on the following platforms. Unofficial sup

Operating systems macOS 10.5 (Catalina) and newer are supported. Intel processors only. Older operating systems are likely to also work, though they are not supported.

A standard C/C++ compiler is required to build applications and libraries on the host PC. Mac users may use the Xcode command line tools.
A standard C/C++ compiler is required to build applications and libraries on the host PC. Mac users may use the Xcode command-line tools.

.. tab:: Linux

Expand Down
1 change: 1 addition & 0 deletions doc/reference/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,4 @@ References
../../modules/core/index.rst
../../modules/io/index.rst
../../modules/rtos/index.rst
../../modules/voice/index.rst
2 changes: 2 additions & 0 deletions doc/tutorials/bare-metal/examples/index.rst
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
.. _sdk-baremetal-code-examples:

########################
Bare-metal Code Examples
########################
Expand Down
11 changes: 9 additions & 2 deletions doc/tutorials/build_system/cmakelists.rst
Original file line number Diff line number Diff line change
@@ -1,11 +1,18 @@
######################
Example CMakeLists.txt
Example CMakeLists.txt
######################

.. note::

CMake is powerful tool that provides the developer a great deal of flexibility in how their projects are built. As a result, CMakeLists.txt files in the example applications may vary from the examples below. This example can be used as a starting point for your bare-metal application. Or, you may choose to copy a ``CMakeLists.txt`` from one of the applications in the SDK that closely resembles your application.


This repository supports being added as a CMake subproject. A parent CMake project can use add_subdirectory() to include the xcore_sdk as a subproject.

.. note::

The xcore_sdk subproject should be added before declaring application targets, as some xcore_sdk provided macros may be needed. Additionally, when included as a subproject, xcore_sdk examples targets are not added to the CMake build.

**********
Bare-Metal
**********
Expand Down Expand Up @@ -133,4 +140,4 @@ Below is an example ``CMakeLists.txt`` that shows both required and conventional

## Optionally create run and debug targets
create_run_target(my_app)
create_debug_target(my_app)
create_debug_target(my_app)
4 changes: 3 additions & 1 deletion doc/tutorials/build_system/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,9 @@
Build System
############

This document describes the `CMake <https://cmake.org/>`_-based build system used by the example applications in the XCORE SDK. The build system is designed so a user does not have to be an expert using CMake. However, some familiarity with CMake is helpful. You can familiarize yourself by reading the `Cmake Tutorial <https://cmake.org/cmake/help/latest/guide/tutorial/index.html>`_ or `CMake documentation <https://cmake.org/cmake/help/v3.20/>`_.
This document describes the `CMake <https://cmake.org/>`_-based build system used by the example applications in the XCORE SDK. The build system is designed so a user does not have to be an expert using CMake. However, some familiarity with CMake is helpful. You can familiarize yourself by reading the `Cmake Tutorial <https://cmake.org/cmake/help/latest/guide/tutorial/index.html>`_ or `CMake documentation <https://cmake.org/cmake/help/v3.20/>`_.

Check the :ref:`system requirement prerequisites <sdk-prerequisites>` for the supported versions of CMake.

********
Overview
Expand Down
2 changes: 0 additions & 2 deletions doc/tutorials/build_system/target_aliases.rst
Original file line number Diff line number Diff line change
Expand Up @@ -176,8 +176,6 @@ If you prefer, you can specify individual software service libraries.
- Device control library
* - rtos::sw_services::usb_device_control
- USB device control library
* - rtos::sw_services::dispatcher
- Dispatcher thread pool library
* - rtos::sw_services::wifi_manager
- WiFi manager library
* - rtos::sw_services::tls_support
Expand Down
Loading