Documentation: various cosmetic changes
This commit is contained in:
parent
64be5c6958
commit
b7f94fbf22
@ -16,7 +16,7 @@ The NuttX analog drivers are split into two parts:
|
|||||||
- Common analog logic and share-able analog drivers reside in the
|
- Common analog logic and share-able analog drivers reside in the
|
||||||
``drivers/analog/``.
|
``drivers/analog/``.
|
||||||
- Platform-specific drivers reside in
|
- Platform-specific drivers reside in
|
||||||
``arch/<architecture>//src/<hardware>`` directory
|
``arch/<architecture>/src/<hardware>`` directory
|
||||||
for the specific processor ``<architecture>`` and for the
|
for the specific processor ``<architecture>`` and for the
|
||||||
specific ``<chip>`` analog peripheral devices.
|
specific ``<chip>`` analog peripheral devices.
|
||||||
|
|
||||||
|
@ -277,9 +277,9 @@ Skeleton Files
|
|||||||
|
|
||||||
Skeleton files are "empty" frameworks for NuttX drivers. They are provided to
|
Skeleton files are "empty" frameworks for NuttX drivers. They are provided to
|
||||||
give you a good starting point if you want to create a new NuttX driver.
|
give you a good starting point if you want to create a new NuttX driver.
|
||||||
The following skeleton files are available::
|
The following skeleton files are available:
|
||||||
|
|
||||||
drivers/lcd/skeleton.c -- Skeleton LCD driver
|
* ``drivers/lcd/skeleton.c`` Skeleton LCD driver
|
||||||
drivers/mtd/skeleton.c -- Skeleton memory technology device drivers
|
* ``drivers/mtd/skeleton.c`` Skeleton memory technology device drivers
|
||||||
drivers/net/skeleton.c -- Skeleton network/Ethernet drivers
|
* ``drivers/net/skeleton.c`` Skeleton network/Ethernet drivers
|
||||||
drivers/usbhost/usbhost_skeleton.c -- Skeleton USB host class driver
|
* ``drivers/usbhost/usbhost_skeleton.c`` Skeleton USB host class driver
|
||||||
|
@ -34,7 +34,6 @@ container.
|
|||||||
The only real function of the ``libs/`` directory is to prevent the top-level
|
The only real function of the ``libs/`` directory is to prevent the top-level
|
||||||
directory from becoming cluttered with individual libraries.
|
directory from becoming cluttered with individual libraries.
|
||||||
|
|
||||||
|
|
||||||
.. toctree::
|
.. toctree::
|
||||||
:maxdepth: 1
|
:maxdepth: 1
|
||||||
:caption: Contents:
|
:caption: Contents:
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
============
|
||||||
Contributing
|
Contributing
|
||||||
============
|
============
|
||||||
|
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
.. include:: /substitutions.rst
|
.. include:: /substitutions.rst
|
||||||
.. _making-changes:
|
.. _making-changes:
|
||||||
|
|
||||||
|
========================
|
||||||
Making Changes Using Git
|
Making Changes Using Git
|
||||||
========================
|
========================
|
||||||
|
|
||||||
@ -65,7 +66,7 @@ Here's how to do it:
|
|||||||
$ git push
|
$ git push
|
||||||
|
|
||||||
Git Workflow With an Upstream Repository
|
Git Workflow With an Upstream Repository
|
||||||
----------------------------------------
|
========================================
|
||||||
|
|
||||||
The main NuttX git repository is called an "upstream" repository - this is because it's the main source of truth, and
|
The main NuttX git repository is called an "upstream" repository - this is because it's the main source of truth, and
|
||||||
its changes flow downstream to people who've forked that repository, like us.
|
its changes flow downstream to people who've forked that repository, like us.
|
||||||
@ -160,7 +161,7 @@ maybe doing that several times. Then when everything works, I get my branch read
|
|||||||
$ git push
|
$ git push
|
||||||
|
|
||||||
Submitting Your Changes to NuttX
|
Submitting Your Changes to NuttX
|
||||||
--------------------------------
|
================================
|
||||||
|
|
||||||
Pull requests let you tell others about changes you've pushed to a branch in a repository on GitHub. Once a pull
|
Pull requests let you tell others about changes you've pushed to a branch in a repository on GitHub. Once a pull
|
||||||
request is opened, you can discuss and review the potential changes with collaborators and add follow-up commits
|
request is opened, you can discuss and review the potential changes with collaborators and add follow-up commits
|
||||||
@ -212,7 +213,7 @@ squash before submitting the Pull Request:
|
|||||||
1 through 6.
|
1 through 6.
|
||||||
|
|
||||||
How to Include the Suggestions on Your Pull Request?
|
How to Include the Suggestions on Your Pull Request?
|
||||||
----------------------------------------------------
|
====================================================
|
||||||
|
|
||||||
If you submitted your first PR (Pull Request) and received some feedbacks
|
If you submitted your first PR (Pull Request) and received some feedbacks
|
||||||
to modify your commit, then probably you already modified it and created a
|
to modify your commit, then probably you already modified it and created a
|
||||||
@ -344,7 +345,7 @@ Now you can look at your PR at NuttX's github to confirm that
|
|||||||
this squashed commit is there.
|
this squashed commit is there.
|
||||||
|
|
||||||
Git Resources
|
Git Resources
|
||||||
-------------
|
=============
|
||||||
|
|
||||||
* `Git Cheat Sheet (by GitHub) <https://github.github.com/training-kit/downloads/github-git-cheat-sheet.pdf>`_
|
* `Git Cheat Sheet (by GitHub) <https://github.github.com/training-kit/downloads/github-git-cheat-sheet.pdf>`_
|
||||||
* `Git Book (online) <https://git-scm.com/book/en/v2>`_
|
* `Git Book (online) <https://git-scm.com/book/en/v2>`_
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
.. todo:: update when workflow is settled
|
.. todo:: update when workflow is settled
|
||||||
|
|
||||||
|
====================
|
||||||
Development Workflow
|
Development Workflow
|
||||||
====================
|
====================
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
====================
|
=========
|
||||||
Core Dump
|
Core Dump
|
||||||
====================
|
=========
|
||||||
|
|
||||||
Overview
|
Overview
|
||||||
========
|
========
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
.. include:: /substitutions.rst
|
.. include:: /substitutions.rst
|
||||||
.. _cpp_cmake:
|
.. _cpp_cmake:
|
||||||
|
|
||||||
|
=======================
|
||||||
C++ Example using CMake
|
C++ Example using CMake
|
||||||
=======================
|
=======================
|
||||||
|
|
||||||
@ -24,7 +25,7 @@ applications using C++ language and also the cmake build tool.
|
|||||||
This document will show how to reimplement the hellocpp project using this cmake.
|
This document will show how to reimplement the hellocpp project using this cmake.
|
||||||
|
|
||||||
Preparation
|
Preparation
|
||||||
-----------
|
===========
|
||||||
|
|
||||||
#. Base NuttX compilation changes
|
#. Base NuttX compilation changes
|
||||||
|
|
||||||
@ -46,7 +47,7 @@ Preparation
|
|||||||
$ make export
|
$ make export
|
||||||
|
|
||||||
Creating the project
|
Creating the project
|
||||||
--------------------
|
====================
|
||||||
|
|
||||||
#. Create your project file structure
|
#. Create your project file structure
|
||||||
|
|
||||||
@ -268,7 +269,7 @@ Creating the project
|
|||||||
}
|
}
|
||||||
|
|
||||||
Building
|
Building
|
||||||
--------
|
========
|
||||||
|
|
||||||
To launch build, you use the cmake procedure:
|
To launch build, you use the cmake procedure:
|
||||||
|
|
||||||
|
@ -18,9 +18,8 @@ the directory ``CustomApps`` as an example.
|
|||||||
need to run ``make clean`` and possibly even ``make distclean`` before rebuilding to
|
need to run ``make clean`` and possibly even ``make distclean`` before rebuilding to
|
||||||
ensure it works correctly.
|
ensure it works correctly.
|
||||||
|
|
||||||
-----------------------------------------
|
|
||||||
1. Replace The Apps/ Directory Completely
|
1. Replace The Apps/ Directory Completely
|
||||||
-----------------------------------------
|
=========================================
|
||||||
|
|
||||||
The CustomApps directory need only to contain the minimum three files:
|
The CustomApps directory need only to contain the minimum three files:
|
||||||
|
|
||||||
@ -188,9 +187,8 @@ Then build as you normally would. When you execute the custom_hello app you shou
|
|||||||
|
|
||||||
Hello, Custom World!!
|
Hello, Custom World!!
|
||||||
|
|
||||||
---------------------------------------------------------------
|
|
||||||
2. Extend the apps/ directory to include a new custom directory
|
2. Extend the apps/ directory to include a new custom directory
|
||||||
---------------------------------------------------------------
|
===============================================================
|
||||||
|
|
||||||
The collection of apps provided in nuttx-apps can be useful, and this method simply
|
The collection of apps provided in nuttx-apps can be useful, and this method simply
|
||||||
extends the directory structure to include your own directory structure.
|
extends the directory structure to include your own directory structure.
|
||||||
@ -306,9 +304,8 @@ followed by ``make menuconfig``. If successful there will be new Kconfig entries
|
|||||||
Select the ``Custom Hello App`` and run the usual build process. If successful
|
Select the ``Custom Hello App`` and run the usual build process. If successful
|
||||||
you can run the newly included ``custom_hello`` app.
|
you can run the newly included ``custom_hello`` app.
|
||||||
|
|
||||||
--------------------------------------------------------------------------
|
|
||||||
3. Include an Additional Custom directory Outside of the Main Source Trees
|
3. Include an Additional Custom directory Outside of the Main Source Trees
|
||||||
--------------------------------------------------------------------------
|
==========================================================================
|
||||||
|
|
||||||
Thia is similar to the previous approach, but places the ``CustomApps`` directory
|
Thia is similar to the previous approach, but places the ``CustomApps`` directory
|
||||||
outside of the default trees.
|
outside of the default trees.
|
||||||
|
@ -17,9 +17,8 @@ Sometimes it is not appropriate, or not wanted, to add a new or custom board to
|
|||||||
the NuttX boards tree itself. If so, the board can be defined out-of-tree in a
|
the NuttX boards tree itself. If so, the board can be defined out-of-tree in a
|
||||||
custom directory and still be built easily.
|
custom directory and still be built easily.
|
||||||
|
|
||||||
------------------
|
|
||||||
Add a Custom Board
|
Add a Custom Board
|
||||||
------------------
|
==================
|
||||||
|
|
||||||
The same set of files as provided for in-tree boards is required (i.e. configs,
|
The same set of files as provided for in-tree boards is required (i.e. configs,
|
||||||
Kconfig, scripts, etc.) but these can be placed in a directory of your choice.
|
Kconfig, scripts, etc.) but these can be placed in a directory of your choice.
|
||||||
@ -53,7 +52,7 @@ To build the custom board, the syntax is slightly different to in-tree boards an
|
|||||||
Refreshing...
|
Refreshing...
|
||||||
|
|
||||||
Kconfig Settings
|
Kconfig Settings
|
||||||
----------------
|
================
|
||||||
|
|
||||||
Once the board is configured, to ensure subsequent builds run correctly, there
|
Once the board is configured, to ensure subsequent builds run correctly, there
|
||||||
are two Kconfig settings that need to be set. These are:
|
are two Kconfig settings that need to be set. These are:
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
.. include:: /substitutions.rst
|
.. include:: /substitutions.rst
|
||||||
.. _drivers:
|
.. _drivers:
|
||||||
|
|
||||||
|
=======
|
||||||
Drivers
|
Drivers
|
||||||
=======
|
=======
|
||||||
|
|
||||||
@ -10,7 +11,7 @@ you will either need to port a driver from another chip, or write one yourself.
|
|||||||
.. _drivers-porting:
|
.. _drivers-porting:
|
||||||
|
|
||||||
Porting a Driver
|
Porting a Driver
|
||||||
----------------
|
================
|
||||||
|
|
||||||
Often support for on-chip peripherals exists in a closely related chip, or even a different family or from a different
|
Often support for on-chip peripherals exists in a closely related chip, or even a different family or from a different
|
||||||
manufacturer. Many chips are made up of different Intellectual Property (IP) blocks that are licensed from vendors like
|
manufacturer. Many chips are made up of different Intellectual Property (IP) blocks that are licensed from vendors like
|
||||||
@ -144,7 +145,7 @@ modification.
|
|||||||
200aaaa0: 0000 0000 0000 0000 ........
|
200aaaa0: 0000 0000 0000 0000 ........
|
||||||
|
|
||||||
NuttX Drivers as a Reference
|
NuttX Drivers as a Reference
|
||||||
----------------------------
|
============================
|
||||||
|
|
||||||
If you're not porting a NuttX driver from another architecture, it still helps to look at other similar NuttX
|
If you're not porting a NuttX driver from another architecture, it still helps to look at other similar NuttX
|
||||||
drivers, if there are any. For instance, when implementing an Ethernet driver, look at other NuttX Ethernet drivers;
|
drivers, if there are any. For instance, when implementing an Ethernet driver, look at other NuttX Ethernet drivers;
|
||||||
@ -152,7 +153,7 @@ for an SD Card driver, look at other NuttX SD Card drivers. Even if the chip-spe
|
|||||||
structure to interface with NuttX can be used.
|
structure to interface with NuttX can be used.
|
||||||
|
|
||||||
Using Chip Datasheets
|
Using Chip Datasheets
|
||||||
---------------------
|
=====================
|
||||||
|
|
||||||
To port or write a driver, you'll have to be familiar with the information in the chip datasheet. Definitely find
|
To port or write a driver, you'll have to be familiar with the information in the chip datasheet. Definitely find
|
||||||
the datasheet for your chip, and read the sections relevant to the peripheral you're working with. Doing so ahead
|
the datasheet for your chip, and read the sections relevant to the peripheral you're working with. Doing so ahead
|
||||||
@ -179,7 +180,7 @@ code implements the necessary algorithms often helps one understand how the driv
|
|||||||
examples.
|
examples.
|
||||||
|
|
||||||
Logic Analyzers
|
Logic Analyzers
|
||||||
---------------
|
===============
|
||||||
|
|
||||||
For drivers that involve input and output (I/O), especially that involve complex protocols like SD Cards, SPI, I2C,
|
For drivers that involve input and output (I/O), especially that involve complex protocols like SD Cards, SPI, I2C,
|
||||||
etc., actually seeing the waveform that goes in and out the chip's pins is extremely helpful. `Logic Analyzers <https://en.wikipedia.org/wiki/Logic_analyzer>`_
|
etc., actually seeing the waveform that goes in and out the chip's pins is extremely helpful. `Logic Analyzers <https://en.wikipedia.org/wiki/Logic_analyzer>`_
|
||||||
@ -187,7 +188,7 @@ can capture that information and display it graphically, allowing you to see if
|
|||||||
on the wire.
|
on the wire.
|
||||||
|
|
||||||
DMA Debugging
|
DMA Debugging
|
||||||
-------------
|
=============
|
||||||
|
|
||||||
* Dump registers before, during, and after transfer. Some NuttX drivers (``sam_sdmmc.c`` or ``imxrt_sdmmc.c`` for
|
* Dump registers before, during, and after transfer. Some NuttX drivers (``sam_sdmmc.c`` or ``imxrt_sdmmc.c`` for
|
||||||
example) have built-in code for debugging register states, and can sample registers before, during, and
|
example) have built-in code for debugging register states, and can sample registers before, during, and
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
====================
|
===============
|
||||||
GDB with Python
|
GDB with Python
|
||||||
====================
|
===============
|
||||||
|
|
||||||
Introduction
|
Introduction
|
||||||
============
|
============
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
.. todo::
|
.. todo::
|
||||||
Create "tutorial" type documentation for specific subjects not to be covered in more general terms.
|
Create "tutorial" type documentation for specific subjects not to be covered in more general terms.
|
||||||
|
|
||||||
|
======
|
||||||
Guides
|
Guides
|
||||||
======
|
======
|
||||||
|
|
||||||
|
@ -3,7 +3,7 @@ Open Flash Loader
|
|||||||
=================
|
=================
|
||||||
|
|
||||||
Introduce
|
Introduce
|
||||||
=====================================
|
=========
|
||||||
|
|
||||||
Open Flash loader is an implementation in NuttX that bridges the device
|
Open Flash loader is an implementation in NuttX that bridges the device
|
||||||
drivers in NuttX with the programming methods of a flash loader in J-Link.
|
drivers in NuttX with the programming methods of a flash loader in J-Link.
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
.. include:: /substitutions.rst
|
.. include:: /substitutions.rst
|
||||||
.. _pysimcoder:
|
.. _pysimcoder:
|
||||||
|
|
||||||
|
=================================
|
||||||
pysimCoder integration with NuttX
|
pysimCoder integration with NuttX
|
||||||
=================================
|
=================================
|
||||||
|
|
||||||
@ -16,7 +17,7 @@ This documentation describes the steps that are needed to run application genera
|
|||||||
on NuttX and also keeps the track of peripherals that are supported by pysimCoder for NuttX RTOS.
|
on NuttX and also keeps the track of peripherals that are supported by pysimCoder for NuttX RTOS.
|
||||||
|
|
||||||
Peripheral Support
|
Peripheral Support
|
||||||
------------------
|
==================
|
||||||
|
|
||||||
The following list shows the peripherals and fuctionalities supported in pysimCoder for NuttX RTOS.
|
The following list shows the peripherals and fuctionalities supported in pysimCoder for NuttX RTOS.
|
||||||
|
|
||||||
@ -39,7 +40,7 @@ Please note that the actual support for NuttX peripherals can be wider that what
|
|||||||
in case this documentation was not updated when new fuctionalities were added to pysimCoder.
|
in case this documentation was not updated when new fuctionalities were added to pysimCoder.
|
||||||
|
|
||||||
NuttX Configuration
|
NuttX Configuration
|
||||||
-------------------
|
===================
|
||||||
|
|
||||||
Several configuration options are necessary to be set in order to successfully compile pysimCoder
|
Several configuration options are necessary to be set in order to successfully compile pysimCoder
|
||||||
with NuttX. The list is the following:
|
with NuttX. The list is the following:
|
||||||
@ -124,7 +125,7 @@ Please note that PYSUPSICTRL variable has to be set/exported in order to success
|
|||||||
designed with pysimCoder.
|
designed with pysimCoder.
|
||||||
|
|
||||||
Using pysimCoder to design NuttX application
|
Using pysimCoder to design NuttX application
|
||||||
--------------------------------------------
|
============================================
|
||||||
|
|
||||||
After running pysimCoder, separate blocks can be selected from the library menu on the left hand side. The menu contains
|
After running pysimCoder, separate blocks can be selected from the library menu on the left hand side. The menu contains
|
||||||
several libraries, NuttX specific blocks can be found in library "NuttX". It is also possible to use blocks from other
|
several libraries, NuttX specific blocks can be found in library "NuttX". It is also possible to use blocks from other
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
.. include:: /substitutions.rst
|
.. include:: /substitutions.rst
|
||||||
.. _qemugdb:
|
.. _qemugdb:
|
||||||
|
|
||||||
|
=====================================
|
||||||
How to debug NuttX using QEMU and GDB
|
How to debug NuttX using QEMU and GDB
|
||||||
=====================================
|
=====================================
|
||||||
|
|
||||||
@ -11,7 +12,7 @@ board or architecture supported by QEMU.
|
|||||||
Start configuring and compiling the lm3s6965-ek board with qemu-flat profile.
|
Start configuring and compiling the lm3s6965-ek board with qemu-flat profile.
|
||||||
|
|
||||||
Compiling
|
Compiling
|
||||||
---------
|
=========
|
||||||
|
|
||||||
#. Configure the lm3s6965-ek
|
#. Configure the lm3s6965-ek
|
||||||
|
|
||||||
@ -31,7 +32,7 @@ Compiling
|
|||||||
$ make -j
|
$ make -j
|
||||||
|
|
||||||
Start QEMU
|
Start QEMU
|
||||||
----------
|
==========
|
||||||
|
|
||||||
#. You need to start QEMU using the nuttx ELF file just create above:
|
#. You need to start QEMU using the nuttx ELF file just create above:
|
||||||
|
|
||||||
@ -46,7 +47,7 @@ Start QEMU
|
|||||||
nsh>
|
nsh>
|
||||||
|
|
||||||
Start GDB to connect to QEMU
|
Start GDB to connect to QEMU
|
||||||
----------------------------
|
============================
|
||||||
|
|
||||||
These steps show how to connect GDB to QEMU running NuttX:
|
These steps show how to connect GDB to QEMU running NuttX:
|
||||||
|
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
.. include:: /substitutions.rst
|
.. include:: /substitutions.rst
|
||||||
.. _rndis:
|
.. _rndis:
|
||||||
|
|
||||||
|
================
|
||||||
How to use RNDIS
|
How to use RNDIS
|
||||||
================
|
================
|
||||||
|
|
||||||
@ -17,7 +18,7 @@ risk and also be aware that it was tested up to Ubuntu 22.04 LTS and
|
|||||||
couldn't work in future versions.
|
couldn't work in future versions.
|
||||||
|
|
||||||
Compiling
|
Compiling
|
||||||
---------
|
=========
|
||||||
|
|
||||||
#. Configure the RNDIS
|
#. Configure the RNDIS
|
||||||
|
|
||||||
@ -39,7 +40,7 @@ Compiling
|
|||||||
$ make -j
|
$ make -j
|
||||||
|
|
||||||
Flashing
|
Flashing
|
||||||
--------
|
========
|
||||||
|
|
||||||
#. Flash the generated nuttx.bin to your board:
|
#. Flash the generated nuttx.bin to your board:
|
||||||
|
|
||||||
@ -65,7 +66,7 @@ Flashing
|
|||||||
|
|
||||||
|
|
||||||
Setup RNDIS in your computer
|
Setup RNDIS in your computer
|
||||||
----------------------------
|
============================
|
||||||
|
|
||||||
These steps show how to connect your board to your Linux machine.
|
These steps show how to connect your board to your Linux machine.
|
||||||
|
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
.. include:: /substitutions.rst
|
.. include:: /substitutions.rst
|
||||||
.. _simulator:
|
.. _simulator:
|
||||||
|
|
||||||
|
=========
|
||||||
Simulator
|
Simulator
|
||||||
=========
|
=========
|
||||||
|
|
||||||
@ -16,7 +17,7 @@ submit a PR to improve this guide!
|
|||||||
.. todo:: Windows instructions
|
.. todo:: Windows instructions
|
||||||
|
|
||||||
Prerequisites For macOS
|
Prerequisites For macOS
|
||||||
-----------------------
|
=======================
|
||||||
|
|
||||||
We need ``genromfs`` to build simulators(NON GUI).
|
We need ``genromfs`` to build simulators(NON GUI).
|
||||||
|
|
||||||
@ -37,7 +38,7 @@ For GUI Applications we need X11 Libraries, libx11 can also be built using Homeb
|
|||||||
$ sudo port install xorg-server
|
$ sudo port install xorg-server
|
||||||
|
|
||||||
Compiling
|
Compiling
|
||||||
---------
|
=========
|
||||||
|
|
||||||
#. Configure the Simulator
|
#. Configure the Simulator
|
||||||
|
|
||||||
@ -94,7 +95,7 @@ Compiling
|
|||||||
.. _simulator_accessing_the_network:
|
.. _simulator_accessing_the_network:
|
||||||
|
|
||||||
Accessing the Network
|
Accessing the Network
|
||||||
---------------------
|
=====================
|
||||||
|
|
||||||
#. Here we'll use the ``sim:tcpblaster`` configuration because it comes with networking
|
#. Here we'll use the ``sim:tcpblaster`` configuration because it comes with networking
|
||||||
that is ready to use.
|
that is ready to use.
|
||||||
@ -202,7 +203,7 @@ Accessing the Network
|
|||||||
Success!
|
Success!
|
||||||
|
|
||||||
Testing / capturing TCP network traffic
|
Testing / capturing TCP network traffic
|
||||||
---------------------------------------
|
=======================================
|
||||||
|
|
||||||
#. Start Wireshark (or tcpdump) on Linux and capture the appeared tap0 interface.
|
#. Start Wireshark (or tcpdump) on Linux and capture the appeared tap0 interface.
|
||||||
|
|
||||||
@ -228,7 +229,7 @@ Testing / capturing TCP network traffic
|
|||||||
#. Observe TCP network traffic in Wireshark / tcpdump on Linux.
|
#. Observe TCP network traffic in Wireshark / tcpdump on Linux.
|
||||||
|
|
||||||
Stopping
|
Stopping
|
||||||
--------
|
========
|
||||||
|
|
||||||
#. The normal way to stop:
|
#. The normal way to stop:
|
||||||
|
|
||||||
@ -257,6 +258,6 @@ Stopping
|
|||||||
$ sudo ./tools/simhostroute.sh wlan0 off
|
$ sudo ./tools/simhostroute.sh wlan0 off
|
||||||
|
|
||||||
Debugging
|
Debugging
|
||||||
---------
|
=========
|
||||||
|
|
||||||
You can debug the simulator like any regular Linux program.
|
You can debug the simulator like any regular Linux program.
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
============
|
||||||
Introduction
|
Introduction
|
||||||
============
|
============
|
||||||
|
|
||||||
|
@ -22,4 +22,5 @@ Here's a list of Apache NuttX resources that you might find helpful:
|
|||||||
|
|
||||||
Legacy README
|
Legacy README
|
||||||
=============
|
=============
|
||||||
|
|
||||||
.. mdinclude:: ../legacy_README.md
|
.. mdinclude:: ../legacy_README.md
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
.. include:: /substitutions.rst
|
.. include:: /substitutions.rst
|
||||||
.. _configuring:
|
.. _configuring:
|
||||||
|
|
||||||
|
===========
|
||||||
Configuring
|
Configuring
|
||||||
===========
|
===========
|
||||||
|
|
||||||
@ -93,7 +94,7 @@ computer.
|
|||||||
configured in :menuselection:`Application Configuration --> NSH Library --> Message of the Day (MOTD)`.
|
configured in :menuselection:`Application Configuration --> NSH Library --> Message of the Day (MOTD)`.
|
||||||
|
|
||||||
Fast configuration changes
|
Fast configuration changes
|
||||||
--------------------------
|
==========================
|
||||||
|
|
||||||
If you know exactly which configuration symbol you want to change, you can use the ``kconfig-tweak`` tool (comes with the ``kconfig-frontends`` package) to quickly change a setting without going into the configuration frontend. This is useful to change settings such as debug options:
|
If you know exactly which configuration symbol you want to change, you can use the ``kconfig-tweak`` tool (comes with the ``kconfig-frontends`` package) to quickly change a setting without going into the configuration frontend. This is useful to change settings such as debug options:
|
||||||
|
|
||||||
@ -126,7 +127,7 @@ This is also useful to script configuration changes that you perform often:
|
|||||||
make oldconfig
|
make oldconfig
|
||||||
|
|
||||||
Reference configuration
|
Reference configuration
|
||||||
--------------------------
|
=======================
|
||||||
|
|
||||||
Defconfig supports the use of ``#include`` statements to reference other configuration files:
|
Defconfig supports the use of ``#include`` statements to reference other configuration files:
|
||||||
|
|
||||||
@ -144,7 +145,7 @@ The default header file search path includes:
|
|||||||
* ``${boards}/common/configs``;
|
* ``${boards}/common/configs``;
|
||||||
|
|
||||||
Merge configuration
|
Merge configuration
|
||||||
--------------------------
|
===================
|
||||||
|
|
||||||
Multiple config fragments can be merged manually using the tools/merge_config.py script.
|
Multiple config fragments can be merged manually using the tools/merge_config.py script.
|
||||||
|
|
||||||
|
@ -13,7 +13,6 @@ NewReno congestion control algorithm is used to solve the problem of network con
|
|||||||
Workflow
|
Workflow
|
||||||
========
|
========
|
||||||
|
|
||||||
|
|
||||||
The NewReno on the tcp sender adjusts the cwnd and ssthresh based on received ack and Retransmitted Timeout (RTO) events.
|
The NewReno on the tcp sender adjusts the cwnd and ssthresh based on received ack and Retransmitted Timeout (RTO) events.
|
||||||
|
|
||||||
Using the cwnd, together with snd_wnd, controls the number of bytes sent to the network. Here's how newreno works, as following:
|
Using the cwnd, together with snd_wnd, controls the number of bytes sent to the network. Here's how newreno works, as following:
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
|
==========================
|
||||||
Task Scheduling Interfaces
|
Task Scheduling Interfaces
|
||||||
**************************
|
==========================
|
||||||
|
|
||||||
By default, NuttX performs strict priority scheduling: Tasks of higher
|
By default, NuttX performs strict priority scheduling: Tasks of higher
|
||||||
priority have exclusive access to the CPU until they become blocked. At
|
priority have exclusive access to the CPU until they become blocked. At
|
||||||
@ -29,7 +30,7 @@ compliant interface to the NuttX scheduler:
|
|||||||
- :c:func:`sched_get_rr_interval`
|
- :c:func:`sched_get_rr_interval`
|
||||||
|
|
||||||
Functions
|
Functions
|
||||||
---------
|
=========
|
||||||
|
|
||||||
.. c:function:: int sched_setparam(pid_t pid, FAR const struct sched_param *param)
|
.. c:function:: int sched_setparam(pid_t pid, FAR const struct sched_param *param)
|
||||||
|
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
|
=================
|
||||||
Clocks and Timers
|
Clocks and Timers
|
||||||
*****************
|
=================
|
||||||
|
|
||||||
- :c:func:`clock_settime`
|
- :c:func:`clock_settime`
|
||||||
- :c:func:`clock_gettime`
|
- :c:func:`clock_gettime`
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
|
=================
|
||||||
Signal Interfaces
|
Signal Interfaces
|
||||||
*****************
|
=================
|
||||||
|
|
||||||
**Tasks and Signals**. NuttX provides signal interfaces for tasks and
|
**Tasks and Signals**. NuttX provides signal interfaces for tasks and
|
||||||
pthreads. Signals are used to alter the flow control of tasks by
|
pthreads. Signals are used to alter the flow control of tasks by
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
|
========================
|
||||||
Shared Memory Interfaces
|
Shared Memory Interfaces
|
||||||
************************
|
========================
|
||||||
|
|
||||||
Shared memory interfaces are only available with the NuttX kernel build
|
Shared memory interfaces are only available with the NuttX kernel build
|
||||||
(``CONFIG_BUILD_KERNEL=y``). These interfaces support user memory
|
(``CONFIG_BUILD_KERNEL=y``). These interfaces support user memory
|
||||||
@ -12,7 +13,7 @@ memory interfaces:
|
|||||||
- :c:func:`shmdt`
|
- :c:func:`shmdt`
|
||||||
|
|
||||||
Functions
|
Functions
|
||||||
---------
|
=========
|
||||||
|
|
||||||
.. c:function:: int shmget(key_t key, size_t size, int shmflg)
|
.. c:function:: int shmget(key_t key, size_t size, int shmflg)
|
||||||
|
|
||||||
|
@ -1,8 +1,9 @@
|
|||||||
|
==================
|
||||||
OS Data Structures
|
OS Data Structures
|
||||||
==================
|
==================
|
||||||
|
|
||||||
Scalar Types
|
Scalar Types
|
||||||
************
|
============
|
||||||
|
|
||||||
Many of the types used to communicate with NuttX are simple scalar
|
Many of the types used to communicate with NuttX are simple scalar
|
||||||
types. These types are used to provide architecture independence of the
|
types. These types are used to provide architecture independence of the
|
||||||
@ -15,7 +16,7 @@ include:
|
|||||||
.. c:type:: time_t
|
.. c:type:: time_t
|
||||||
|
|
||||||
Hidden Interface Structures
|
Hidden Interface Structures
|
||||||
***************************
|
===========================
|
||||||
|
|
||||||
Several of the types used to interface with NuttX are structures that
|
Several of the types used to interface with NuttX are structures that
|
||||||
are intended to be hidden from the application. From the standpoint of
|
are intended to be hidden from the application. From the standpoint of
|
||||||
@ -33,7 +34,7 @@ specific elements within these hidden structures. These hidden
|
|||||||
structures will not be described further in this user's manual.
|
structures will not be described further in this user's manual.
|
||||||
|
|
||||||
Access to the ``errno`` Variable
|
Access to the ``errno`` Variable
|
||||||
********************************
|
================================
|
||||||
|
|
||||||
A pointer to the thread-specific ``errno`` value is available through a
|
A pointer to the thread-specific ``errno`` value is available through a
|
||||||
function call:
|
function call:
|
||||||
@ -61,7 +62,7 @@ function call:
|
|||||||
:return: A pointer to the thread-specific ``errno`` value.
|
:return: A pointer to the thread-specific ``errno`` value.
|
||||||
|
|
||||||
User Interface Structures
|
User Interface Structures
|
||||||
*************************
|
=========================
|
||||||
|
|
||||||
.. c:type:: int (*main_t)(int argc, char *argv[])
|
.. c:type:: int (*main_t)(int argc, char *argv[])
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user