diff --git a/arch/rgmp/src/Makefile b/arch/rgmp/src/Makefile index c95a7ed56f..f8c2a0b122 100644 --- a/arch/rgmp/src/Makefile +++ b/arch/rgmp/src/Makefile @@ -76,6 +76,7 @@ nuttx$(EXEEXT): @$(OBJDUMP) -S $(TOPDIR)/$@ > $(TOPDIR)/nuttx.asm @$(NM) -n $(TOPDIR)/$@ > $(TOPDIR)/nuttx.sym @$(OBJCOPY) -S -O binary $(TOPDIR)/$@ nuttx.img + @cp nuttx.img $(TOPDIR)/kernel.img .depend: Makefile $(SRCS) @$(MKDEP) $(CC) -- $(CFLAGS) -- $(SRCS) >Make.dep @@ -84,6 +85,7 @@ nuttx$(EXEEXT): depend: .depend clean: + @rm $(TOPDIR)/kernel.img nuttx.img @rm -f libarch$(LIBEXT) *~ .*.swp $(call CLEAN) diff --git a/configs/rgmp/README.txt b/configs/rgmp/README.txt index 8709a4351a..bc28bf8a27 100755 --- a/configs/rgmp/README.txt +++ b/configs/rgmp/README.txt @@ -1,50 +1,84 @@ -RGMP README File -================ - -RGMP stands for RTOS and GPOS on Multi-Processor. RGMP is a project for -running GPOS and RTOS simultaneously on multi-processor platforms. You can -port your favorite RTOS to RGMP together with an unmodified Linux to form a -hybrid operating system. This makes your application able to use both RTOS -and GPOS features. - -See http://rgmp.sourceforge.net/wiki/index.php/Main_Page for further -information about RGMP. - -Build Instructions ------------------- - -1. Download RGMP from rgmp.svn.sourceforge.net: - - cd - - svn co https://rgmp.svn.sourceforge.net/svnroot/rgmp/trunk rgmp - -2. Configure NuttX. For example, for the RGMP NSH configuration, do the - following: - - cd - cd tools - ./configure.sh rgmp/nsh - cd .. - -3. Edit Make.defs so that it can determine the include paths to the RGMP - installation directory. I made this change to /Make.defs: - - --- configs/rgmp/nsh/Make.defs 2011-05-12 11:19:26.527273500 -0600 - +++ ./Make.defs 2011-05-12 12:52:42.847364700 -0600 - @@ -37,6 +37,7 @@ - - include ${TOPDIR}/.config - - +RGMP_INST_DIR := /home/patacongo/projects/rgmp/rgmp/rtos - RGMPLIBDIR := $(RGMP_INST_DIR)/lib - RGMPINCDIR := $(RGMP_INST_DIR)/include - RGMPLKSCPT := $(RGMP_INST_DIR)/etc/x86.ld - -NOTE: This needs to be better integrated with the RGMP build process. If -you follow the above instructions, NuttX for RGMP will compile error-free -but will fail at link time: - - LD: nuttx.exe - ld: cannot open linker script file /home/patacongo/projects/rgmp/rgmp/rtos/etc/x86.ld: No such file or directory - +RGMP README File +================ + +RGMP stands for RTOS and GPOS on Multi-Processor. RGMP is a project for +running GPOS and RTOS simultaneously on multi-processor platforms. You can +port your favorite RTOS to RGMP together with an unmodified Linux to form a +hybrid operating system. This makes your application able to use both RTOS +and GPOS features. + +See http://rgmp.sourceforge.net/wiki/index.php/Main_Page for further +information about RGMP. + +Ubuntu Build Instructions +-------------------------- +Build requirements: +Hardware: x86 PC +Software: Ubuntu 10.04 or Ubuntu 10.10 + +Run requirements: +Hardware: multi-processor x86 PC +Software: Ubuntu 10.04 or Ubuntu 10.10 + +1. Download RGMP from the following URL: + + http://rgmp.sourceforge.net/wiki/index.php/Download + + You should choose a right verion of RGMP compatible with this NuttX release. + Extract the tar file: + + $ tar -xjvf rgmp-.tar.bz2 + +2. Get Linux kernel header: + + $ sudo apt-get install linux-headers-$(uname -r) + +3. Build and install RGMP: + + $ cd + $ ./configure + $ make + $ sudo make install + $ sudo /usr/rgmp/setup + $ exit + +4. Configure NuttX. For example, for the RGMP NSH configuration, do the + following: + + $ cd + $ cd tools + $ ./configure.sh rgmp/nsh + $ cd .. + +5. Build NuttX. Get the binary image at /kernel.img. + + $ cd + $ make + +6. Run NuttX in RGMP: + + $ cd + $ su + $ rgmp_run + + +Other Linux OS Build Instruction +-------------------------------------- +Requirements: +Hardware: multi-processor x86 PC +Software: running Linux kernel 2.6.32 or 2.6.35 kernel + +1. Get your running Linux kernel header under /usr/src/linux-headers-$(uname -r) + directory. + +2. Following the Ubuntu steps begin at 3. + +Note: You can configure the RGMP to find Linux kernel header in a different + place and install RGMP to a different place. See information printed + by the following instruction: + + $ cd + $ ./configure -h + + + diff --git a/configs/rgmp/default/defconfig b/configs/rgmp/default/defconfig index 02dfcd7efa..772a1671fd 100644 --- a/configs/rgmp/default/defconfig +++ b/configs/rgmp/default/defconfig @@ -251,13 +251,14 @@ CONFIG_NPTHREAD_KEYS=4 CONFIG_NFILE_DESCRIPTORS=32 CONFIG_NFILE_STREAMS=16 CONFIG_NAME_MAX=32 -CONFIG_STDIO_BUFFER_SIZE=1024 +CONFIG_STDIO_BUFFER_SIZE=64 CONFIG_NUNGET_CHARS=2 CONFIG_PREALLOC_MQ_MSGS=32 CONFIG_MQ_MAXMSGSIZE=32 CONFIG_MAX_WDOGPARMS=4 CONFIG_PREALLOC_WDOGS=32 CONFIG_PREALLOC_TIMERS=8 +CONFIG_STDIO_LINEBUFFER=y # # FAT filesystem configuration diff --git a/configs/rgmp/nsh/defconfig b/configs/rgmp/nsh/defconfig index 4bef966e14..d8db04caad 100644 --- a/configs/rgmp/nsh/defconfig +++ b/configs/rgmp/nsh/defconfig @@ -251,13 +251,14 @@ CONFIG_NPTHREAD_KEYS=4 CONFIG_NFILE_DESCRIPTORS=32 CONFIG_NFILE_STREAMS=16 CONFIG_NAME_MAX=32 -CONFIG_STDIO_BUFFER_SIZE=1024 +CONFIG_STDIO_BUFFER_SIZE=64 CONFIG_NUNGET_CHARS=2 CONFIG_PREALLOC_MQ_MSGS=32 CONFIG_MQ_MAXMSGSIZE=32 CONFIG_MAX_WDOGPARMS=4 CONFIG_PREALLOC_WDOGS=32 CONFIG_PREALLOC_TIMERS=8 +CONFIG_STDIO_LINEBUFFER=y # # FAT filesystem configuration