Skip to content

Commit

Permalink
deploy: 8debbfa
Browse files Browse the repository at this point in the history
  • Loading branch information
tomtrafford committed Nov 7, 2024
1 parent bbc9cab commit 1d655a1
Show file tree
Hide file tree
Showing 74 changed files with 24,693 additions and 0 deletions.
4 changes: 4 additions & 0 deletions 4.0/.buildinfo
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# Sphinx build info version 1
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
config: 5e125edd7c5814a18daa05c258a9a5d1
tags: 645f666f9bcd5a90fca523b33c5a78b7
Binary file added 4.0/.doctrees/building.doctree
Binary file not shown.
Binary file added 4.0/.doctrees/capture.doctree
Binary file not shown.
Binary file added 4.0/.doctrees/commands.doctree
Binary file not shown.
Binary file added 4.0/.doctrees/config.doctree
Binary file not shown.
Binary file added 4.0/.doctrees/environment.pickle
Binary file not shown.
Binary file added 4.0/.doctrees/extension.doctree
Binary file not shown.
Binary file added 4.0/.doctrees/fields.doctree
Binary file not shown.
Binary file added 4.0/.doctrees/index.doctree
Binary file not shown.
Binary file added 4.0/.doctrees/startup.doctree
Binary file not shown.
Binary file added 4.0/.doctrees/support.doctree
Binary file not shown.
115 changes: 115 additions & 0 deletions 4.0/_sources/building.rst.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,115 @@
Building and Configuring Panda Server
=====================================

Setting up the build for the Panda Socket Server requires configuring a number
of dependencies and creating a suitable ``CONFIG`` file in the root directory so
that they can be found.

Dependencies
------------

The following dependencies must be configured before any part of the server can
be built.

Zynq cross-compiler toolchain
This can be downloaded as part of the Xilinx Vivado build environment for
working with Zynq, or probably any ARMv7-A cross-compiler can be used. This
is needed to build all applications running on Panda.

PandABlocks-FPGA
This part of the Panda project must be available before the server can be
built, as it contains a configuration file defining the low level register
interface to the Panda firmware.

PandABlocks-rootfs
This part of the Panda project is required in order to provide a working
kernel build tree, and to provide the zpkg build tool.


Setting up the ``CONFIG`` file
------------------------------

Start by copying the file ``CONFIG.example`` to ``CONFIG`` in the base
directory, and edit the file by commenting out lines as appropriate and editing
them.

The following symbols must be set to point to the appropriate dependencies:

``BINUTILS_DIR``
If the Zynq cross-compiler toolchain is not on the path, this must be set in
order to build the kernel module and the target build. This symbol is not
required for building the simulation server or the documentation.

``KERNEL_DIR``
In order to build the kernel module, this symbol must be pointed to the
kernel build tree generated by the PandABlocks-roots build.

``PANDA_ROOTFS``
The zpkg build tool is found here.

The following symbols can all be left at their default values:

``BUILD_DIR``
This configures where the built files will be placed.

``PYTHON``
This configures which Python interpreter will be used for building.

``SPHINX_BUILD``
The sphinx-build Python script used for building the documentation.

``DEFAULT_TARGETS``
This determines which makefile targets are generated when ``make`` is run
without specifying a particular target, or when ``make default`` is run.


Build Targets
-------------

The following build targets for the top level makefile are useful:

``default``
Builds all the targets specified by ``$(DEFAULT_TARGETS)``, by default
this list is: ``driver``, ``server``, ``sim_server``, ``docs``, ``zpkg``.

``driver``
Builds the kernel driver module.

``server``
Builds the server version to run on Panda.

``sim_server``
Builds a simulation version of the server to run on the local PC.

``docs``
Builds the documentation.

``zpkg``
Builds the final ``panda-server`` zpgk file.

``clean``
Removes the entire ``$(BUILD_DIR)`` directory.


Generated Files
---------------

In the ``$(BUILD_DIR)`` directory the following subdirectories and files will be
found. In practice the ``.zpg`` file and ``html/`` directory will be wanted.

``driver/``
The kernel module required for hardware access is built here.

| ``server/``
| ``sim_server/``
These two directories are used to build the server to run on Panda, and
a simulation server to run on the local PC.

``html/``
The documentation is built in html format in this directory.

| ``panda-server@``\ version\ ``.zpg``
| ``zpkg-panda-server/``
A zpkg for the server is built here.
Loading

0 comments on commit 1d655a1

Please sign in to comment.