Commit graph

63 commits

Author SHA1 Message Date
Aidan MacDonald
981e972839 mips: add native backtrace implementation
Should make debugging crashes on native MIPS targets far easier.
This is by no means a 100% complete or robust implementation but
it seems to handle the vast majority of functions.

Change-Id: Id5f430270e02b5092b79026b6876675c784aa649
2022-05-22 07:16:11 -04:00
Solomon Peachy
658026e626 [4/4] Remove HAVE_LCD_BITMAP, as it's now the only choice.
Note:  I left behind lcd_bitmap in features.txt, because removing it
would require considerable work in the manual and the translations.

Change-Id: Ia8ca7761f610d9332a0d22a7d189775fb15ec88a
2020-07-24 21:20:13 +00:00
Solomon Peachy
0c4f89370d [2/4] get rid of HAVE_LCD_CHARCELLS
HAVE_LCD_BITMAP is now redundant.

lcd_bitmap is always-on in features.txt so manual and lang strings
don't have to change

Change-Id: I08eeb20de48099ffc2dc23782711af368c2ec794
2020-07-24 21:20:13 +00:00
Solomon Peachy
74dd276fe1 debug: Wrap rb_backtrace with HAVE_RB_BACKTRACE instead of CPU_ARM
Basically, preparation for a non-ARM backtrace support.

Change-Id: Icfd09fbc65a98f859e2a19f8d1111827a262a969
2018-11-09 02:32:39 +01:00
Amaury Pouly
1d121e8c08 Initial commit for the Sony NWZ linux port
SUPPORTED SERIES:
- NWZ-E450
- NWZ-E460
- NWZ-E470
- NWZ-E580
- NWZ-A10

NOTES:
- bootloader makefile convert an extra font to be installed alongside the bootloader
  since sysfont is way too small
- the toolsicon bitmap comes from the Oxygen iconset
- touchscreen driver is untested

TODO:
- implement audio routing driver (pcm is handled by pcm-alsa)
- fix playback: it crashes on illegal instruction in DEBUG builds
- find out why the browser starts at / instead of /contents
- implement radio support
- implement return to OF for usb handling
- calibrate battery curve (NB: of can report a battery level on a 0-5 scale but
  probabl don't want to use that ?)
- implement simulator build (we need a nice image of the player)
- figure out if we can detect jack removal

POTENTIAL TODOS:
- try to build a usb serial gadget and gdbserver

Change-Id: Ic77d71e0651355d47cc4e423a40fb64a60c69a80
2017-09-05 21:42:12 +02:00
Michael Sevakis
783c77531c AMS: Return ascodec to interrupt-based I2C2 driver
1. Slightly revised and regularized internal interface. Callback is used
for read and write to provide completion signal instead of having two
mechanisms.

2. Lower overhead for asynchronous or alterate completion callbacks. We
now only init what is required by the transfer. A couple unneeded
structure members were also nixed.

3. Fixes a bug that would neglect a semaphore wait if pumping the I2C
interrupts in a loop when not in thread state or interrupts are masked.

4. Corrects broken initialization order by defining KDEV_INIT, which
makes kernel_init() call kernel_device_init() to initialize additional
devices _after_ the kernel, threading and synchronization objects are
safe to use.

5. Locking set_cpu_frequency has to be done at the highest level in
system.c to ensure the boost counter and the frequency are both set in
agreement. Reconcile the locking inteface between PP and AMS (the only
two currently using locking there) to keep it clean.

Now works fine with voltages in GIT HEAD on my Fuze v2, type 0.
Previously, everything crashed and died instantly. action.c calling
set_cpu_frequency from a tick was part of it. The rest may have been
related to 3. and 4. Honestly, I'm not certain!

Testing by Mihail Zenkov indicates it solves our problems. This will
get the developer builds running again after the kernel assert code
push.

Change-Id: Ie245994fb3e318dd5ef48e383ce61fdd977224d4
2017-01-25 00:05:13 +01:00
Michael Sevakis
2cb274ca77 panicf doesn't return so why not tell GCC and $AVE :
Change-Id: I6096576f539bfb02b340b82fabc5019f6756b722
2014-08-25 13:55:16 -04:00
Frank Gevaerts
25e50ed8f1 Print `last logf lines on panic().
If logf is enabled, panic() will print the last lines. On small
screens this is more or less useless, but on large screens it
can be very useful for debugging.

Change-Id: I26dfc76e9ac4a2ddc2def8db1616a04f943dbba3
Reviewed-on: http://gerrit.rockbox.org/709
Reviewed-by: Thomas Martitz <kugel@rockbox.org>
Reviewed-by: Frank Gevaerts <frank@gevaerts.be>
Tested: Frank Gevaerts <frank@gevaerts.be>
2014-01-11 11:37:18 +01:00
Thomas Martitz
148a80e1d1 panicf(): fix wrong font and colors being displayed.
Change-Id: I57680d5857b577d731b5703e209ccc6e9511ef17
2012-03-30 11:23:07 +02:00
Marcin Bukat
b4eab59951 Arm stack unwinder
Simplified stack unwinder for ARM. This is port of
http://www.mcternan.me.uk/ArmStackUnwinding/
backtrace() is called from UIE() on native targets
and from panicf() on both native and ARM RaaA.

Change-Id: I8e4b3c02490dd60b30aa372fe842d193b8929ce0
2012-02-22 08:33:26 +01:00
Thomas Martitz
35e8b1429a Rockbox as an application: Replace many occurences of #ifdef SIMULATOR with #if (CONFIG_PLATFORM & PLATFORM_HOSTED) (or equivalently).
The simulator defines PLATFORM_HOSTED, as RaaA will do (RaaA will not define SIMULATOR).
The new define is to (de-)select code to compile on hosted platforms generally.

Should be no functional change to targets or the simulator.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27019 a1c6a512-1295-4272-9138-f99709370657
2010-06-21 16:53:00 +00:00
Michael Sparmann
fad70c1086 PANIC!!!
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25000 a1c6a512-1295-4272-9138-f99709370657
2010-03-03 02:36:51 +00:00
Michael Sparmann
04ea85fb88 Revert accidental changes from r24723
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24724 a1c6a512-1295-4272-9138-f99709370657
2010-02-17 16:12:21 +00:00
Michael Sparmann
e5c815272d Add more information to the battery debug screen for Nano2G
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24723 a1c6a512-1295-4272-9138-f99709370657
2010-02-17 15:57:53 +00:00
Andrew Mahone
81f72ddef6 Set DRMODE_SOLID, uniform colors, and sysfont before clearing LCD to display panic or exception messages - see FS#10665.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23623 a1c6a512-1295-4272-9138-f99709370657
2009-11-14 11:27:41 +00:00
Jonathan Gordon
b035fee155 it is mildly useful to reset the viewport to the full screen for the panic screen....
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22396 a1c6a512-1295-4272-9138-f99709370657
2009-08-18 03:55:55 +00:00
Thomas Martitz
553f95806f Fix yellows (the reds on mono are caused by this, again, stupid typo).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22243 a1c6a512-1295-4272-9138-f99709370657
2009-08-10 20:36:34 +00:00
Thomas Martitz
7dc1e220d2 panicf: Clear backdrop and print with black font on white background to prevent possible difficulties with reading it (especially on cabbiev2). Also start printing in the second row and column.
This fixes the second part of FS#10503 - "Menu and WPS backdrop not cleared when shutting down or during panic" (the first part is not a bug imo),

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22242 a1c6a512-1295-4272-9138-f99709370657
2009-08-10 20:27:03 +00:00
Rob Purchase
aa97ba100a Revert r22034 since the backlight handling functions are not consistently named between targets.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22035 a1c6a512-1295-4272-9138-f99709370657
2009-07-25 18:42:30 +00:00
Rob Purchase
ccb52bd72c Make the panic and UIE handlers turn on the backlight (needed for various colour LCDs that are unreadable without it). UIE is only changed on ARM for now.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22034 a1c6a512-1295-4272-9138-f99709370657
2009-07-25 18:23:06 +00:00
Michael Sevakis
4ed78f5c72 Clean up panicf and introduce system_exception_wait to do further target tasks and wait for a button when an unrecoverable error has occurred (panic, UIE, etc.). Returning from that function should reboot or don't return from it. Move UIE and __div0 for ARM to its own file.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19716 a1c6a512-1295-4272-9138-f99709370657
2009-01-08 10:15:32 +00:00
Maurus Cuelenaere
f6224b7860 Change 18 char limit to (LCD_WIDTH/SYSFONT_WIDTH) in panicf() (FS#9282)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18288 a1c6a512-1295-4272-9138-f99709370657
2008-08-15 16:49:02 +00:00
Daniel Stenberg
a30f5e4b64 gcc 4.3.1 quite rightfully warnings when printf-style functions use "format
not a string literal and no format arguments". Those occurances can (will?)
lead to future nasty and surprising bugs. These are just a few of a very large
amount of necessary fixes.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18274 a1c6a512-1295-4272-9138-f99709370657
2008-08-13 21:38:33 +00:00
Maurus Cuelenaere
88ae9024e4 * Add basic (non-working) support for NAND flash
* Add panicf() handling
* Add not-yet-enabled dma acceleration
* Other (minor) fixes


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18203 a1c6a512-1295-4272-9138-f99709370657
2008-08-06 20:39:02 +00:00
Daniel Stenberg
2acc0ac542 Updated our source code header to explicitly mention that we are GPL v2 or
later. We still need to hunt down snippets used that are not. 1324 modified
files...
http://www.rockbox.org/mail/archive/rockbox-dev-archive-2008-06/0060.shtml


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17847 a1c6a512-1295-4272-9138-f99709370657
2008-06-28 18:10:04 +00:00
Rob Purchase
3f7f5d7431 D2: Stop panic screen from crashing instantly (seems this has been broken for a while).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17670 a1c6a512-1295-4272-9138-f99709370657
2008-05-31 11:30:24 +00:00
Dominik Riebeling
551319c4c8 fix a comment typo
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17576 a1c6a512-1295-4272-9138-f99709370657
2008-05-18 16:21:52 +00:00
Maurus Cuelenaere
e031db4b87 1) Use a separate config-<target>.h for Zen Vision(:M) (60GB)
2) Other unrelated cleanups


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17503 a1c6a512-1295-4272-9138-f99709370657
2008-05-14 18:55:19 +00:00
Maurus Cuelenaere
95167e0177 Commit whole Creative Zen Vision:M target tree + all related firmware/
changes.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17241 a1c6a512-1295-4272-9138-f99709370657
2008-04-24 20:08:28 +00:00
Jens Arnold
cea07eb2a4 Fix freezing of some builds on PP5002. The PP5002 needs the not-sleep-at 0xNNNNNNN0-addresses fix everywhere when caching is enabled, not only in core_sleep(). Introduced a pair of inline functions to sleep and wake cores on PP for consistency.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17192 a1c6a512-1295-4272-9138-f99709370657
2008-04-20 17:53:05 +00:00
Jens Arnold
c6b6bad18f iAudio M3: ADC driver, making buttons and battery voltage reading work. * Disable the multi-colour LED for now to save power. Proper handling will be added later. * Make reboot on button press work on iAudio X5, M5, M3 in panicf(), and on M3 in UIE().
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16684 a1c6a512-1295-4272-9138-f99709370657
2008-03-17 00:19:23 +00:00
Michael Sevakis
bfb281ff63 Messages queues must be guarded on both ends or else it's a race between detecting a message present and missing a wakeup on thread about to wait. Keeping IRQs from interacting with the scheduler would be preferable but this should do at the moment. Add more detailed panic info regarding blocking violations so we know who. Make panicf function well enough on Gigabeat and PortalPlayer targets. Move the core sleep instructions into a CPU-specific inline to keep thing organized.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13374 a1c6a512-1295-4272-9138-f99709370657
2007-05-12 05:20:04 +00:00
Jens Arnold
f9b90e9103 Now charcell displays require lcd_update() for updating the main lcd content like bitmap displays.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13050 a1c6a512-1295-4272-9138-f99709370657
2007-04-06 22:55:00 +00:00
Jonathan Gordon
bd47d48c21 Do the CONFIG_LED define
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12383 a1c6a512-1295-4272-9138-f99709370657
2007-02-18 05:07:19 +00:00
Jonathan Gordon
c2f05592ee more CONFIG_LED fixes
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12376 a1c6a512-1295-4272-9138-f99709370657
2007-02-18 01:10:42 +00:00
Daniel Stenberg
64a0fb8fd9 avoid using #if on undefined symbols, in preparation for -Wundef
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12357 a1c6a512-1295-4272-9138-f99709370657
2007-02-17 21:15:06 +00:00
Jens Arnold
f4e7759625 UIE(), panicf(): Make reboot with ON react immediately on targets with real LED (archos recorders, player).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11154 a1c6a512-1295-4272-9138-f99709370657
2006-10-08 21:34:26 +00:00
Peter D'Hoye
4ba0a33204 Let panicf() also check on/play button on h300
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10094 a1c6a512-1295-4272-9138-f99709370657
2006-06-08 22:08:24 +00:00
Daniel Stenberg
1a29cfb23e Initial gcc4 warning cleanup (and some minor policing)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8063 a1c6a512-1295-4272-9138-f99709370657
2005-11-25 00:10:12 +00:00
Jens Arnold
0b00108c3e SH1: Changed UIE() to use the same reset method as on coldfire, using the watchdog timer. Should be more reliable this way. Disabled LED handling and added reboot-with-on for Ondio. * All: #ifdef cleanup in panicf(), added reboot-with-on for Ondio.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7799 a1c6a512-1295-4272-9138-f99709370657
2005-11-09 00:54:43 +00:00
Linus Nielsen Feltzing
829f00e688 Fixed compiler error in the X11 iriver simulator
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7511 a1c6a512-1295-4272-9138-f99709370657
2005-09-12 11:02:57 +00:00
Linus Nielsen Feltzing
e6c6d22240 Now panicf() shuts off the hard drive and lowers the CPU frequency, it also reboots if ON is pressed.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7510 a1c6a512-1295-4272-9138-f99709370657
2005-09-12 10:34:27 +00:00
Christian Gmeiner
c6ff1f5eb5 Added CPU_COLDFIRE define - one step closer to iAudio-port
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7186 a1c6a512-1295-4272-9138-f99709370657
2005-07-18 12:40:29 +00:00
Jens Arnold
5690f78fb2 Multiple choice LED configuration instead of HAVE_LED. Removes erroneous MMC icon display on iriver, and saves some code on Ondio. Removed invert_led() as it is no longer used.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6568 a1c6a512-1295-4272-9138-f99709370657
2005-06-04 23:15:52 +00:00
Jean-Philippe Bernardy
70fba66708 long policy
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5630 a1c6a512-1295-4272-9138-f99709370657
2005-01-22 15:08:38 +00:00
Daniel Stenberg
87923f2459 Reverted latest change due to compiler warning. led() doesn't do anything
anyway if HAVE_LED isn't defined


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5549 a1c6a512-1295-4272-9138-f99709370657
2005-01-10 00:06:32 +00:00
Daniel Stenberg
3fce85735e Jean-Philippe Bernardy: only flash with LED if there is a led available!
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5546 a1c6a512-1295-4272-9138-f99709370657
2005-01-09 23:24:57 +00:00
Linus Nielsen Feltzing
b2ffaa9d91 Ported to iriver
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5375 a1c6a512-1295-4272-9138-f99709370657
2004-11-02 21:43:37 +00:00
Jens Arnold
c76c568b35 Const policed pointer arguments to functions, part 1
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4995 a1c6a512-1295-4272-9138-f99709370657
2004-08-16 23:37:23 +00:00
Björn Stenberg
42510d9e78 Added '*PANIC*' string. Line is now wrapped on recorders. LED blinks slowly to indicate controlled state.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@2835 a1c6a512-1295-4272-9138-f99709370657
2002-11-12 09:04:06 +00:00