Simulators (and some hosted targets) no longer get a free pass!
This commit includes general fixes for simulator builds, but it
will undoubtedly result in many more warnings that need to be properly
fixed.
Change-Id: I6bb9d3fc4a29ccfe40366c438e058b5dfff0ddc3
'arm946cc' was only used by the never-finished 'tcc77x' targets that
were removed from the tree in 3ba2f6e5c7 (April 2021)
Change-Id: I935847ec9d339b8e90c6d2362113c2ff94b8b20f
This reverts commit 5323c49fe6.
This caused build failures on two of the three affected targets. The intent
of the delted code was to force thumb on unless it had been explicitly
disabled. Due to extreme space constraints those targets _need_ to
be built in thumb mode.
Shrink audio buffer from ~256MB to ~192MB. Increase plugin buffer size
to 2MB, not that it should matter given how much extra RAM this platform has.
This leaves plenty of room for the base OS to do what it needs to do.
Change-Id: I59ca235b9cf80cf86d406e4a144fee7d7784ed5d
This represents a 256K increase from the former (MEMORYSIZE-0.75), and
is necessary due to the growth in our binary sizes over the past decade
or so.
It is debatable if this is enough given that our actual memory
usage is approximately (MEMORYSIZE+3) megabytes (plus runtime OS
overhead) for the typical hosted build, but giving the host OS a bit
more breathing room is warranted.
Change-Id: I53e044585a32efd50a85e68d64fd21921eda01a3
All toolchain dependencies are circa the GCC 10.5.0 release:
GCC 10.5.0, binutils 2.40, gmp 6.2.1, mpfr 4.1.1, mpc 1.3.1, isl 0.24
Native:
* arm - mini2g, nano2g works
- ipod6g hangs at logo display
* mips - xduoox3 works
* m68k - binaries untested
Hosted:
* arm - samsungypr0 works
* mips - xduoox3ii works
* Android NDK - unchanged at GCC 4.9.4
Change-Id: Ic157255d76030e66325719e64331f553cb7c4363
All toolchain dependencies are circa the GCC 10.5.0 release:
GCC 10.5.0, binutils 2.40, gmp 6.2.1, mpfr 4.1.1, mpc 1.3.1, isl 0.24
Native:
* arm - mini2g, nano2g works
- ipod6g hangs at logo display
* mips - xduoox3 works
* m68k - binaries untested
Hosted:
* arm - samsungypr0 works
* mips - xduoox3ii works
* Android NDK - unchanged at GCC 4.9.4
Change-Id: Ic9c4ad487927d2ad4247c140f1a7db2740e5f316
According to screen driver this device screen is actually 16 bit RGB565 (https://github.com/DrUm78/linux/blob/FunKey_S/drivers/staging/fbtft/fb_st7789v.c#L137).
This also fixes the color banding issues we had before and boomshine doesn't segfault anymore. Also building rockpaint now that's possible.
Change-Id: Icee49c347fbfabc79e0040314ec148cb77ca6325
Can make global variable access more efficient at the price of erroring
out if a variable is declared in more than one place.
Change-Id: I918eacf4a4c8c7827be64f7f2ee04cc6cc2009e0
A bit of context, this device is a clone of the FunKey-S with a different form factor, hardware is mostly identical, the relevant difference is it has audio out (via usb-c, adapter to 3.5mm is included), this is the reason why the FunKey-SDK is needed for bulding.
This port is based on the old SDL 1.2 code because the device doesn't have SDL2 support. Alongside what was supported in the SDL 1.2 builds this port supports battery level, charging status and backlight control.
Change-Id: I7fcb85be62748644b667c0efebabf59d6e9c5ade
* Only bootloader builds
* Plugins disabled
* No keymaps to anything else
* No simulator
* Touchscreen not wired up yet
* Audio still untested
Bugs:
* rotary encoder does nothing in bootloader
(might be bootloader bug, might be something else)
Other stuff pulled in:
* Unify all of the (identical!) hibyos makefiles
* Rename the "bootloader" to more generic name
Change-Id: I6d8a3b58de726db8e89cf193c90960a070a575c2
All toolchain dependencies are circa the GCC 9.5.0 release:
GCC 9.5.0, binutils 2.38, gmp 6.2.1, mpfr 4.1.1, mpc 1.2.1, isl 0.18
Native:
* arm - mini2g, nano2g seems to work
- ipod6g boot hang on 9.5.0 (possibly leading to disk corruption)
* mips - xduoox3 seems stable so far
* m68k - binaries untested
Hosted:
* arm - binaries untested
* mips - erosq seems stable so far
* Android NDK - unchanged at GCC 4.9.4
Change-Id: I4ca00edd49e1936b32f68f1e7b34df38e1d1d76e
The Echo R1 is a new open-hardware music player design, based
on the STM32H743 microcontroller. Schematics and hardware
documentation for it can be found here:
- https://github.com/amachronic/echoplayer
This is an incomplete port. The bootloader can be loaded using
OpenOCD and it can draw to the LCD using SPI. SDRAM is working
but hasn't been extensively tested.
Change-Id: Ifd2bee15c49868fbc989683d3ca14dce48bf3e18
The bootloaders for version 3 and 4 hardware used separate target
IDs which now overlap with the Nano 3G / Nano 4G ports. It likely
makes sense for all the ErosQ native builds to share the same ID.
Change-Id: I40d166758744e8ba25931e568da11f374b2d7b90
Cortex-M7 support was added in GCC 5, while GCC 4.9 only
supports the M4. The instruction set is almost identical
between both processors; the only difference is that the
M7 supports double-precision floating point and the M4
doesn't.
Since Rockbox currently doesn't use the FPU, building M7
targets as M4 works fine.
Change-Id: I5880d6e81a85fa9b3e16e08d57e7955b4493df0b
Currently, only the development bootloader can be built successfully.
This is a part of the large iPod Nano 3G and iPod Nano 4G support patch.
Credit: Cástor Muñoz <cmvidal@gmail.com>
Change-Id: I74ea0da999ddb1d8ce5d0f5434141b3f0b5f7448
Currently, only a bootloader can be built successfully. The development bootloader is functional, it enables further progress on the port.
This is a part of the large iPod Nano 3G and iPod Nano 4G support patch.
Credit: Cástor Muñoz <cmvidal@gmail.com>
Change-Id: Idf85e42334b0e0ae36f9ed273e2940d5d7736e34
Add some logic to detect classic and M-profile cores, and make
this info available to the build system. All existing targets
are classic profile.
Change-Id: I07bfcd418bcaa6297b9bbf889fc189f167147428
The default status bar is sized for SYSFONT, so this made the status bar
slightly taller.
Unfortunately this broke a bunch of themes that didn't include a custom
status bar and had hardcoded assumptions about the height of the default.
While those themes should not be making those assumptions, we don't
yet have a straightforward way to deal with it. So while we try to figure
out a better path forward, revert this.
Change-Id: I2cd6f64be5f405906a097ee0a33391e03bf1804d
This reverts commit 573ba5472e.
Reason for revert: Accidentally pushed to master, Maintainer will be put in timeout.
Change-Id: Iaa5c6eb18ae40dd64c13db75c0c3f6f519922d4a
All toolchain dependencies are circa the GCC 9.5.0 release:
GCC 9.5.0, binutils 2.38, gmp 6.2.1, mpfr 4.1.1, mpc 1.2.1, isl 0.18
Native:
* arm - mini2g, nano2g seems to work
- ipod6g boot hang on 9.5.0 (possibly leading to disk corruption)
* mips - xduoox3 seems stable so far
* m68k - binaries untested
Hosted:
* arm - binaries untested
* mips - erosq seems stable so far
* Android NDK - unchanged at GCC 4.9.4
Change-Id: I614f1b198643bfa8c45f68e4d8e15307a4998618
Google changed their site and the layout of downloaded SDK zips.
Also add a warning to configure if a r2x series NDK version is used, because those aren't supported - they no longer contain GCC, only clang.
Change-Id: I48a42c38c9b657ac6662162a39763aac73ec502a
On MacOS, gcc is a symlink for clang.
Patch gets rid of the warnings produced by clang,
when it is set as HOSTCC, and fixes voicetools
compilation on MacOS when calling make voicetools
from the simulator directory.
lua rb_defines_helper:
format specifies type 'int' but the argument has
type 'long'
codecs: opus / speex (LOGF):
format '%ld' expects argument of type 'long int',
but argument 7 has type 'off_t'
gigabeat:
variable 'size' set but not used
rdf2binary:
a function declaration without a prototype is
deprecated in all versions of C
rbspeexdec:
passing 'unsigned char *' to parameter of type
'char *' converts between pointers to integer
types where one is of the unique plain 'char'
type and the other is not
hmac-sha1.c
defining a type within 'offsetof' is a Clang
extension
Change-Id: I90539906698868f9589650585d865aee9f7e8539
configure:
Ensure Werror option doesn't get lost when simcc resets GCCOPTS
uisimulator.make:
Remove ignored duplicate SIMLIB on Darwin
codecs.make:
Eliminate some redundancy
Change-Id: Ieee6f677fd22666cb58aa6fe53eabdc0b0f8c190
- Show a warning when Apple's clang is detected,
because compilation would fail with it. Then
check for a (e.g.) Homebrew-installed version
of GCC (14) and use it instead.
- Don't display multiple meaningless numbers when
(incorrectly) parsing Apple's current LD version
info. Set to 0 on Darwin, unless cross-compiling,
since it only matters in the latter case.
Change-Id: I52236e1d1c349e30850c7786736d820c25b6d2d8