Edward Benavides wrote:
> Thats the best lead I've gotten so far Tom.
> I will look at the files that you have specified.
> How do I control where in the memory map the flash and dram are from a hardware point
> of view?
> I hope this question doesnt sound too far fetched but I am just curious on how you can
> make the flash at 200000h or 10000000h. Is this by preference or just how much flash
> and the board layout?
This is controlled by the linker directive file: 'rom.ld', in this file
you place the ABSOLUTE locations that you want segments to be referenced
by the running code. It is up to you to move the data within those
segments from the IMAGE (linux.bin) to their locations within RAM.
Physical address locations were chosen, by me, in somewhat of an
arbitrary fashion. If you look at how the DragonBall boots, it takes
the CSA0 and maps that out to "everywhere", thus, you can have the Flash
code org'd for 0x40000000 and the DragonBall won't care ... until (!)
you start configuring the chip select registers of the DragonBall, now
you had better have stuff where you want it or you will bus fault the
processor and it will go into a HALT.
> Tom Walsh wrote:
> > Edward Benavides wrote:
> > >
> > > Hello:
> > > My next task consists of modifying the code to work for a different type
> > > of flash. Instead of atmel I am using Intel flash.
> > >
> > > I am building a board that is just consisting of the dragonball, flash,
> > > dram, serial and ethernet. If I use the same system mappings as the ADS
> > > board, will I just have to modify at_flash.b to initialize the proper
> > > flash downloading techniques?
> > >
> > > Or do I have to go into the uC source code and port?
> > >
> > > thanks
> > >
> > > This message resent by the firstname.lastname@example.org list server http://www.uClinux.com/
> > Yes and no... I built an alternative system to the ADS & ucsimm and had
> > to modify some of the kernel sources to match my memory config, etc...
> > You can see the schematic at 'http://www.openhardware.net', it really is
> > not that difficult, what you have to do is to make sure is to make the
> > appropriate conditional compile statements withing the uClinux to match
> > your hardware (for example: the RAM memory of the ADS is at
> > 0x200000..0x400000, my RAM is at 0x10000000..0x10800000, so I have to
> > modify /linux/arch/m68knommu/mm/memory.c to make sure that a heap alloc
> > of RAM will fall within this range. There are a number of other files
> > that you will need to make some minor mods to, but not really a big deal
> > to understand if you have been doing embedded systems for a while and
> > have had to map resources before. Some of the files to consider are:
> > ./arch/m68knommu/Boards.mk
> > ./arch/m68knommu/config.in
> > ./arch/m68knommu/defconfig
> > ./arch/m68knommu/kernel/process.c
> > ./arch/m68knommu/mm/memory.c
> > ./arch/m68knommu/platform/68EZ328/Makefile
> > ./arch/m68knommu/platform/68EZ328/ez328simm/crt0_ram.S
> > ./arch/m68knommu/platform/68EZ328/ez328simm/crt0_rom.S
> > ./arch/m68knommu/platform/68EZ328/ez328simm/init_ram.b
> > ./arch/m68knommu/platform/68EZ328/ez328simm/ram.ld
> > ./arch/m68knommu/platform/68EZ328/ez328simm/rom.ld
> > ./drivers/block/blkmem.c
> > ./drivers/char/68328serial.c
> > ./include/asm-m68knommu/page.h
> > ./include/asm-m68knommu/param.h
> > ./include/linux/autoconf.h
> > As Vladamir says "happy hacking"!
> > TomW
> > --
> > Tom Walsh - WN3L - Embedded Systems Consultant
> > 'www.openhardware.net', 'www.cyberiansoftware.com'
> > "Windows? No thanks, I have work to do..."
> > This message resent by the email@example.com list server http://www.uClinux.com/
> This message resent by the firstname.lastname@example.org list server http://www.uClinux.com/
-- Tom Walsh - WN3L - Embedded Systems Consultant 'www.openhardware.net', 'www.cyberiansoftware.com' "Windows? No thanks, I have work to do..." This message resent by the email@example.com list server http://www.uClinux.com/
This archive was generated by hypermail 2b30 : Sun Apr 07 2002 - 00:01:38 EST