comp.lang.ada
 help / color / mirror / Atom feed
* SweetAda 0.4 released
@ 2021-04-27 10:53 Gabriele Galeotti
  0 siblings, 0 replies; only message in thread
From: Gabriele Galeotti @ 2021-04-27 10:53 UTC (permalink / raw)


Hi all.

I've just released SweetAda 0.4.

SweetAda is a lightweight development framework to create Ada systems on a wide range
of machines. Please refer to https://www.sweetada.org.

Release notes
-------------

- SweetAda has a new toolchain, armeb-sweetada-eabi, to handle big-endian ARMs
(previously this was not necessary since ZFP does not link against libraries);
affected target is DigiConnectME -- and eventually your own experimental target;
ARM BE targets now not need to specify big-endian switches anymore, but they should
explicitly specify armeb-sweetada-eabi as the toolchain name in the platform
configuration.in, i.e.:
TOOLCHAIN_NAME := $(TOOLCHAIN_NAME_ARMeb)
whilst ARM LE takes the default toolchain

- the non-optimized versions of divsi3/modsi3 for MicroBlaze were not selected;
this is now corrected

- the download script for Dreamcast -- bba.tcl -- is now written in Tcl (note:
requires Tcl UDP extension) and thus does not require the dc-tool-ip utility,
quick'n'dirty, no error checking yet; if it is difficult to install a Tcl extensions,
then stuck yourself with dc-tool-ip by just uncommenting its exec line, and do
an exit

- remove useless return statements in various Tcl scripts

- use Bits.BigEndian/LittleEndian booleans in llutils unit

- ATmega328P has more MCU definitions (not complete yet)

- ArduinoUno:
- XTAL clock frequency is specified in configure.ads
- ZFP profile is forced in configuration.in to avoid problems with a small foot-print
memory, thus overriding the settings in the top-level configuration.in
- BSP does nothing; tests moved in application/test-ArduinoUno

- FRDM-KL46Z has more definitions; ZFP profile is forced in configuration.in to avoid
problems with a small foot-print memory, thus overriding the settings in the
top-level configuration.in

- bits.ads: some Bits_XX_Mask corrected; added Bits_XX_RMask

- now RTSes have, in every CPU target, two more files:
1) Makefile.srcs.in, the list of source files used (not of particular use so far,
just a reference);
2) Makefile.rts.in, contains CPU-wide switches (i.e., not dependent on the multilib
selected) used during the RTS build;
those switches, which normally are empty, are automatically imported in the master
Makefile and added to the target platform CPU, thus assuring that the compiler agrees
on both RTS code and SweetAda/user code; as a consequence of this, there is no
more need to specify, e,g, "-fno-leading-underscore" in SuperH/SH4 targets, and
MIPS targets inherit automatically a -G0 switch (they are the only switches which
are actually used in the RTS for those targets)

- QEMU-MIPS was based on "mips" machine; this machine does not exist anymore in current
QEMU and so the platform is now based on "mipssim", what changes is just the
UART16450 base I/O address in monitor.S

- Nios II Terasic DE10-Lite now has a Tcl front-end (programmer.tcl) which
automatically downloads the SOF bitstream and executes the SweetAda code by means
of Quartus command-line utilities and jtagd daemon

- Nios II Terasic DE10-Lite exposes a configuration setup that explains practically
how to override core units, i.e., it invalidates last_chance_handler in the core
directory and redefines the same subprogram package in its own directory, so to avoid
dragging in the entire console package (which is used by the standard implementation
of last_chance_handler)

- all Tcl scripts that handle the download of code on a physical target board are
possibly renamed to a standardized "programmer.tcl"

- menu-dialog.sh now always shows warnings (previously it used to show warnings only
if the build failed due to hard errors)

- typos, cosmetics and minor adjustments

Quick notes
-----------

As usual, download the three packages core, RTS and LibGCC (since many changes are
system-wide), and please save your work before overwrite the filesystem.

G

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2021-04-27 10:53 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-04-27 10:53 SweetAda 0.4 released Gabriele Galeotti

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox