[uClinux-dev] RAM disk?

2009-05-18 Thread Antonio

hello

I´m designing a hardware Coldfire with which I have to save some data, I 
have thought about using sqlite.He plan to use a 512MB ram memory to 
store the database and connect to a data bus, had also thought about 
compact flash but make several writes, I thought that could damage 
quickly, so thought in RAM.


In my PC it's easy to create a disk drive in RAM, but this is the foot 
to turn off the computer. I can solve this by putting a stack in memory, 
but I do not want to save all data (eg. operating system) and problems 
that exist in the execution data to find positions from the memory.No if 
it could use a different address range for system and one for the unit, 
I mean that when you create a RAM drive is taken from the total of the 
system, could tell you know if another memory location ¿changing the 
driver?.


I wonder if someone knows how could add additional memory banks than the 
one you already have the system coenctados some ports and create a 
driver to access it from linux. thanks !


greetings
antony
___
uClinux-dev mailing list
uClinux-dev@uclinux.org
http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
This message was resent by uclinux-dev@uclinux.org
To unsubscribe see:
http://mailman.uclinux.org/mailman/options/uclinux-dev


Re: [uClinux-dev] RAM disk?

2009-05-18 Thread Bob Amstadt
I´m designing a hardware Coldfire with which I have to save some data, I 
have thought about using sqlite.He plan to use a 512MB ram memory to store 
the database and connect to a data bus, had also thought about compact 
flash but make several writes, I thought that could damage quickly, so 
thought in RAM.


How quickly are you changing data?  Have you done any tests with an SD card. 
You may find that it has a life more than long enough for your application. 


___
uClinux-dev mailing list
uClinux-dev@uclinux.org
http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
This message was resent by uclinux-dev@uclinux.org
To unsubscribe see:
http://mailman.uclinux.org/mailman/options/uclinux-dev


Re: [uClinux-dev] [patch ] elf2flt MicroBlaze update

2009-05-18 Thread David McCullough

Jivin John Williams lays it down ...
 Attached is a patch that updates elf2flt support for microblaze:
 
  * Handling for new reloc type R_MICROBLAZE_32_PCREL_LO (we can just ignore 
 it)
  * remove workarounds for old microblaze linker bugs, fixed in 2.16
  * Tweak configure{.in} to indicate that MicroBlaze needs the
 --disable-emit-relocs switch
 
 signed-off-by: John Williams john.willi...@petalogix.com

Applied the elf2flt changes.

Still awaiting a conclusion to the emit-relocs bits discussion :-)

Seems like MB would be better served with a preset default like Mike
suggested ?

Thanks,
Davidm


 Index: configure
 ===
 RCS file: /var/cvs/elf2flt/configure,v
 retrieving revision 1.17
 diff -u -r1.17 configure
 --- configure 7 May 2009 23:09:35 -   1.17
 +++ configure 17 May 2009 03:10:00 -
 @@ -1355,7 +1355,7 @@
--disable-FEATURE   do not include FEATURE (same as 
 --enable-FEATURE=no)
--enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
   --disable-got-check - disable check for GOT (needed on H8)
 - --disable-emit-relocs - don't use the --emit-relocs (-q) linker option
 + --disable-emit-relocs - don't use the --emit-relocs (-q) linker option 
 (needed on MicroBlaze)
--enable-emit-ctor-dtor manually create ctor/dtor list
  
  Optional Packages:
 Index: configure.in
 ===
 RCS file: /var/cvs/elf2flt/configure.in,v
 retrieving revision 1.16
 diff -u -r1.16 configure.in
 --- configure.in  7 May 2009 06:14:27 -   1.16
 +++ configure.in  17 May 2009 03:10:00 -
 @@ -50,7 +50,7 @@
  )
  
  AC_ARG_ENABLE(emit_relocs,
 - [ --disable-emit-relocs - don't use the --emit-relocs (-q) linker 
 option ],
 + [ --disable-emit-relocs - don't use the --emit-relocs (-q) linker 
 option (needed on MicroBlaze)],
   [ emit_relocs=$enableval ],
   [ emit_relocs=yes ]
  )
 Index: elf2flt.c
 ===
 RCS file: /var/cvs/elf2flt/elf2flt.c,v
 retrieving revision 1.57
 diff -u -r1.57 elf2flt.c
 --- elf2flt.c 7 May 2009 06:23:02 -   1.57
 +++ elf2flt.c 17 May 2009 03:10:01 -
 @@ -522,6 +522,7 @@
   {
   case R_MICROBLAZE_NONE:
   case R_MICROBLAZE_64_NONE:
 + case R_MICROBLAZE_32_PCREL_LO:
   continue;
   }
  #endif /* TARGET_microblaze */
 @@ -979,15 +980,11 @@
  the relocation symbol. */
   {
   unsigned char *p = r_mem;
 - uint32_t offset;
   pflags=0x8000;
  
   /* work out the relocation */
   sym_vma = bfd_section_vma(abs_bfd, 
 sym_section);
 - /* grab any offset from the text */
 - offset = (p[2]24) + (p[3]  16) + 
 (p[6]  8) + (p[7]);
 - /* Update the address */
 - sym_addr += offset + sym_vma + 
 q-addend;
 + sym_addr += sym_vma + q-addend;
   /* Write relocated pointer back */
   p[2] = (sym_addr  24)  0xff;
   p[3] = (sym_addr  16)  0xff;
 @@ -1019,36 +1016,21 @@
   case R_MICROBLAZE_32:
   {   
   unsigned char *p = r_mem;
 - unsigned long offset;
  
 - /* grab any offset from the text */
 - offset = (p[0]24) + (p[1]  16) + 
 (p[2]  8) + (p[3]);
   sym_vma = bfd_section_vma(abs_bfd, 
 sym_section);
 - /* This is a horrible kludge.  For some
 -reason, *sometimes* the offset is in
 -both addend and the code.  Detect
 -it, and cancel the effect.  Otherwise
 -the offset gets added twice - ouch.
 -There should be a better test
 -for this condition, based on the
 -BFD data structures */
 - if(offset==q-addend)
 - offset=0;
 -
 - sym_addr += offset + sym_vma + 
 q-addend;
 + sym_addr += sym_vma + q-addend;
   

[uClinux-dev] [PATCH] flthdr: control the Blackfin L1 stack flag

2009-05-18 Thread Mike Frysinger
From: Bernd Schmidt bernds_...@t-online.de

Add -u/-U options to control the Blackfin L1 stack flag.

Signed-off-by: Bernd Schmidt bernds_...@t-online.de
Signed-off-by: Mike Frysinger vap...@gentoo.org
---
Not sure if we want to take this patch as is or try and generalize it as
a set arch bit ?  or wait until another arch actually utilizes the arch
bit for their own purpose ?

 flthdr.c |   15 +--
 1 files changed, 13 insertions(+), 2 deletions(-)

diff --git a/flthdr.c b/flthdr.c
index cf6fe4d..90f9aa3 100644
--- a/flthdr.c
+++ b/flthdr.c
@@ -51,7 +51,7 @@
 char *program_name;
 
 static int print = 0, print_relocs = 0, docompress = 0, ramload = 0,
-   stacksize = 0, ktrace = 0;
+   stacksize = 0, ktrace = 0, l1stack = 0;
 
 //
 
@@ -106,6 +106,11 @@ process_file(char *ifile, char *ofile)
else if (ktrace  0)
new_flags = ~FLAT_FLAG_KTRACE;

+   if (l1stack  0)
+   new_flags |= FLAT_FLAG_L1STK;
+   else if (l1stack  0)
+   new_flags = ~FLAT_FLAG_L1STK;
+
if (stacksize)
new_stack = stacksize;
 
@@ -139,6 +144,8 @@ process_file(char *ifile, char *ofile)
printf(Gzip-Data-Compressed );
if (old_flags  FLAT_FLAG_KTRACE)
printf(Kernel-Traced-Load );
+   if (old_flags  FLAT_FLAG_L1STK)
+   printf(L1-Scratch-Stack );
printf()\n);
}
 
@@ -317,6 +324,8 @@ usage(char *s)
fprintf(stderr,-R  : do not RAM load\n);
fprintf(stderr,-k  : kernel traced load (for debug)\n);
fprintf(stderr,-K  : normal non-kernel traced load\n);
+   fprintf(stderr,-u  : place stack in L1 scratchpad 
memory\n);
+   fprintf(stderr,-U  : place stack in normal SDRAM 
memory\n);
fprintf(stderr,-s size : stack size\n);
fprintf(stderr,-o file : output-file\n
 (default is to modify input file)\n);
@@ -333,7 +342,7 @@ main(int argc, char *argv[])
 
program_name = argv[0];
 
-   while ((c = getopt(argc, argv, pPdzZrRkKs:o:)) != EOF) {
+   while ((c = getopt(argc, argv, pPdzZrRuUkKs:o:)) != EOF) {
switch (c) {
case 'p': print = 1;break;
case 'P': print_relocs = 1; break;
@@ -344,6 +353,8 @@ main(int argc, char *argv[])
case 'R': ramload = -1; break;
case 'k': ktrace = 1;   break;
case 'K': ktrace = -1;  break;
+   case 'u': l1stack = 1;  break;
+   case 'U': l1stack = -1; break;
case 'o': ofile = optarg;   break;
case 's':
if (sscanf(optarg, %i, stacksize) != 1)
-- 
1.6.3.1

___
uClinux-dev mailing list
uClinux-dev@uclinux.org
http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
This message was resent by uclinux-dev@uclinux.org
To unsubscribe see:
http://mailman.uclinux.org/mailman/options/uclinux-dev