versions: Update arm

Updates #4695
This commit is contained in:
Chris Johns 2022-08-03 14:20:52 +10:00
parent e551cc7435
commit f028448e5f
7 changed files with 67 additions and 59 deletions

View File

@ -27,7 +27,7 @@ image. Use the following commands:
.. code-block:: none
arm-rtems5-objcopy -O binary app.exe app.bin
arm-rtems@rtems-ver-major@-objcopy -O binary app.exe app.bin
gzip -9 -f -c app.bin > app.bin.gz
mkimage -A arm -O linux -T kernel -a 0x00300000 -e 0x00300000 -n RTEMS -d app.bin.gz app.img

View File

@ -32,7 +32,7 @@ To boot via uboot, the ELF must be converted to a U-Boot image like below:
.. code-block:: none
arm-rtems5-objcopy hello.exe -O binary app.bin
arm-rtems@rtems-ver-major@-objcopy hello.exe -O binary app.bin
gzip -9 app.bin
mkimage -A arm -O linux -T kernel -a 0x80000000 -e 0x80000000 -n RTEMS -d app.bin.gz rtems-app.img
@ -77,7 +77,8 @@ overlay has to be provided. The overlay must add an additional attribute
For example,
.. code-block::
.. code-block:: none
/dts-v1/;
/ {
@ -109,7 +110,7 @@ For registering with a custom path, the ``bsp_register_spi()`` can be used.
The function prototype is given below:
.. code-block:: C
.. code-block:: c
rtems_status_code bsp_register_spi(
const char *bus_path,
@ -153,7 +154,7 @@ The modification is:
The resulting wiring is:
.. code-block::
.. code-block:: none
1 === /--=== 2
3 === | === 4
@ -198,7 +199,7 @@ Cortex M only debuggers (like the Segger J-Link Edu Mini) won't work.
If the debugger offers a gdb server (like OpenOCD or Segger J-Link) the
following gdb start script can be used:
.. code-block::
.. code-block:: none
define reset
echo -- Reset target and wait for U-Boot to start kernel.\n

View File

@ -15,7 +15,9 @@ U-Boot or barebox.
Build Configuration Options
---------------------------
The following options are available at the configure command line.
The following options can be used in the BSP section of the waf
configuration INI file. The waf defaults can be used to inspect the
values.
``BSP_PRESS_KEY_FOR_RESET``
If defined to a non-zero value, then print a message and wait until pressed
@ -73,7 +75,7 @@ image. Use the following commands:
.. code-block:: none
arm-rtems5-objcopy -O binary app.exe app.bin
arm-rtems@rtems-ver-major@-objcopy -O binary app.exe app.bin
gzip -9 -f -c app.bin > app.bin.gz
mkimage -A arm -O linux -T kernel -a 0x80200000 -e 0x80200000 -n RTEMS -d app.bin.gz app.img

View File

@ -39,7 +39,7 @@ For programming the HyperFlash in case 1, you can use the on board debugger
integrated into the IMXRT1050-EVKB. You can generate a flash image out of a
compiled RTEMS application with for example::
arm-rtems6-objcopy -O binary build/arm/imxrt1052/testsuites/samples/hello.exe hello.bin
arm-rtems@rtems-ver-major@-objcopy -O binary build/arm/imxrt1052/testsuites/samples/hello.exe hello.bin
Then just copy the generated binary to the mass storage provided by the
debugger. Wait a bit till the mass storage vanishes and re-appears. After that,
@ -91,25 +91,26 @@ The BSP uses a FDT based initialization. The FDT is linked into the application.
You can find the default FDT used in the BSP in
`bsps/arm/imxrt/dts/imxrt1050-evkb.dts`. The FDT is split up into two parts. The
core part is put into an `dtsi` file and is installed together with normal
headers into `${PREFIX}/arm-rtems6/imxrt1052/lib/include`. You can use that to
create your own device tree based on that. Basically use something like::
headers into `${PREFIX}/arm-rtems@rtems-ver-major@/imxrt1052/lib/include`. You
can use that to create your own device tree based on that. Basically use
something like::
/dts-v1/;
#include <imxrt/imxrt1050-pinfunc.h>
#include <imxrt/imxrt1050.dtsi>
&lpuart1 {
pinctrl-0 = <&pinctrl_lpuart1>;
status = "okay";
};
&chosen {
stdout-path = &lpuart1;
};
/* put your further devices here */
&iomuxc {
pinctrl_lpuart1: lpuart1grp {
fsl,pins = <
@ -117,17 +118,19 @@ create your own device tree based on that. Basically use something like::
IMXRT_PAD_GPIO_AD_B0_13__LPUART1_RX 0x13000
>;
};
/* put your further pinctrl groups here */
};
You can then convert your FDT into a C file with (replace `YOUR.dts` and similar
with your FDT source names)::
with your FDT source names):
sh> arm-rtems6-cpp -P -x assembler-with-cpp \
-I ${PREFIX}/arm-rtems6/imxrt1052/lib/include \
-include "YOUR.dts" /dev/null | \
dtc -O dtb -o "YOUR.dtb" -b 0 -p 64
.. code-block:: none
sh> arm-rtems@rtems-ver-major@-cpp -P -x assembler-with-cpp \
-I ${PREFIX}/arm-rtems@rtems-ver-major@/imxrt1052/lib/include \
-include "YOUR.dts" /dev/null | \
dtc -O dtb -o "YOUR.dtb" -b 0 -p 64
sh> rtems-bin2c -A 8 -C -N imxrt_dtb "YOUR.dtb" "YOUR.c"
You'll get a C file which defines the `imxrt_dtb` array. Make sure that your new
@ -145,7 +148,7 @@ can overwrite the following constant:
.. code-block:: c
#include "fsl_clock_config.h"
const clock_arm_pll_config_t armPllConfig_BOARD_BootClockRUN = {
.loopDivider = 100,
.src = 0,

View File

@ -12,7 +12,7 @@ The default bootloader on the Raspberry Pi which is used to boot Raspbian
or other OS can be also used to boot RTEMS. U-boot can also be used.
Setup SD card
----------------
-------------
The Raspberry Pis have an unconventional booting mechanism. The GPU
boots first, initializes itself, runs the bootloader and starts the CPU.
@ -20,13 +20,13 @@ The bootloader looks for a kernel image, by default the kernel images must
have a name of the form ``kernel*.img`` but this can be changed by adding
`kernel=<img_name>` to ``config.txt``.
You must provide the required firmware files on the SD card for the GPU to proceed,
and thereby to boot RTEMS.
The BSP currently boots up with an older version of the official firmware. These files
can be downloaded from
`the Raspberry Pi Firmware Repository <https://github.com/raspberrypi/firmware/tree/1.20200601/boot>`_.
You can remove the ``kernel*.img`` files if you want to, but don't touch
the other files.
You must provide the required firmware files on the SD card for the GPU to
proceed, and thereby to boot RTEMS. The BSP currently boots up with an older
version of the official firmware. These files can be downloaded from `the
Raspberry Pi Firmware Repository
<https://github.com/raspberrypi/firmware/tree/1.20200601/boot>`_. You can
remove the ``kernel*.img`` files if you want to, but don't touch the other
files.
Copy these files in to a SD card with FAT filesystem.
@ -41,7 +41,7 @@ To create the kernel image:
.. code-block:: none
$ arm-rtems5-objcopy -Obinary hello.exe kernel.img
$ xsarm-rtems@rtems-ver-major@-objcopy -Obinary hello.exe kernel.img
Copy the kernel image to the SD card.
@ -54,7 +54,7 @@ Make sure you have these lines below, in your ``config.txt``.
kernel=kernel.img
SPI Driver
------------
----------
SPI drivers are registered by the ``rpi_spi_init(bool bidirectional_mode)`` function.
@ -72,7 +72,7 @@ SPI drivers are registered by the ``rpi_spi_init(bool bidirectional_mode)`` func
}
I2C Driver
------------
----------
I2C drivers are registered by the ``rpi_setup_i2c_bus()`` function.
@ -132,7 +132,7 @@ In a new terminal, run GDB using
.. code-block:: none
$ arm-rtems5-gdb hello.exe
$ arm-rtems@rtems-ver-major@-gdb hello.exe
This will open GDB and will load the symbol table from hello.exe. Issue the
following commands in the GDB prompt.

View File

@ -42,13 +42,13 @@ The ``ticker.exe`` file can be found in the BSP build tree at:
.. code-block:: none
arm-rtems5/c/xen_virtual/testsuites/samples/ticker.exe
arm-rtems@rtems-ver-major@/c/xen_virtual/testsuites/samples/ticker.exe
The ``ticker.exe`` elf file must be translated to a binary format.
.. code-block:: none
arm-rtems5-objcopy -O binary ticker.exe ticker.bin
arm-rtems@rtems-ver-major@-objcopy -O binary ticker.exe ticker.bin
Then place the ``ticker.bin`` file on the dom0 filesystem.

View File

@ -6,25 +6,27 @@
arm (ARM)
*********
.. include:: arm/altera-cyclone-v.rst
.. include:: arm/atsam.rst
.. include:: arm/beagle.rst
.. include:: arm/csb336.rst
.. include:: arm/csb337.rst
.. include:: arm/edb7312.rst
.. include:: arm/gumstix.rst
.. include:: arm/imx.rst
.. include:: arm/imxrt.rst
.. include:: arm/lm3s69xx.rst
.. include:: arm/lpc176x.rst
.. include:: arm/lpc24xx.rst
.. include:: arm/raspberrypi.rst
.. include:: arm/realview-pbx-a9.rst
.. include:: arm/rtl22xx.rst
.. include:: arm/smdk2410.rst
.. include:: arm/stm32f4.rst
.. include:: arm/stm32h7.rst
.. include:: arm/tms570.rst
.. include:: arm/xen.rst
.. include:: arm/xilinx-zynq.rst
.. include:: arm/xilinx-zynqmp.rst
.. toctree::
arm/altera-cyclone-v.rst
arm/atsam.rst
arm/beagle.rst
arm/csb336.rst
arm/csb337.rst
arm/edb7312.rst
arm/gumstix.rst
arm/imx.rst
arm/imxrt.rst
arm/lm3s69xx.rst
arm/lpc176x.rst
arm/lpc24xx.rst
arm/raspberrypi.rst
arm/realview-pbx-a9.rst
arm/rtl22xx.rst
arm/smdk2410.rst
arm/stm32f4.rst
arm/stm32h7.rst
arm/tms570.rst
arm/xen.rst
arm/xilinx-zynq.rst
arm/xilinx-zynqmp.rst