This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
mapping structs to special address space
- From: "Jonas Norberg" <jonas at idebyran dot se>
- To: <gcc-help at gcc dot gnu dot org>
- Date: Wed, 19 Oct 2005 17:09:47 +0200
- Subject: mapping structs to special address space
Hello,
I am using the Kwikbyte (www.kwikbyte.com) KB9202 development board which is
based around the Atmel AT91RM9200 circuit with an ARM920T core running at
180MHz and is said to have 200 MIPS. I am running embedded linux kernel
2.6.11.
I have compiled the madlib and the madlld with all optimisations possible
for speed but I am not yet happy with the achieved speed, I would like it to
go even faster.
In madlld there are two structs that are frequently used: mad_synth and
mad_frame. I am trying to place them in the embedded 16 kB SRAM memory of
the AT91RM9200 to increase speed. From googling I have found that the
section attribute could maybe do this so I have created a section in the
executable file called .SRAM and placed the structs there - the section is
visible by using objdump -h. Now the next tip I have seen is that one then
should use a linker script to map the section into the wanted address space.
This is where it gets complicated. I cannot make it happen. The linker
complains.
The 16kB SRAM is addressed at: 0x0020 0000 - 0x0020 4000.
I think I maybe am doing this wrong since I am running the program under
linux. I have searched and come up with nothing. I would really appreciate
if someone can point me into any direction.
Jonas Norberg