Skip to content

Releases: dinuxbg/gnupru

Release 2024.05

02 Jun 14:51
Compare
Choose a tag to compare

Changes since 2023.05:

  • Updated GCC to 14.1.0.
  • Updated Binutils to 2.42.
  • Updated gnuprumcu to v0.9.5.

Release 2023.05

26 May 18:38
Compare
Choose a tag to compare
  • Updated to GCC 13.1.
  • Updated gnuprumcu to v0.9.4.
  • Added C header with AM62x I/O register definitions. Tested with HC-SR04 example on BeaglePlay.
  • Fixed an incorrect field member size in I/O header for AM587x.

Release 2023.01

04 Feb 17:59
Compare
Choose a tag to compare

This is a bug fix release.

  • Firmware alignment is now always correct for Beaglebone AI64. This fixes issue #46.
  • A rare code generation issue with CLZ pattern has been fixed. More information here

Release 2022.05

21 May 06:26
Compare
Choose a tag to compare

Not much changes since the 2021.12-beta release:

  • Bumped gnuprumcu to v0.8.0. This includes preliminary AM62x specs.
  • Bumped GCC to the official 12.1 release.
  • Bumped Binutils to official 2.38 release.

As usual, prebuilt cross toolchains are provided for Linux x86_64 and armhf hosts, as well as an experimental one for Windows.

Release 2021.12-beta

24 Dec 10:10
Compare
Choose a tag to compare

This is a Beta release from snapshots of the GNU development trees. It brings new features:

  • Support for .pru_irq_map section, as required by remoteproc in Linux kernel versons 5.10 and later.
  • Allow direct access to __R30 and __R31 from C:
#include <pru/io.h>
...
    __R30 |= (1 << 4);

Component versions:

  • GCC 12-rc snapshot from commit aeedb00a1a (NOT AN OFFICIAL GCC RELEASE).
  • Binutils 2.38-rc snapshot from commit 2749ac13397 (NOT AN OFFICIAL BINUTILS RELEASE)
  • Newlib v4.1.0
  • Gnuprumcu v0.7.0

As usual, prebuilt cross toolchains are provided for x86_64 and armhf hosts. As well as an experimental one for Windows.

Release 2021.10

17 Oct 20:19
Compare
Choose a tag to compare

This is a bug fix release. It fixes an issue in the 2021.07 default linker script which can corrupt the remoteproc resource table.

Changes since 2021.07:

As usual, prebuilt binaries for amd64 and armhf Linux hosts are provided. They have been prepared with https://github.com/dinuxbg/crosstool-ng/releases/tag/gnupru.2021.10 .

Experimental prebuilts for Windows hosts are also provided. They have been prepared using 2ef9573

Release 2021.07

27 Jul 16:23
Compare
Choose a tag to compare

DO NOT USE

This release includes Binutils 2.37, which has a bug in the PRU port which does not handle resource_table properly. See https://sourceware.org/pipermail/binutils/2021-September/118057.html .


PRU support has been mainlined for quite a while. So let's make an official release to commemorate it.

Build scripts no longer apply out-of-tree patches. You build what you download from official mainline releases:

  • gcc-11.1.0
  • binutils-2.37
  • newlib-4.1.0
  • gnuprumcu-0.6.0

I'm also releasing prebuilt tarballs for amd64 and armhf hosts.

BETA RC3 release

17 Mar 05:33
Compare
Choose a tag to compare
  • When linking object files from GCC and TI toolchains, you must use the -mabi=ti option.
  • GCC PRU port has been overhauled to better support TI ABI. With some care, GCC/Binutils can now link against TI proprietary object files.
    • GCC now supports register packing for function arguments.
    • GCC now efficiently stores 8-bit variables into 8-bit subregisters.
    • LD has been fixed to support both RELA and REL relocations, since TI tools tend to randomly pick one or another for their output.
    • LD and GAS have fixed LDI32 relocation to be compliant with TI toolchain.
    • LD linker script has been updated.
    • Documented instructions to execute ABI checking testsuite.
  • You must clean your object files from previous releases, and rebuild your projects. This is necessary due to incompatible changes in ELF implemented for ABI compatibility.

BETA RC2.2 release

21 Sep 19:55
Compare
Choose a tag to compare
BETA RC2.2 release Pre-release
Pre-release
  • Optimized arithmetic shift right. Fixes github issue #25.
  • Rebased to respective upstream projects.

BETA RC2.1 release

02 Jan 10:50
Compare
Choose a tag to compare
BETA RC2.1 release Pre-release
Pre-release

Changes since BETA RC2:

  • Fixes for 32-bit hosts.

Changes since BETA RC1.1:

  • ld: Switched relocations to be more compatible with TI's toolchain. YOU MUST RECOMPILE ALL YOUR SOURCE FILES - object files from old and new binutils cannot be linked together.
  • gas: Added WBC and WBS pseudo ops to GAS.
  • gas: Added optional & prefix for addressed registers
  • gas/ld: Removed %hi/%lo/%hi_rlz assembler constructs and instead implemented LDI32 pseudo instruction.
  • gas: Switched to r3.w2 as Return Address Register for the call and ret pseudos.
  • gas: Added %label() construct to allow disambiguating register from label JMP operands.
  • Fixed invalid-syntax assembler generation on 32bit hosts.
  • Removed leading underscore for symbols for better TI ABI compatibility.