diff options
author | Jens Arnold <amiconn@rockbox.org> | 2005-10-19 19:35:24 +0000 |
---|---|---|
committer | Jens Arnold <amiconn@rockbox.org> | 2005-10-19 19:35:24 +0000 |
commit | abd9f83e92fae22dcb9806deae665b7b303f430d (patch) | |
tree | 8d0d1d65c6aaa596e171cda2d78706739046d0bd /firmware/drivers | |
parent | 266f173b72967bae96119e5428fabe692edd8c30 (diff) |
Two new sections for IRAM usage: .irodata (selectable with the ICONST_ATTR attribute macro), allowing to put 'const' data into IRAM without causing a section type conflict, and .ibss (selectable with the IBSS_ATTR attribute macro) for uninitialised data. * Rockbox core: Adjusted the linker scripts and init code to not include the .ibss section in the binary, it is cleared instead. Saves ~500 bytes on archos and ~30KB on iriver. Codecs and plugins don't handle .ibss in a special way yet. * The init code properly handles empty sections now (except .stack, which should never be empty). * Unified the init code for SH1 and coldfire a bit.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7644 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/drivers')
-rw-r--r-- | firmware/drivers/lcd-h100-remote.c | 2 | ||||
-rw-r--r-- | firmware/drivers/lcd-h100.c | 5 |
2 files changed, 3 insertions, 4 deletions
diff --git a/firmware/drivers/lcd-h100-remote.c b/firmware/drivers/lcd-h100-remote.c index bde2b16b26..afd0377914 100644 --- a/firmware/drivers/lcd-h100-remote.c +++ b/firmware/drivers/lcd-h100-remote.c @@ -67,7 +67,7 @@ /*** globals ***/ unsigned char lcd_remote_framebuffer[LCD_REMOTE_HEIGHT/8][LCD_REMOTE_WIDTH] - IDATA_ATTR; + IBSS_ATTR; static int drawmode = DRMODE_SOLID; static int xmargin = 0; diff --git a/firmware/drivers/lcd-h100.c b/firmware/drivers/lcd-h100.c index edc6e2e33b..001c3849dd 100644 --- a/firmware/drivers/lcd-h100.c +++ b/firmware/drivers/lcd-h100.c @@ -61,10 +61,9 @@ /*** globals ***/ -unsigned char lcd_framebuffer[LCD_HEIGHT/4][LCD_WIDTH] IDATA_ATTR; +unsigned char lcd_framebuffer[LCD_HEIGHT/4][LCD_WIDTH] IBSS_ATTR; -/* should be 'const', but this causes a section type conflict */ -static unsigned char dibits[16] IDATA_ATTR = { +static const unsigned char dibits[16] ICONST_ATTR = { 0x00, 0x03, 0x0C, 0x0F, 0x30, 0x33, 0x3C, 0x3F, 0xC0, 0xC3, 0xCC, 0xCF, 0xF0, 0xF3, 0xFC, 0xFF }; |