From 88d40d754b4ebe3f840028210d2412539da21ea3 Mon Sep 17 00:00:00 2001 From: Deepak Khatri <lorforlinux@beagleboard.org> Date: Mon, 8 Aug 2022 15:00:11 +0530 Subject: [PATCH] Update SimpPru location Thanks to Vedant and Krishna for the contribution. With this commit, all existing and new beagleboard.org software projects will now be added to Projects section. --- index.rst | 3 +- simppru/basics.rst | 41 ++++++++++++++++ .../examples}/button_click_rpmsg.rst | 0 .../examples}/delay.rst | 0 .../examples}/digital_read.rst | 0 .../examples}/digital_write.rst | 0 .../examples}/hcsr04_example_rpmsg.rst | 0 .../examples}/hcsr04_sensor.rst | 0 .../images/hcsr04_beagle_bone_black.png | Bin .../examples}/images/hcsr04_pocket_beagle.png | Bin .../images/led_beagle_bone_black.png | Bin .../images/led_button_beagle_bone_black.png | Bin .../images/led_button_pocket_beagle.png | Bin .../examples}/images/led_pocket_beagle.png | Bin .../examples}/images/simpPRU.png | Bin .../examples}/index.rst | 2 +- .../examples}/led_blink.rst | 0 .../examples}/led_blink_button.rst | 0 .../examples}/led_blink_counter.rst | 0 .../examples}/led_blink_for.rst | 0 .../examples}/led_blink_while.rst | 0 .../examples}/read_counter.rst | 0 .../examples}/rpmsg_example.rst | 0 .../examples}/rpmsg_pru_calculator.rst | 0 simppru/index.rst | 46 ++---------------- 25 files changed, 48 insertions(+), 44 deletions(-) create mode 100644 simppru/basics.rst rename {simppru-examples => simppru/examples}/button_click_rpmsg.rst (100%) rename {simppru-examples => simppru/examples}/delay.rst (100%) rename {simppru-examples => simppru/examples}/digital_read.rst (100%) rename {simppru-examples => simppru/examples}/digital_write.rst (100%) rename {simppru-examples => simppru/examples}/hcsr04_example_rpmsg.rst (100%) rename {simppru-examples => simppru/examples}/hcsr04_sensor.rst (100%) rename {simppru-examples => simppru/examples}/images/hcsr04_beagle_bone_black.png (100%) rename {simppru-examples => simppru/examples}/images/hcsr04_pocket_beagle.png (100%) rename {simppru-examples => simppru/examples}/images/led_beagle_bone_black.png (100%) rename {simppru-examples => simppru/examples}/images/led_button_beagle_bone_black.png (100%) rename {simppru-examples => simppru/examples}/images/led_button_pocket_beagle.png (100%) rename {simppru-examples => simppru/examples}/images/led_pocket_beagle.png (100%) rename {simppru-examples => simppru/examples}/images/simpPRU.png (100%) rename {simppru-examples => simppru/examples}/index.rst (96%) rename {simppru-examples => simppru/examples}/led_blink.rst (100%) rename {simppru-examples => simppru/examples}/led_blink_button.rst (100%) rename {simppru-examples => simppru/examples}/led_blink_counter.rst (100%) rename {simppru-examples => simppru/examples}/led_blink_for.rst (100%) rename {simppru-examples => simppru/examples}/led_blink_while.rst (100%) rename {simppru-examples => simppru/examples}/read_counter.rst (100%) rename {simppru-examples => simppru/examples}/rpmsg_example.rst (100%) rename {simppru-examples => simppru/examples}/rpmsg_pru_calculator.rst (100%) diff --git a/index.rst b/index.rst index 882ec277..9b7f6f0b 100644 --- a/index.rst +++ b/index.rst @@ -31,10 +31,9 @@ Sections .. toctree:: :maxdepth: 1 - :caption: simpPRU + :caption: Projects simppru/index.rst - simppru-examples/index.rst .. toctree:: :maxdepth: 1 diff --git a/simppru/basics.rst b/simppru/basics.rst new file mode 100644 index 00000000..3939f88d --- /dev/null +++ b/simppru/basics.rst @@ -0,0 +1,41 @@ +.. _simppru_basics: + +simpPRU Basics +############### + +The PRU is a dual core micro-controller system present on the AM335x SoC +which powers the BeagleBone. It is meant to be used for high speed +jitter free IO control. Being independent from the linux scheduler and +having direct access to the IO pins of the BeagleBone Black, the PRU is +ideal for offloading IO intensive tasks. + +Programming the PRU is a uphill task for a beginner, since it involves +several steps, writing the firmware for the PRU, writing a loader +program. This can be a easy task for a experienced developer, but it +keeps many creative developers away. So, I propose to implement a easy +to understand language for the PRU, hiding away all the low level stuff +and providing a clean interface to program PRU. + +This can be achieved by implementing a language on top of PRU C. It will +directly compile down to PRU C. This could also be solved by +implementing a bytecode engine on the PRU, but this will result in waste +of already limited resources on PRU. With this approach, both PRU cores +can be run independent of each other. + +.. image:: images/simpPRU.png + :width: 398 + :align: center + :height: 200 + :alt: simpPRU + + +What is simpPRU +--------------- + +- simpPRU is a procedural programming language. +- It is a statically typed language. Variables and functions must be + assigned data types during compilation. +- It is typesafe, and data types of variables are decided during + compilation. +- simpPRU codes have a ``.sim`` extension. +- simpPRU provides a console app to use Remoteproc functionality. \ No newline at end of file diff --git a/simppru-examples/button_click_rpmsg.rst b/simppru/examples/button_click_rpmsg.rst similarity index 100% rename from simppru-examples/button_click_rpmsg.rst rename to simppru/examples/button_click_rpmsg.rst diff --git a/simppru-examples/delay.rst b/simppru/examples/delay.rst similarity index 100% rename from simppru-examples/delay.rst rename to simppru/examples/delay.rst diff --git a/simppru-examples/digital_read.rst b/simppru/examples/digital_read.rst similarity index 100% rename from simppru-examples/digital_read.rst rename to simppru/examples/digital_read.rst diff --git a/simppru-examples/digital_write.rst b/simppru/examples/digital_write.rst similarity index 100% rename from simppru-examples/digital_write.rst rename to simppru/examples/digital_write.rst diff --git a/simppru-examples/hcsr04_example_rpmsg.rst b/simppru/examples/hcsr04_example_rpmsg.rst similarity index 100% rename from simppru-examples/hcsr04_example_rpmsg.rst rename to simppru/examples/hcsr04_example_rpmsg.rst diff --git a/simppru-examples/hcsr04_sensor.rst b/simppru/examples/hcsr04_sensor.rst similarity index 100% rename from simppru-examples/hcsr04_sensor.rst rename to simppru/examples/hcsr04_sensor.rst diff --git a/simppru-examples/images/hcsr04_beagle_bone_black.png b/simppru/examples/images/hcsr04_beagle_bone_black.png similarity index 100% rename from simppru-examples/images/hcsr04_beagle_bone_black.png rename to simppru/examples/images/hcsr04_beagle_bone_black.png diff --git a/simppru-examples/images/hcsr04_pocket_beagle.png b/simppru/examples/images/hcsr04_pocket_beagle.png similarity index 100% rename from simppru-examples/images/hcsr04_pocket_beagle.png rename to simppru/examples/images/hcsr04_pocket_beagle.png diff --git a/simppru-examples/images/led_beagle_bone_black.png b/simppru/examples/images/led_beagle_bone_black.png similarity index 100% rename from simppru-examples/images/led_beagle_bone_black.png rename to simppru/examples/images/led_beagle_bone_black.png diff --git a/simppru-examples/images/led_button_beagle_bone_black.png b/simppru/examples/images/led_button_beagle_bone_black.png similarity index 100% rename from simppru-examples/images/led_button_beagle_bone_black.png rename to simppru/examples/images/led_button_beagle_bone_black.png diff --git a/simppru-examples/images/led_button_pocket_beagle.png b/simppru/examples/images/led_button_pocket_beagle.png similarity index 100% rename from simppru-examples/images/led_button_pocket_beagle.png rename to simppru/examples/images/led_button_pocket_beagle.png diff --git a/simppru-examples/images/led_pocket_beagle.png b/simppru/examples/images/led_pocket_beagle.png similarity index 100% rename from simppru-examples/images/led_pocket_beagle.png rename to simppru/examples/images/led_pocket_beagle.png diff --git a/simppru-examples/images/simpPRU.png b/simppru/examples/images/simpPRU.png similarity index 100% rename from simppru-examples/images/simpPRU.png rename to simppru/examples/images/simpPRU.png diff --git a/simppru-examples/index.rst b/simppru/examples/index.rst similarity index 96% rename from simppru-examples/index.rst rename to simppru/examples/index.rst index c0bc8b26..d5d5fcf6 100644 --- a/simppru-examples/index.rst +++ b/simppru/examples/index.rst @@ -1,7 +1,7 @@ .. _sippru_examples: simpPRU Examples -############## +################## These are the examples which have been tested on simpPRU.These examples will serve as a guide for the users to implement. diff --git a/simppru-examples/led_blink.rst b/simppru/examples/led_blink.rst similarity index 100% rename from simppru-examples/led_blink.rst rename to simppru/examples/led_blink.rst diff --git a/simppru-examples/led_blink_button.rst b/simppru/examples/led_blink_button.rst similarity index 100% rename from simppru-examples/led_blink_button.rst rename to simppru/examples/led_blink_button.rst diff --git a/simppru-examples/led_blink_counter.rst b/simppru/examples/led_blink_counter.rst similarity index 100% rename from simppru-examples/led_blink_counter.rst rename to simppru/examples/led_blink_counter.rst diff --git a/simppru-examples/led_blink_for.rst b/simppru/examples/led_blink_for.rst similarity index 100% rename from simppru-examples/led_blink_for.rst rename to simppru/examples/led_blink_for.rst diff --git a/simppru-examples/led_blink_while.rst b/simppru/examples/led_blink_while.rst similarity index 100% rename from simppru-examples/led_blink_while.rst rename to simppru/examples/led_blink_while.rst diff --git a/simppru-examples/read_counter.rst b/simppru/examples/read_counter.rst similarity index 100% rename from simppru-examples/read_counter.rst rename to simppru/examples/read_counter.rst diff --git a/simppru-examples/rpmsg_example.rst b/simppru/examples/rpmsg_example.rst similarity index 100% rename from simppru-examples/rpmsg_example.rst rename to simppru/examples/rpmsg_example.rst diff --git a/simppru-examples/rpmsg_pru_calculator.rst b/simppru/examples/rpmsg_pru_calculator.rst similarity index 100% rename from simppru-examples/rpmsg_pru_calculator.rst rename to simppru/examples/rpmsg_pru_calculator.rst diff --git a/simppru/index.rst b/simppru/index.rst index d8e953f4..eaf01def 100644 --- a/simppru/index.rst +++ b/simppru/index.rst @@ -1,55 +1,19 @@ -.. _simppru_basics: - -simpPRU Basics -############## - -The PRU is a dual core micro-controller system present on the AM335x SoC -which powers the BeagleBone. It is meant to be used for high speed -jitter free IO control. Being independent from the linux scheduler and -having direct access to the IO pins of the BeagleBone Black, the PRU is -ideal for offloading IO intensive tasks. - -Programming the PRU is a uphill task for a beginner, since it involves -several steps, writing the firmware for the PRU, writing a loader -program. This can be a easy task for a experienced developer, but it -keeps many creative developers away. So, I propose to implement a easy -to understand language for the PRU, hiding away all the low level stuff -and providing a clean interface to program PRU. - -This can be achieved by implementing a language on top of PRU C. It will -directly compile down to PRU C. This could also be solved by -implementing a bytecode engine on the PRU, but this will result in waste -of already limited resources on PRU. With this approach, both PRU cores -can be run independent of each other. - -.. image:: images/simpPRU.png - :width: 398 - :align: center - :height: 200 - :alt: simpPRU - - -What is simpPRU ---------------- - -- simpPRU is a procedural programming language. -- It is a statically typed language. Variables and functions must be - assigned data types during compilation. -- It is typesafe, and data types of variables are decided during - compilation. -- simpPRU codes have a ``.sim`` extension. -- simpPRU provides a console app to use Remoteproc functionality. +.. _simppru_home: +simpPRU +######## .. toctree:: :maxdepth: 1 + basics.rst build.rst install.rst language.rst io.rst usage-simppru.rst usage-simppru-console.rst + examples/index.rst -- GitLab