Hello Qiao Yang, I have prepared testing on RPi B+ hardware last days I have got to test your RTEMS branch
https://github.com/yangqiao/rtems I have tried e89884b add memory table entry for frame buffer (try to cover all possibility, may be larger afterward if it's not enough) and then b560cb2 refactor outch scratch which has been left in my local copy from the previous fetch. I have been able to build RTEMS as well as graphic libraries. I have tried to build my standard shell test code and some graphic test. My setup host system Debian Linux amd64 ------------------------------------------------------------- tools - local build arm-rtems4.11-gcc (GCC) 4.9.2 with newlib newlib-2.2.0.20150423, binutils 2.24 Configured with: ../../../src/gcc-4.9/configure --target=arm-rtems4.11 --prefix=/usr --build=x86_64-pc-linux-gnu --enable-languages=c,c++ --disable-libstdcxx-pch --with-gnu-ld --with-gnu-as --enable-threads --enable-target-optspace --with-system-zlib --verbose --disable-nls --without-included-gettext --disable-win32-registry --with-newlib --enable-plugin --enable-newlib-io-c99-formats --enable-version-specific-runtime-libs --enable-newlib-iconv --disable-lto used successfully for LPC4078 and LPC1778 RTEMS ------------------------------------------------------------- RTEMS configured ../../../git/rtems-yangqiao/configure --target=arm-rtems4.11 --prefix=/opt/rtems4.11 \ --enable-rtems-inlines --disable-multiprocessing --enable-cxx \ --enable-rdbg --enable-maintainer-mode --enable-tests=samples \ --enable-networking --enable-posix --disable-itron --disable-ada \ --disable-expada --disable-multilib --disable-docs \ --enable-rtemsbsp="raspberrypi" ------------------------------------------------------------- Raspberry Pi direct boot by config.txt options kernel=appfoo.bin generated by arm-rtems4.11-objcopy -R -S -O binary "$EXE_NAME" "$EXE_NAME.bin" ------------------------------------------------------------- Raspberry Pi boot over U-boot and extlinux/extlinux.conf TIMEOUT 100 DEFAULT default MENU TITLE Boot menu LABEL RTEMS appfoo MENU LABEL RTEMS appfoo LINUX appfoo.img FDTDIR . Image generated by arm-rtems4.11-objcopy -R -S -O binary "$EXE_NAME" "$EXE_NAME.bin" || exit 1 cat "$EXE_NAME.bin" | gzip -9 >"$EXE_NAME.gz" mkimage \ -A arm -O rtems -T kernel -a 0x00008000 -e 0x00008000 -n "RTEMS" \ -d "$EXE_NAME.gz" "$EXE_NAME.img" ------------------------------------------------------------- The monitor resolution has been correctly obtained and printed for all combinations but then there has been no progress/output on serial port even on HDMI output Startup log for U-boot case ------------------------------------------------------------- U-Boot 2015.04-rc2-gc5ec3a2 (Mar 05 2015 - 21:46:11) DRAM: 448 MiB WARNING: Caches not enabled RPI Model B+ MMC: bcm2835_sdhci: 0 reading uboot.env In: serial Out: lcd Err: lcd Net: Net Initialization Skipped No ethernet found. Hit any key to stop autoboot: 0 switch to partitions #0, OK mmc0 is current device Scanning mmc 0:1... Found /extlinux/extlinux.conf Retrieving file: /extlinux/extlinux.conf reading /extlinux/extlinux.conf 2176 bytes read in 20 ms (105.5 KiB/s) Boot menu 1: Linux 3.18.8-rt2+ with Overlay 2: Linux 3.18.8-rt2+ with Aufs 3: Linux 3.18.8-rt2+ RW root 4: Linux 3.18.8-rt2+ NFS BusyBox 5: Linux 3.18.8-rt2+ NFS Overlay 6: Linux 3.18.8-rt2+ NFS RW 7: RTEMS appfoo 8: RTEMS demo_suitk 9: Boot by localcmd Enter choice: 8 8: RTEMS demo_suitk Retrieving file: /extlinux/demo_suitk.img reading /extlinux/demo_suitk.img 375420 bytes read in 89 ms (4 MiB/s) Retrieving file: /extlinux/./bcm2835-rpi-b-plus.dtb reading /extlinux/./bcm2835-rpi-b-plus.dtb 4702 bytes read in 28 ms (163.1 KiB/s) ## Booting kernel from Legacy Image at 01000000 ... Image Name: RTEMS Image Type: ARM RTEMS Kernel Image (gzip compressed) Data Size: 375356 Bytes = 366.6 KiB Load Address: 00008000 Entry Point: 00008000 Verifying Checksum ... OK Uncompressing Kernel Image ... OK ## Transferring control to RTEMS (at address 00008000) ... [+] framebuffer initialize width:1680 height:1050 [+] framebuffer use display resolution 1680*1050 [+] write to mailbox [+] read mailbox [#] Done read mailbox, return val: 0 [#]FrameBufferInfo: width : 1680 [#]FrameBufferInfo: height : 1050 [#]FrameBufferInfo: vWidth : 1680 [#]FrameBufferInfo: vHeight : 1050 [#]FrameBufferInfo: pitch : 6720 [#]FrameBufferInfo: bitDepth : 32 [#]FrameBufferInfo: x_offset : 0 [#]FrameBufferInfo: y_offset : 0 [#]FrameBufferInfo: pointer : 0 [#]FrameBufferInfo: size : 0 [#]_RPI_initVideo: maxCol : 210 [#]_RPI_initVideo: maxRow : 65 ------------------------------------------------------------- Please, report more about actual state of your work and what (which examples, test code) should work or if I have done some configuration incorrect way. I suggest to keep console on serial port and allow framebuffer testing through registered device. As for Microwindows build for Raspberry Pi, I have to disable mouse and keyboard build because it doesnot build with micro input driver (UID) RTEMS driver enabled in my Raspberry Pi config. diff --git a/src/drivers/Objects.rules b/src/drivers/Objects.rules index 297826c..5802748 100644 --- a/src/drivers/Objects.rules +++ b/src/drivers/Objects.rules @@ -253,8 +253,8 @@ MW_CORE_OBJS += $(MW_DIR_OBJ)/drivers/kbd_pipe.o endif ifeq ($(ARCH), RTEMS) -MW_CORE_OBJS += $(MW_DIR_OBJ)/drivers/kbd_rtems.o -MW_CORE_OBJS += $(MW_DIR_OBJ)/drivers/mou_rtems.o +MW_CORE_OBJS += $(MW_DIR_OBJ)/drivers/kbd_null.o +MW_CORE_OBJS += $(MW_DIR_OBJ)/drivers/mou_null.o endif # RTEMS architecture ifeq ($(LIRCKBD2), Y) I would worth to collect somewhere all RTEMS on RPi bare boot and U-boot options and configurations. I would suggest to put it into RTEMS Wiki, i.e https://devel.rtems.org/wiki/TBR/BSP/RaspberryPi if no better name is found. Best wishes, Pavel _______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel