I was not able to run "Hello world" on my board(imx6).

taeung <[email protected]>
Newsgroups gmane.comp.micro-kernel.l4.devel
Message-ID <[email protected]>
Hello, L4 hackers.

I have questions about booting "Hello world" on myboard.
Please help me.

I'm try to boot "Hello world + L4re + fiasco" on my board of which name 
is 'freescale i.MX6 Quad SABRE SD'(Cortex-A9,ARMv7).
I built L4re and Fiasco. So, i got L4 build tree and fiasco image.
Although i have built uimage file by "make uimage" and and i try to 
"make qemu", i was not able to run "hello world".
(For reference,i have run original linux of which name is Linux/ARM, OS 
Kernel ,Linux-3.0.35-2508-g54750ff on my board(Freescale imx6q_sabre_sd))

<1. Result of the try booting on my board after "make uimage">
========================================================================
MMC read: dev # 2, block # 2048, count 8192 ... 8192 blocks read: OK
## Booting kernel from Legacy Image at 10800000 ...
    Image Name:   L4 Image #3
    Image Type:   ARM Linux Kernel Image (uncompressed)
    Data Size:    1224704 Bytes =  1.2 MB
    Load Address: 11000000
    Entry Point:  11000000
    Verifying Checksum ... OK
    Loading Kernel Image ... OK
OK

Starting kernel ...
========================================================================

<1-1. My Question >
Why stop at "Starting kernel..." ?
Is wrong my environment variables in u-boot ?
(If it is the problem, how fix u-boot environment variables from '1-4'? )
Or, my toolchains(linaro gcc 4.6 (64bit) ) are a wrong choice ?

<1-2. Fiasco : What i configured for myboard >
========================================================================
Target configuration  --->    Architecture (ARM processor family)
Platform (Freescale i.MX)
                                              Freescale i.MX (i.MX6)
                                              CPU (ARM Cortex-A9 CPU)

                                              [ ] Enable alignment check 
(NEW)
                                              [ ]Execution Model 
(Standard mode)
                                              [ ] Enable the deprecated 
'swp' instruction (NEW)
                                              [*] Enable L2 Cache
                                              [ ] Enable FPU co-processor
                                              [ ] Enable CPU errata 
workarounds (NEW)

Kernel options  --->
             [*] Enable multi processor support
             (4)   Maximal supported number of CPUs (NEW)
             [*] Fine-grained CPU time
             Scheduler (Fixed priority scheduler)
========================================================================

<1-3. L4 re : What i configured for myboard>
========================================================================
Target Architecture
   3. ARM architecture (BUILD_ARCH_arm) (NEW)

CPU variant
   9. ARMv7A type CPU (CPU_ARM_ARMV7A) (NEW)

Platform Selection
   7. Freescale i.MX6 (PLATFORM_TYPE_imx6) (NEW)

Automatically determine internal gcc preprocessor names 
(INT_CPP_NAME_SWITCH) [Y/n] (NEW) Y
Automatically determine internal ld names (INT_LD_NAME_SWITCH) [Y/n] (NEW) Y
Strip binaries on install (BID_STRIP_PROGS) [N/y/?] (NEW) N
GCC: Omit Frame-pointers (BID_GCC_OMIT_FP) [N/y/?] (NEW) N
Build doc directories (BID_BUILD_DOC) [N/y/?] (NEW) N
Enable RELEASE flag (RELEASE_MODE) [N/y/?] (NEW) N

========================================================================

<1-4. U-boot : what i set environment variable for my board> 
(u-boot-mx6q-sabresd.bin is supported from freescale home page.)
========================================================================
MX6Q SABRESD U-Boot > setenv loadaddr 0x10800000
MX6Q SABRESD U-Boot > setenv bootargs_base 'setenv bootargs 
console=ttymxc0,115200'
MX6Q SABRESD U-Boot > setenv bootargs_mmc 'setenv bootargs ${bootargs} 
root=/dev/mmcblk1p1 rootwait rw video=mxcfb1:dev=ldb,LDB-XGA,if=RGB666 
video=mxcfb0:dev=hdmi,1920x1080M@60,if=RGB24'
MX6Q SABRESD U-Boot > setenv bootcmd_mmc 'run bootargs_base 
bootargs_mmc;mmc dev 2;mmc read ${loadaddr} 0x800 0x2000;bootm'
MX6Q SABRESD U-Boot > setenv bootcmd 'run bootcmd_mmc'
MX6Q SABRESD U-Boot > saveenv
Saving Environment to MMC...
Writing to MMC(2)... done
MX6Q SABRESD U-Boot > run bootcmd
========================================================================



<2. Result of the second try "make qemu">
========================================================================
root@taeung-MS-7798:/path/to/obj2/tudos# make qemu E=hello-cfg 
MODULE_SEARCH_PATH=/path/to/obj2/fiasco/
make[1]: Entering directory `/home/taeung/Hello_test_l4/src/l4'
   ... Generating bootstrap.ld
Building entry "hello-cfg".
Merging image /path/to/obj2/fiasco//fiasco to mod00 [360kB]
Merging image /path/to/obj2/tudos/bin/arm_armv7a/l4f/sigma0 to mod01 [351kB]
Merging image /path/to/obj2/tudos/bin/arm_armv7a/l4f/moe to mod02 [2365kB]
Merging image /path/to/obj2/tudos/bin/arm_armv7a/l4f/l4re to mod03 [1228kB]
Merging image /path/to/obj2/tudos/bin/arm_armv7a/l4f/ned to mod04 [2387kB]
Merging image /path/to/obj2/tudos/bin/arm_armv7a/l4f/hello.cfg to mod05 
[1kB]
Merging image /path/to/obj2/tudos/bin/arm_armv7a/l4f/hello to mod06 [896kB]
   ... Compiling exec.o
   ... Compiling module.o
   ... Compiling ARCH-arm/crt0.o
   ... Compiling region.o
   ... Compiling startup.o
   ... Compiling init_kip_v2.o
   ... Compiling init_kip_v4.o
   ... Compiling libc_support+.o
   ... Compiling patch.o
   ... Compiling koptions.o
   ... Compiling platform/imx.o
   ... Compiling loader_mbi.o
   ... Compiling ARCH-arm/reboot.o
   ==> Linking bootstrap.elf
   ==> Post-processing bootstrap.elf
   ==> "bootstrap.elf" built
   ==> Installing bootstrap.elf in image directory
   ==> Installing bootstrap_hello-cfg in image directory
   ==> Installing bootstrap_hello-cfg.elf in image directory
   Image size(s) in bytes:
         bootstrap_hello-cfg.elf:  1257856
   Start address: 0x11000000
   --> Build-Nr: 4
   ==> Installing bootstrap.elf to local build-tree
   ==> Installing bootstrap_hello-cfg to local build-tree
   ==> Installing bootstrap_hello-cfg.elf to local build-tree
QEmu-cmd: qemu-system-arm -kernel /path/to/obj2/tudos/images/bootstrap.elf
qemu: fatal: Trying to execute code outside RAM or ROM at 0x11000000

R00=00000000 R01=00000000 R02=00000000 R03=00000000
R04=00000000 R05=00000000 R06=00000000 R07=00000000
R08=00000000 R09=00000000 R10=00000000 R11=00000000
R12=00000000 R13=00000000 R14=00000000 R15=11000000
PSR=400001d3 -Z-- A svc32
s00=00000000 s01=00000000 d00=0000000000000000
s02=00000000 s03=00000000 d01=0000000000000000
s04=00000000 s05=00000000 d02=0000000000000000
s06=00000000 s07=00000000 d03=0000000000000000
s08=00000000 s09=00000000 d04=0000000000000000
s10=00000000 s11=00000000 d05=0000000000000000
s12=00000000 s13=00000000 d06=0000000000000000
s14=00000000 s15=00000000 d07=0000000000000000
s16=00000000 s17=00000000 d08=0000000000000000
s18=00000000 s19=00000000 d09=0000000000000000
s20=00000000 s21=00000000 d10=0000000000000000
s22=00000000 s23=00000000 d11=0000000000000000
s24=00000000 s25=00000000 d12=0000000000000000
s26=00000000 s27=00000000 d13=0000000000000000
s28=00000000 s29=00000000 d14=0000000000000000
s30=00000000 s31=00000000 d15=0000000000000000
FPSCR: 00000000
bash: line 3:  5158 Aborted                 (core dumped) $qemu -kernel 
/path/to/obj2/tudos/images/bootstrap.elf
make[1]: *** [qemu] Error 134
make[1]: Leaving directory `/home/taeung/Hello_test_l4/src/l4'
make: *** [qemu] Error 2
========================================================================

<2-1. My Question >

Qemu support cpu such as cortex-A9 and ARMv7.
But it not support mahine information for Freescale i.MX6 quad sabre sd.

Because this is the reason, Can't boot "Helloworld + L4re+Fiasco" by qemu ?
Or Is there other reason ?

Thank you, if you help whatever.

/Regards,

Taeung Song | Student of Computer Engineering
Hansung University./

_______________________________________________
l4-hackers mailing list
[email protected]
http://os.inf.tu-dresden.de/mailman/listinfo/l4-hackers
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.