[uClinux-dev] RAM disk?
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?
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
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
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