|
|
|
Hugues Balp
|
Thanks for your advices.
I have now downloaded from the OKL4 wiki the binary version of the arm-unkown-linux-gnueabi crosstool chain and recompiled from scratch the singlecell example within the binary SDK. The images are well generated but they don't work better on my host than the images I have built in parallel with my own crosstool chain... In both cases a warning exception is raised because no DNS server is found, which is a little surprising when the test is performed locally. "Warning: No DNS servers found" This problem doesn't seem to be blocking and occurs also in other qemu use cases contexts as I can when googling a little on the subject... But perhaps this explain what happens after ? I don't know ! So when I run qemu with the following command: qemu-system-arm -s -M versatileab -start-addr 0x07900000 -nographic -kernel build.micro-debug/images/image.elf the warning is printed on stdout and the process enter in an infinite loop without printing any "Hello World" message... I've tried to debug with gdb by starting qemu with the '-s' option and running gdb, loading the symbol table of the "hello" program and opening a remote target connection to the default local port 1234. After the connection to the qemu process I typed 'c' to continue the execution and then stopped to see the stack... No symbols are readable... Only some ?? and 0x0.... I don't have change the endian-ness ( little by default on PC and ARM ). What is surprising is to see the entry point address settled to 0x7900000 only in the image.boot and image.sim files and not in the image.elf nor in the image.elf.nobits files. Another suprising thing is to see the following message on stderr when viewing the full symbol list of the elf image thanks to "readelf -a" ... 2247: 8000fba0 4 OBJECT GLOBAL DEFAULT 6 hello-_kr_malloc_freep 2248: 8000fec0 4 OBJECT GLOBAL DEFAULT 6readelf: Warning: corrupt note found at offset 0 into core notes readelf: Warning: type: 1, namesize: 00000011, descsize: 00000300 hello-sys_siglist 2249: 8000fba4 4 OBJECT GLOBAL DEFAULT 6 hello-__malloc_bss ... You can also find here attached the elf header so as the system traces when I run qemu with the image.elf file....( I have splitted the end because it is a periodic repetition of getimeofday and select calls... ). Concerning the compilation of qemu, I have tried both with gcc-3.4.6 et gcc-4.2.4. No differences when loading the image.... The compilation process of qemu-system-arm seems to be ok because I have tried it with another SDK ( namely for the kzm platform supporting arm1136js processors ) and the hello elf image runs well for this target. In that case, the readelf -a command doesn't raise a warning as for the arm629ejs target ! To sum up the hello world is ok on my host for arm1136js but not for arm926ejs, and I think something goes wrong with the SDK for arm926ejs... Did you have tested the singlecell example after recompilation from scratch of the crosstool chain and of the SDK-arm926ejs ? Could you please try the image I have sent to you in the preceding message to check if you encouter the same troubles with it ? On the other hand I could try a 'reference' image.elf file the singlecell example on arm926ejs that you can send to me in order to test if the problem is due to my system environments or not ( ubuntu hardy and gentoo based-systems ). Best regards, Hugues Balp. ------------------------------------------------------------------------ ELF Header: Magic: 7f 45 4c 46 01 01 01 61 00 00 00 00 00 00 00 00 Class: ELF32 Data: 2's complement, little endian Version: 1 (current) OS/ABI: ARM ABI Version: 0 Type: EXEC (Executable file) Machine: ARM Version: 0x1 Entry point address: 0xf0000000 Start of program headers: 52 (bytes into file) Start of section headers: 378520 (bytes into file) Flags: 0x200, GNU EABI, software FP Size of this header: 52 (bytes) Size of program headers: 32 (bytes) Number of program headers: 7 Size of section headers: 40 (bytes) Number of section headers: 24 Section header string table index: 21 ------------------------------------------------------------------------ execve("/opt/okqemu/bin/qemu-system-arm", ["/opt/okqemu/bin/qemu-system-arm", "-M", "versatileab", "-start-addr", "0x07900000", "-nographic", "-kernel", "build.micro-debug/images/image.e"...], [/* 37 vars */]) = 0 uname({sys="Linux", node="TRTP8051", ...}) = 0 brk(0) = 0x8482000 brk(0x8482cb0) = 0x8482cb0 set_thread_area({entry_number:-1 -> 6, base_addr:0x8482830, limit:1048575, seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, seg_not_present:0, useable:1}) = 0 set_tid_address(0x8482878) = 13376 set_robust_list(0x8482880, 0xc) = 0 futex(0xbfef00c8, 0x81 /* FUTEX_??? */, 1) = 0 rt_sigaction(SIGRTMIN, {0x8199340, [], SA_SIGINFO}, NULL, 8) = 0 rt_sigaction(SIGRT_1, {0x8199270, [], SA_RESTART|SA_SIGINFO}, NULL, 8) = 0 rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) = 0 getrlimit(RLIMIT_STACK, {rlim_cur=8192*1024, rlim_max=RLIM_INFINITY}) = 0 uname({sys="Linux", node="TRTP8051", ...}) = 0 brk(0x84a3cb0) = 0x84a3cb0 brk(0x84a4000) = 0x84a4000 rt_sigaction(SIGPIPE, {SIG_IGN}, NULL, 8) = 0 clock_gettime(CLOCK_MONOTONIC, {8268, 717921896}) = 0 rt_sigaction(SIGALRM, {0x8049100, ~[RTMIN RT_1], 0}, NULL, 8) = 0 timer_create(CLOCK_REALTIME, {(nil), SIGALRM, SIGEV_SIGNAL, {...}}, {(nil)}) = 0 rt_sigaction(SIGUSR2, {0x805a7b0, ~[RTMIN RT_1], 0}, NULL, 8) = 0 open("/etc/resolv.conf", O_RDONLY|O_LARGEFILE) = 3 fstat64(3, {st_mode=S_IFREG|0644, st_size=151, ...}) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7f9c000 read(3, "# Dynamic resolv.conf(5) file fo"..., 4096) = 151 read(3, "", 4096) = 0 close(3) = 0 munmap(0xb7f9c000, 4096) = 0 write(2, "Warning: No DNS servers found\n", 30Warning: No DNS servers found ) = 30 uname({sys="Linux", node="TRTP8051", ...}) = 0 open("/etc/resolv.conf", O_RDONLY) = 3 fstat64(3, {st_mode=S_IFREG|0644, st_size=151, ...}) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7f9c000 read(3, "# Dynamic resolv.conf(5) file fo"..., 4096) = 151 read(3, "", 4096) = 0 close(3) = 0 munmap(0xb7f9c000, 4096) = 0 uname({sys="Linux", node="TRTP8051", ...}) = 0 stat64("/etc/resolv.conf", {st_mode=S_IFREG|0644, st_size=151, ...}) = 0 open("/etc/resolv.conf", O_RDONLY) = 3 fstat64(3, {st_mode=S_IFREG|0644, st_size=151, ...}) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7f9c000 read(3, "# Dynamic resolv.conf(5) file fo"..., 4096) = 151 read(3, "", 4096) = 0 close(3) = 0 munmap(0xb7f9c000, 4096) = 0 uname({sys="Linux", node="TRTP8051", ...}) = 0 socket(PF_FILE, SOCK_STREAM, 0) = 3 fcntl64(3, F_SETFL, O_RDWR|O_NONBLOCK) = 0 connect(3, {sa_family=AF_FILE, path="/var/run/nscd/socket"}, 110) = -1 ENOENT (No such file or directory) close(3) = 0 socket(PF_FILE, SOCK_STREAM, 0) = 3 fcntl64(3, F_SETFL, O_RDWR|O_NONBLOCK) = 0 connect(3, {sa_family=AF_FILE, path="/var/run/nscd/socket"}, 110) = -1 ENOENT (No such file or directory) close(3) = 0 open("/etc/nsswitch.conf", O_RDONLY) = 3 fstat64(3, {st_mode=S_IFREG|0644, st_size=513, ...}) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7f9c000 read(3, "# /etc/nsswitch.conf\n#\n# Example"..., 4096) = 513 read(3, "", 4096) = 0 close(3) = 0 munmap(0xb7f9c000, 4096) = 0 open("/etc/ld.so.cache", O_RDONLY) = 3 fstat64(3, {st_mode=S_IFREG|0644, st_size=101035, ...}) = 0 mmap2(NULL, 101035, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7f84000 close(3) = 0 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) open("/lib/libnss_files.so.2", O_RDONLY) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\320\30"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0644, st_size=38408, ...}) = 0 mmap2(NULL, 41624, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7f79000 mmap2(0xb7f82000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x8) = 0xb7f82000 close(3) = 0 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) open("/lib/libc.so.6", O_RDONLY) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\260e\1"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0755, st_size=1294572, ...}) = 0 mmap2(NULL, 1300080, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7e3b000 mmap2(0xb7f73000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x138) = 0xb7f73000 mmap2(0xb7f76000, 9840, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb7f76000 close(3) = 0 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) open("/lib/ld-linux.so.2", O_RDONLY) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\20\10\0"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0755, st_size=113248, ...}) = 0 mmap2(NULL, 112232, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7e1f000 mmap2(0xb7e39000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1a) = 0xb7e39000 close(3) = 0 mprotect(0xb7f73000, 4096, PROT_READ) = 0 munmap(0xb7f84000, 101035) = 0 open("/etc/host.conf", O_RDONLY) = 3 fstat64(3, {st_mode=S_IFREG|0644, st_size=92, ...}) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7f9c000 read(3, "# The \"order\" line is only used "..., 4096) = 92 read(3, "", 4096) = 0 close(3) = 0 munmap(0xb7f9c000, 4096) = 0 futex(0x828c440, 0x81 /* FUTEX_??? */, 2147483647) = 0 mmap2(NULL, 1048576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7d1f000 open("/etc/hosts", O_RDONLY|0x80000 /* O_??? */) = 3 fcntl64(3, F_GETFD) = 0x1 (flags FD_CLOEXEC) fstat64(3, {st_mode=S_IFREG|0644, st_size=334, ...}) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7f9c000 read(3, "127.0.0.1\tlocalhost\n#192.168.1.1"..., 4096) = 334 close(3) = 0 munmap(0xb7f9c000, 4096) = 0 mmap2(NULL, 134225920, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xafd1d000 mmap2(NULL, 33554432, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xadd1d000 mprotect(0x8475000, 8192, PROT_READ|PROT_WRITE|PROT_EXEC) = 0 mmap2(NULL, 18878464, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xacb1c000 mmap2(NULL, 139264, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xacafa000 ioctl(0, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo ...}) = 0 fcntl64(0, F_GETFL) = 0x2 (flags O_RDWR) ioctl(0, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo ...}) = 0 ioctl(0, SNDCTL_TMR_START or TCSETS, {B38400 opost -isig -icanon -echo ...}) = 0 ioctl(0, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost -isig -icanon -echo ...}) = 0 fcntl64(0, F_SETFL, O_RDONLY|O_NONBLOCK) = 0 brk(0) = 0x84a4000 brk(0x84c5000) = 0x84c5000 brk(0) = 0x84c5000 brk(0x84e7000) = 0x84e7000 brk(0) = 0x84e7000 brk(0x8509000) = 0x8509000 brk(0) = 0x8509000 brk(0x852b000) = 0x852b000 brk(0) = 0x852b000 brk(0x854d000) = 0x854d000 brk(0) = 0x854d000 brk(0x856f000) = 0x856f000 brk(0) = 0x856f000 brk(0x8591000) = 0x8591000 brk(0) = 0x8591000 brk(0x85b3000) = 0x85b3000 brk(0) = 0x85b3000 brk(0x85d5000) = 0x85d5000 brk(0) = 0x85d5000 brk(0x85f7000) = 0x85f7000 time(NULL) = 1226572445 open("/etc/localtime", O_RDONLY) = 3 fstat64(3, {st_mode=S_IFREG|0644, st_size=2945, ...}) = 0 fstat64(3, {st_mode=S_IFREG|0644, st_size=2945, ...}) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xacaf9000 read(3, "TZif2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\f\0\0\0\f\0\0"..., 4096) = 2945 _llseek(3, -28, [2917], SEEK_CUR) = 0 read(3, "\nCET-1CEST,M3.5.0,M10.5.0/3\n", 4096) = 28 close(3) = 0 munmap(0xacaf9000, 4096) = 0 stat64("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2945, ...}) = 0 open("build.micro-debug/images/image.elf", O_RDONLY|O_LARGEFILE) = 3 read(3, "\177ELF\1\1\1a\0\0\0\0\0\0\0\0", 16) = 16 _llseek(3, 0, [0], SEEK_SET) = 0 read(3, "\177ELF\1\1\1a\0\0\0\0\0\0\0\0\2\0(\0\1\0\0\0\0\0\0\360"..., 52) = 52 _llseek(3, 378520, [378520], SEEK_SET) = 0 read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 960) = 960 _llseek(3, 342405, [342405], SEEK_SET) = 0 read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0\0\360\0\0\0"..., 36112) = 36112 _llseek(3, 303104, [303104], SEEK_SET) = 0 brk(0) = 0x85f7000 brk(0x861d000) = 0x861d000 read(3, "\0$a\0$d\0_Z19finish_sys_schedulev\0"..., 38197) = 38197 _llseek(3, 52, [52], SEEK_SET) = 0 read(3, "\1\0\0\0\0\200\0\0\0\0\0\360\0\0\220\7,w\2\0,w\2\0\5\0"..., 224) = 224 mmap2(NULL, 163840, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xacad2000 _llseek(3, 32768, [32768], SEEK_SET) = 0 read(3, "\323\360)\343x\0\240\343\20\17\1\356~\377\27\356\375\377"..., 161580) = 161580 munmap(0xacad2000, 163840) = 0 _llseek(3, 196608, [196608], SEEK_SET) = 0 read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 7120) = 7120 _llseek(3, 229376, [229376], SEEK_SET) = 0 read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 24576) = 24576 _llseek(3, 262144, [262144], SEEK_SET) = 0 read(3, "\34\0\237\345\0\0\220\345D\0\220\345\26\0\0\352\4\0\235"..., 31276) = 31276 _llseek(3, 293436, [293436], SEEK_SET) = 0 read(3, "\0\0\0\0\0\0\0\0\0\0\0\0,y\0\200\\\373\0\200\0\0\0\0\360"..., 344) = 344 _llseek(3, 294912, [294912], SEEK_SET) = 0 read(3, "\33\0\244\262\204\10\1\200\334\0\1\200\214\10\1\200\340"..., 2592) = 2592 _llseek(3, 299008, [299008], SEEK_SET) = 0 read(3, "(\1\25\6\1\0\0\0\2\0\1\0\0\4 \4\3\0\2\0\0\1\0\1\0\1\0\0"..., 4096) = 4096 close(3) = 0 clock_gettime(CLOCK_MONOTONIC, {8268, 758189225}) = 0 clock_gettime(CLOCK_MONOTONIC, {8268, 758255228}) = 0 timer_gettime(0, {it_interval={0, 0}, it_value={0, 0}}) = 0 timer_settime(0, 0, {it_interval={0, 0}, it_value={0, 250000}}, NULL) = 0 clock_gettime(CLOCK_MONOTONIC, xd{8268, 758471539}) = 0 clock_gettime(CLOCK_MONOTONIC, {8268, 758534260}) = 0 timer_gettime(0, {it_interval={0, 0}, it_value={0, 65330}}) = 0 --- SIGALRM (Alarm clock) @ 0 (0) --- sigreturn() = ? (mask now []) select(1, [0], [], [], {0, 0}) = 0 (Timeout) gettimeofday({1226572445, 40366}, NULL) = 0 clock_gettime(CLOCK_MONOTONIC, {8268, 759678186}) = 0 clock_gettime(CLOCK_MONOTONIC, {8268, 759815013}) = 0 clock_gettime(CLOCK_MONOTONIC, {8268, 759925997}) = 0 clock_gettime(CLOCK_MONOTONIC, {8268, 760070646}) = 0 timer_gettime(0, {it_interval={0, 0}, it_value={0, 0}}) = 0 timer_settime(0, 0, {it_interval={0, 0}, it_value={0, 29000000}}, NULL) = 0 --- SIGALRM (Alarm clock) @ 0 (0) --- sigreturn() = ? (mask now []) select(1, [0], [], [], {0, 0}) = 0 (Timeout) gettimeofday({1226572445, 70676}, NULL) = 0 clock_gettime(CLOCK_MONOTONIC, {8268, 789870126}) = 0 clock_gettime(CLOCK_MONOTONIC, {8268, 789934454}) = 0 clock_gettime(CLOCK_MONOTONIC, {8268, 790031608}) = 0 clock_gettime(CLOCK_MONOTONIC, {8268, 790099288}) = 0 timer_gettime(0, {it_interval={0, 0}, it_value={0, 0}}) = 0 timer_settime(0, 0, {it_interval={0, 0}, it_value={0, 30000000}}, NULL) = 0 --- SIGALRM (Alarm clock) @ 0 (0) --- sigreturn() = ? (mask now []) etc... --- SIGTERM (Terminated) @ 0 (0) --- +++ killed by SIGTERM +++ Process 13376 detached _______________________________________________ Developer mailing list [hidden email] https://lists.okl4.org/mailman/listinfo/developer |
||||||||||||||||
|
Peter Howard
|
Hugues,
Checking round here, the SDK for the versatile is not set up, in the _debug_ kernel, for use with qemu. It (the debug kernel) is configured for use on the hardware (with JTAG). This needs to be made clear on the wiki. To get the example going, you should use the make line make BUILD=production and then change the qemu line to refer to build.micro-production/images/image.elf (or image.sim) That should allow you to see the examples running. Going back to your original email(s) I understand your intended target _is_ versatile. If you want to contact me off-list we can go through in more detail how to build either from the source or re-build the SDK to have it set up as you want. One other thing. We haven't seen the readelf errors that you are seeing (running on the image you provided). I suggest you try the arm-unknown-linux-gnueabi-readelf in the toolchain. On Fri, 2008-11-14 at 11:15 +0100, Hugues Balp wrote: > Thanks for your advices. > > I have now downloaded from the OKL4 wiki the binary version of the > arm-unkown-linux-gnueabi crosstool chain and recompiled from scratch > the singlecell example within the binary SDK. > > The images are well generated but they don't work better on my host > than the images I have built in parallel with my own crosstool chain... > > In both cases a warning exception is raised because no DNS server is found, > which is a little surprising when the test is performed locally. > > "Warning: No DNS servers found" > > This problem doesn't seem to be blocking and occurs also in other > qemu use cases contexts as I can when googling a little on the subject... > But perhaps this explain what happens after ? I don't know ! > > So when I run qemu with the following command: > > qemu-system-arm -s -M versatileab -start-addr 0x07900000 -nographic -kernel > build.micro-debug/images/image.elf > > the warning is printed on stdout and the process enter in an infinite loop > without printing any "Hello World" message... > > I've tried to debug with gdb by starting qemu with the '-s' option > and running gdb, > loading the symbol table of the "hello" program and > opening a remote target connection to the default local port 1234. > After the connection to the qemu process I typed 'c' to continue the > execution and then stopped to see the stack... > No symbols are readable... Only some ?? and 0x0.... > I don't have change the endian-ness ( little by default on PC and ARM ). > > What is surprising is to see the entry point address settled to > 0x7900000 only in the image.boot and image.sim files and not in the > image.elf nor in the image.elf.nobits files. > > Another suprising thing is to see the following message on stderr > when viewing the full symbol list of the elf image thanks to "readelf -a" > > ... > 2247: 8000fba0 4 OBJECT GLOBAL DEFAULT 6 hello-_kr_malloc_freep > 2248: 8000fec0 4 OBJECT GLOBAL DEFAULT 6readelf: Warning: corrupt note > found at offset 0 into core notes > readelf: Warning: type: 1, namesize: 00000011, descsize: 00000300 > hello-sys_siglist > 2249: 8000fba4 4 OBJECT GLOBAL DEFAULT 6 hello-__malloc_bss > ... > > You can also find here attached the elf header so as the system traces > when I run qemu with the image.elf file....( I have splitted the end > because it is a periodic repetition of getimeofday and select calls... ). > > Concerning the compilation of qemu, I have tried both with gcc-3.4.6 > et gcc-4.2.4. No differences when loading the image.... > > The compilation process of qemu-system-arm seems to be ok because I > have tried it with another SDK ( namely for the kzm platform > supporting arm1136js processors ) and the hello elf image runs > well for this target. In that case, the readelf -a command doesn't > raise a warning as for the arm629ejs target ! > > To sum up the hello world is ok on my host for arm1136js but not > for arm926ejs, and I think something goes wrong with the SDK for > arm926ejs... > > Did you have tested the singlecell example after recompilation > from scratch of the crosstool chain and of the SDK-arm926ejs ? > > Could you please try the image I have sent to you in the preceding > message to check if you encouter the same troubles with it ? > > On the other hand I could try a 'reference' image.elf file the > singlecell example on arm926ejs that you can send to me in order to test if the > problem is due to my system environments or not ( ubuntu hardy and > gentoo based-systems ). > > Best regards, > > Hugues Balp. > > > > ------------------------------------------------------------------------ > > ELF Header: > Magic: 7f 45 4c 46 01 01 01 61 00 00 00 00 00 00 00 00 > Class: ELF32 > Data: 2's complement, little endian > Version: 1 (current) > OS/ABI: ARM > ABI Version: 0 > Type: EXEC (Executable file) > Machine: ARM > Version: 0x1 > Entry point address: 0xf0000000 > Start of program headers: 52 (bytes into file) > Start of section headers: 378520 (bytes into file) > Flags: 0x200, GNU EABI, software FP > Size of this header: 52 (bytes) > Size of program headers: 32 (bytes) > Number of program headers: 7 > Size of section headers: 40 (bytes) > Number of section headers: 24 > Section header string table index: 21 > > ------------------------------------------------------------------------ > > execve("/opt/okqemu/bin/qemu-system-arm", ["/opt/okqemu/bin/qemu-system-arm", "-M", "versatileab", "-start-addr", "0x07900000", "-nographic", "-kernel", "build.micro-debug/images/image.e"...], [/* 37 vars */]) = 0 > uname({sys="Linux", node="TRTP8051", ...}) = 0 > brk(0) = 0x8482000 > brk(0x8482cb0) = 0x8482cb0 > set_thread_area({entry_number:-1 -> 6, base_addr:0x8482830, limit:1048575, seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, seg_not_present:0, useable:1}) = 0 > set_tid_address(0x8482878) = 13376 > set_robust_list(0x8482880, 0xc) = 0 > futex(0xbfef00c8, 0x81 /* FUTEX_??? */, 1) = 0 > rt_sigaction(SIGRTMIN, {0x8199340, [], SA_SIGINFO}, NULL, 8) = 0 > rt_sigaction(SIGRT_1, {0x8199270, [], SA_RESTART|SA_SIGINFO}, NULL, 8) = 0 > rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) = 0 > getrlimit(RLIMIT_STACK, {rlim_cur=8192*1024, rlim_max=RLIM_INFINITY}) = 0 > uname({sys="Linux", node="TRTP8051", ...}) = 0 > brk(0x84a3cb0) = 0x84a3cb0 > brk(0x84a4000) = 0x84a4000 > rt_sigaction(SIGPIPE, {SIG_IGN}, NULL, 8) = 0 > clock_gettime(CLOCK_MONOTONIC, {8268, 717921896}) = 0 > rt_sigaction(SIGALRM, {0x8049100, ~[RTMIN RT_1], 0}, NULL, 8) = 0 > timer_create(CLOCK_REALTIME, {(nil), SIGALRM, SIGEV_SIGNAL, {...}}, {(nil)}) = 0 > rt_sigaction(SIGUSR2, {0x805a7b0, ~[RTMIN RT_1], 0}, NULL, 8) = 0 > open("/etc/resolv.conf", O_RDONLY|O_LARGEFILE) = 3 > fstat64(3, {st_mode=S_IFREG|0644, st_size=151, ...}) = 0 > mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7f9c000 > read(3, "# Dynamic resolv.conf(5) file fo"..., 4096) = 151 > read(3, "", 4096) = 0 > close(3) = 0 > munmap(0xb7f9c000, 4096) = 0 > write(2, "Warning: No DNS servers found\n", 30Warning: No DNS servers found > ) = 30 > uname({sys="Linux", node="TRTP8051", ...}) = 0 > open("/etc/resolv.conf", O_RDONLY) = 3 > fstat64(3, {st_mode=S_IFREG|0644, st_size=151, ...}) = 0 > mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7f9c000 > read(3, "# Dynamic resolv.conf(5) file fo"..., 4096) = 151 > read(3, "", 4096) = 0 > close(3) = 0 > munmap(0xb7f9c000, 4096) = 0 > uname({sys="Linux", node="TRTP8051", ...}) = 0 > stat64("/etc/resolv.conf", {st_mode=S_IFREG|0644, st_size=151, ...}) = 0 > open("/etc/resolv.conf", O_RDONLY) = 3 > fstat64(3, {st_mode=S_IFREG|0644, st_size=151, ...}) = 0 > mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7f9c000 > read(3, "# Dynamic resolv.conf(5) file fo"..., 4096) = 151 > read(3, "", 4096) = 0 > close(3) = 0 > munmap(0xb7f9c000, 4096) = 0 > uname({sys="Linux", node="TRTP8051", ...}) = 0 > socket(PF_FILE, SOCK_STREAM, 0) = 3 > fcntl64(3, F_SETFL, O_RDWR|O_NONBLOCK) = 0 > connect(3, {sa_family=AF_FILE, path="/var/run/nscd/socket"}, 110) = -1 ENOENT (No such file or directory) > close(3) = 0 > socket(PF_FILE, SOCK_STREAM, 0) = 3 > fcntl64(3, F_SETFL, O_RDWR|O_NONBLOCK) = 0 > connect(3, {sa_family=AF_FILE, path="/var/run/nscd/socket"}, 110) = -1 ENOENT (No such file or directory) > close(3) = 0 > open("/etc/nsswitch.conf", O_RDONLY) = 3 > fstat64(3, {st_mode=S_IFREG|0644, st_size=513, ...}) = 0 > mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7f9c000 > read(3, "# /etc/nsswitch.conf\n#\n# Example"..., 4096) = 513 > read(3, "", 4096) = 0 > close(3) = 0 > munmap(0xb7f9c000, 4096) = 0 > open("/etc/ld.so.cache", O_RDONLY) = 3 > fstat64(3, {st_mode=S_IFREG|0644, st_size=101035, ...}) = 0 > mmap2(NULL, 101035, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7f84000 > close(3) = 0 > access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) > open("/lib/libnss_files.so.2", O_RDONLY) = 3 > read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\320\30"..., 512) = 512 > fstat64(3, {st_mode=S_IFREG|0644, st_size=38408, ...}) = 0 > mmap2(NULL, 41624, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7f79000 > mmap2(0xb7f82000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x8) = 0xb7f82000 > close(3) = 0 > access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) > open("/lib/libc.so.6", O_RDONLY) = 3 > read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\260e\1"..., 512) = 512 > fstat64(3, {st_mode=S_IFREG|0755, st_size=1294572, ...}) = 0 > mmap2(NULL, 1300080, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7e3b000 > mmap2(0xb7f73000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x138) = 0xb7f73000 > mmap2(0xb7f76000, 9840, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb7f76000 > close(3) = 0 > access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) > open("/lib/ld-linux.so.2", O_RDONLY) = 3 > read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\20\10\0"..., 512) = 512 > fstat64(3, {st_mode=S_IFREG|0755, st_size=113248, ...}) = 0 > mmap2(NULL, 112232, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7e1f000 > mmap2(0xb7e39000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1a) = 0xb7e39000 > close(3) = 0 > mprotect(0xb7f73000, 4096, PROT_READ) = 0 > munmap(0xb7f84000, 101035) = 0 > open("/etc/host.conf", O_RDONLY) = 3 > fstat64(3, {st_mode=S_IFREG|0644, st_size=92, ...}) = 0 > mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7f9c000 > read(3, "# The \"order\" line is only used "..., 4096) = 92 > read(3, "", 4096) = 0 > close(3) = 0 > munmap(0xb7f9c000, 4096) = 0 > futex(0x828c440, 0x81 /* FUTEX_??? */, 2147483647) = 0 > mmap2(NULL, 1048576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7d1f000 > open("/etc/hosts", O_RDONLY|0x80000 /* O_??? */) = 3 > fcntl64(3, F_GETFD) = 0x1 (flags FD_CLOEXEC) > fstat64(3, {st_mode=S_IFREG|0644, st_size=334, ...}) = 0 > mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7f9c000 > read(3, "127.0.0.1\tlocalhost\n#192.168.1.1"..., 4096) = 334 > close(3) = 0 > munmap(0xb7f9c000, 4096) = 0 > mmap2(NULL, 134225920, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xafd1d000 > mmap2(NULL, 33554432, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xadd1d000 > mprotect(0x8475000, 8192, PROT_READ|PROT_WRITE|PROT_EXEC) = 0 > mmap2(NULL, 18878464, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xacb1c000 > mmap2(NULL, 139264, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xacafa000 > ioctl(0, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo ...}) = 0 > fcntl64(0, F_GETFL) = 0x2 (flags O_RDWR) > ioctl(0, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo ...}) = 0 > ioctl(0, SNDCTL_TMR_START or TCSETS, {B38400 opost -isig -icanon -echo ...}) = 0 > ioctl(0, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost -isig -icanon -echo ...}) = 0 > fcntl64(0, F_SETFL, O_RDONLY|O_NONBLOCK) = 0 > brk(0) = 0x84a4000 > brk(0x84c5000) = 0x84c5000 > brk(0) = 0x84c5000 > brk(0x84e7000) = 0x84e7000 > brk(0) = 0x84e7000 > brk(0x8509000) = 0x8509000 > brk(0) = 0x8509000 > brk(0x852b000) = 0x852b000 > brk(0) = 0x852b000 > brk(0x854d000) = 0x854d000 > brk(0) = 0x854d000 > brk(0x856f000) = 0x856f000 > brk(0) = 0x856f000 > brk(0x8591000) = 0x8591000 > brk(0) = 0x8591000 > brk(0x85b3000) = 0x85b3000 > brk(0) = 0x85b3000 > brk(0x85d5000) = 0x85d5000 > brk(0) = 0x85d5000 > brk(0x85f7000) = 0x85f7000 > time(NULL) = 1226572445 > open("/etc/localtime", O_RDONLY) = 3 > fstat64(3, {st_mode=S_IFREG|0644, st_size=2945, ...}) = 0 > fstat64(3, {st_mode=S_IFREG|0644, st_size=2945, ...}) = 0 > mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xacaf9000 > read(3, "TZif2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\f\0\0\0\f\0\0"..., 4096) = 2945 > _llseek(3, -28, [2917], SEEK_CUR) = 0 > read(3, "\nCET-1CEST,M3.5.0,M10.5.0/3\n", 4096) = 28 > close(3) = 0 > munmap(0xacaf9000, 4096) = 0 > stat64("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2945, ...}) = 0 > open("build.micro-debug/images/image.elf", O_RDONLY|O_LARGEFILE) = 3 > read(3, "\177ELF\1\1\1a\0\0\0\0\0\0\0\0", 16) = 16 > _llseek(3, 0, [0], SEEK_SET) = 0 > read(3, "\177ELF\1\1\1a\0\0\0\0\0\0\0\0\2\0(\0\1\0\0\0\0\0\0\360"..., 52) = 52 > _llseek(3, 378520, [378520], SEEK_SET) = 0 > read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 960) = 960 > _llseek(3, 342405, [342405], SEEK_SET) = 0 > read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0\0\360\0\0\0"..., 36112) = 36112 > _llseek(3, 303104, [303104], SEEK_SET) = 0 > brk(0) = 0x85f7000 > brk(0x861d000) = 0x861d000 > read(3, "\0$a\0$d\0_Z19finish_sys_schedulev\0"..., 38197) = 38197 > _llseek(3, 52, [52], SEEK_SET) = 0 > read(3, "\1\0\0\0\0\200\0\0\0\0\0\360\0\0\220\7,w\2\0,w\2\0\5\0"..., 224) = 224 > mmap2(NULL, 163840, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xacad2000 > _llseek(3, 32768, [32768], SEEK_SET) = 0 > read(3, "\323\360)\343x\0\240\343\20\17\1\356~\377\27\356\375\377"..., 161580) = 161580 > munmap(0xacad2000, 163840) = 0 > _llseek(3, 196608, [196608], SEEK_SET) = 0 > read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 7120) = 7120 > _llseek(3, 229376, [229376], SEEK_SET) = 0 > read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 24576) = 24576 > _llseek(3, 262144, [262144], SEEK_SET) = 0 > read(3, "\34\0\237\345\0\0\220\345D\0\220\345\26\0\0\352\4\0\235"..., 31276) = 31276 > _llseek(3, 293436, [293436], SEEK_SET) = 0 > read(3, "\0\0\0\0\0\0\0\0\0\0\0\0,y\0\200\\\373\0\200\0\0\0\0\360"..., 344) = 344 > _llseek(3, 294912, [294912], SEEK_SET) = 0 > read(3, "\33\0\244\262\204\10\1\200\334\0\1\200\214\10\1\200\340"..., 2592) = 2592 > _llseek(3, 299008, [299008], SEEK_SET) = 0 > read(3, "(\1\25\6\1\0\0\0\2\0\1\0\0\4 \4\3\0\2\0\0\1\0\1\0\1\0\0"..., 4096) = 4096 > close(3) = 0 > clock_gettime(CLOCK_MONOTONIC, {8268, 758189225}) = 0 > clock_gettime(CLOCK_MONOTONIC, {8268, 758255228}) = 0 > timer_gettime(0, {it_interval={0, 0}, it_value={0, 0}}) = 0 > timer_settime(0, 0, {it_interval={0, 0}, it_value={0, 250000}}, NULL) = 0 > clock_gettime(CLOCK_MONOTONIC, xd{8268, 758471539}) = 0 > clock_gettime(CLOCK_MONOTONIC, {8268, 758534260}) = 0 > timer_gettime(0, {it_interval={0, 0}, it_value={0, 65330}}) = 0 > --- SIGALRM (Alarm clock) @ 0 (0) --- > sigreturn() = ? (mask now []) > select(1, [0], [], [], {0, 0}) = 0 (Timeout) > gettimeofday({1226572445, 40366}, NULL) = 0 > clock_gettime(CLOCK_MONOTONIC, {8268, 759678186}) = 0 > clock_gettime(CLOCK_MONOTONIC, {8268, 759815013}) = 0 > clock_gettime(CLOCK_MONOTONIC, {8268, 759925997}) = 0 > clock_gettime(CLOCK_MONOTONIC, {8268, 760070646}) = 0 > timer_gettime(0, {it_interval={0, 0}, it_value={0, 0}}) = 0 > timer_settime(0, 0, {it_interval={0, 0}, it_value={0, 29000000}}, NULL) = 0 > --- SIGALRM (Alarm clock) @ 0 (0) --- > sigreturn() = ? (mask now []) > select(1, [0], [], [], {0, 0}) = 0 (Timeout) > gettimeofday({1226572445, 70676}, NULL) = 0 > clock_gettime(CLOCK_MONOTONIC, {8268, 789870126}) = 0 > clock_gettime(CLOCK_MONOTONIC, {8268, 789934454}) = 0 > clock_gettime(CLOCK_MONOTONIC, {8268, 790031608}) = 0 > clock_gettime(CLOCK_MONOTONIC, {8268, 790099288}) = 0 > timer_gettime(0, {it_interval={0, 0}, it_value={0, 0}}) = 0 > timer_settime(0, 0, {it_interval={0, 0}, it_value={0, 30000000}}, NULL) = 0 > --- SIGALRM (Alarm clock) @ 0 (0) --- > sigreturn() = ? (mask now []) > etc... > --- SIGTERM (Terminated) @ 0 (0) --- > +++ killed by SIGTERM +++ > > Process 13376 detached > > > _______________________________________________ > Developer mailing list > [hidden email] > https://lists.okl4.org/mailman/listinfo/developer > Peter Howard <[hidden email]> _______________________________________________ Developer mailing list [hidden email] https://lists.okl4.org/mailman/listinfo/developer |
||||||||||||||||
|
Hugues Balp
|
Peter Howard wrote:
> Hugues, > > Checking round here, the SDK for the versatile is not set up, in the > _debug_ kernel, for use with qemu. It (the debug kernel) is configured > for use on the hardware (with JTAG). This needs to be made clear on the > wiki. > > To get the example going, you should use the make line > > make BUILD=production > > and then change the qemu line to refer to > build.micro-production/images/image.elf (or image.sim) > debugging. > That should allow you to see the examples running. Going back to your > original email(s) I understand your intended target _is_ versatile. If > you want to contact me off-list we can go through in more detail how to > build either from the source or re-build the SDK to have it set up as > you want. > > Yes, I think I will have to rebuild the SDK with the qemu set up. The objective would be to enable debugging on the host with gdb and qemu. Can I try to compile from the kernel sources ? Is there some tricky things to do for that purpose ? I imagine the main build scripts are already present. > > One other thing. We haven't seen the readelf errors that you are seeing > (running on the image you provided). I suggest you try the > arm-unknown-linux-gnueabi-readelf in the toolchain. > I have tried with arm-unknown-linux-gnueabi-readelf and get the same kind of warning both on the image.elf available for JTAG and on the one for qemu... Notes at offset 0x00033b08 with length 0x0000031e: Owner Data size Description readelf: Warning: corrupt note found at offset 0 into core notes readelf: Warning: type: 1, namesize: 00000011, descsize: 00000300 So I think it's not really blocking... Now after having tried the Hello World example successfully, I wonder if its possible to configure precisely the temporal scheduling of a multi-cells system. So I had a look at the multicell example and didn't see any configuration value related to time slices in the declarations of the cells... I that possible to add such kind of temporal constraints ? exemple: to force the chatterbox to be scheduled during the first demi-period and the echo during the second... Perhaps you have some other examples more focused on temporal partitioning ? Another quetion I asked me is to know how it is possible to respect a strict temporal partitioning while having a synchronous communication mechanism between two different partitions. In other words, synchronisation without buffering implies some kind of "context switching" from one address space to the other each time an OKL4 IPC call occurs... How is it possible to respect a fixed temporal partitioning with that kind of communication mechanism ( for example to force execution of adress space 1 the first milliseconds and of the address space 2 after etc... ) ? Here is an extract of a presentation of OKL4 from Gernot Heiser Message-passing in OKL4 is always synchronous (rendez-vous) • Message gets transferred when sender and receiver are both ready • The party attempting the operation first blocks until the other is ready ïƒ Implications: • Implicit synchronisation • No buffering of data in the kernel • Data copied at most once I have another general question on the relationships between the OKL4 API and POSIX... Is it possible to have some kind of "adaptation layer" between POSIX and OKL4 in order to enable a POSIX source code to run on top of an OKL4 address space ? Another question deals with the support of linux-based drivers... Do we need to install an OKLinux OS inside an address space to be able to use a linux-based driver... In that case how can we share the driver between different adress spaces ? Thanks in advance for your answers, Best regards, Hugues Balp. > > On Fri, 2008-11-14 at 11:15 +0100, Hugues Balp wrote: > _______________________________________________ Developer mailing list [hidden email] https://lists.okl4.org/mailman/listinfo/developer |
||||||||||||||||
|
Peter Howard
|
On Tue, 2008-11-18 at 12:33 +0100, Hugues Balp wrote: > Peter Howard wrote: > > Hugues, > > > > Checking round here, the SDK for the versatile is not set up, in the > > _debug_ kernel, for use with qemu. It (the debug kernel) is configured > > for use on the hardware (with JTAG). This needs to be made clear on the > > wiki. > > > > To get the example going, you should use the make line > > > > make BUILD=production > > > > and then change the qemu line to refer to > > build.micro-production/images/image.elf (or image.sim) > > > Ok, it's ok with the production build, except it is less suited for > debugging. > > That should allow you to see the examples running. Going back to your > > original email(s) I understand your intended target _is_ versatile. If > > you want to contact me off-list we can go through in more detail how to > > build either from the source or re-build the SDK to have it set up as > > you want. > > > > > Yes, I think I will have to rebuild the SDK with the qemu set up. > The objective would be to enable debugging on the host with gdb and qemu. > Can I try to compile from the kernel sources ? > Is there some tricky things to do for that purpose ? > I imagine the main build scripts are already present. Sorry for the delay. To build the SDK from the full source release so you can run the debug kernel in quemu, the invocation is: tools/build.py machine=versatile_uboot project=sdk kdb_serial=True the sdk tarball will be in build/SDK/object/sdk/ -- Peter Howard <[hidden email]> _______________________________________________ Developer mailing list [hidden email] https://lists.okl4.org/mailman/listinfo/developer |
||||||||||||||||
|
Hugues Balp
|
Thank you Peter for your answer, I have tried to compile the OKL4_3.0 archive with the command line you gave to me and got the following error: Executing: licence_tool --type=sdk --mode=expand /home/hugues/tools/okl4/okl4_3.0/build/SDK/object/sdk/sdk/okl4 sh: licence_tool: not found scons: *** licence_tool returned error, perhaps it's not installed? So I suppose I have to install some kind of license tool and don't know how and what are the underlying conditions... Thanks in advance, Hugues. Peter Howard wrote: > On Tue, 2008-11-18 at 12:33 +0100, Hugues Balp wrote: > >> Peter Howard wrote: >> >>> Hugues, >>> >>> Checking round here, the SDK for the versatile is not set up, in the >>> _debug_ kernel, for use with qemu. It (the debug kernel) is configured >>> for use on the hardware (with JTAG). This needs to be made clear on the >>> wiki. >>> >>> To get the example going, you should use the make line >>> >>> make BUILD=production >>> >>> and then change the qemu line to refer to >>> build.micro-production/images/image.elf (or image.sim) >>> >>> >> Ok, it's ok with the production build, except it is less suited for >> debugging. >> >>> That should allow you to see the examples running. Going back to your >>> original email(s) I understand your intended target _is_ versatile. If >>> you want to contact me off-list we can go through in more detail how to >>> build either from the source or re-build the SDK to have it set up as >>> you want. >>> >>> >>> >> Yes, I think I will have to rebuild the SDK with the qemu set up. >> The objective would be to enable debugging on the host with gdb and qemu. >> Can I try to compile from the kernel sources ? >> Is there some tricky things to do for that purpose ? >> I imagine the main build scripts are already present. >> > > Sorry for the delay. To build the SDK from the full source release so > you can run the debug kernel in quemu, the invocation is: > > tools/build.py machine=versatile_uboot project=sdk kdb_serial=True > > the sdk tarball will be in build/SDK/object/sdk/ > > _______________________________________________ Developer mailing list [hidden email] https://lists.okl4.org/mailman/listinfo/developer |
||||||||||||||||
|
Hugues Balp
|
In reply to this post
by Peter Howard
Hi all, is it possible with OKL4 to respect a fixed temporal partitioning like in ARINC 653 ? For example with the GreenHills Integrity operating system we can plannify a strict scheduling for our application by a file descriptor to allocate each time slice to a specific partition, as the one joined to this mail... Would it be possible to imagine the same kind of example running on top of OKL4 ? Regards, Hugues. Kernel Filename pschedkernel Schedule MajorFramePeriod 1.0 BackgroundMaxPriority 3 EndSchedule EndKernel # execution units of 0.1 # pschedv1 == P1 # pschedv2 == P2 # pschedv3 == P3 # -P1- **** -P2----- **** -P1- **** -P3------ **** # 0 1 2 3 4 5 6 7 8 9 10 # AddressSpace Filename pschedv1 Language C Schedule offset 0.0 exectime 0.1 offset 5*0.1 exectime 0.1 EndSchedule Task Initial StartIt true EndTask Object 10 Task dummy1 Entrypoint dummy1 Priority 127 StartIt true EndObject Object 11 Task dummy2 Entrypoint dummy1 Priority 127 StartIt true EndObject Object 12 Task background Entrypoint dummy1 Priority 3 StartIt true EndObject EndAddressSpace AddressSpace Filename pschedv2 Language C Schedule offset 2*0.1 exectime 2*0.1 EndSchedule Task Initial StartIt true EndTask Object 10 Task dummy1 Entrypoint dummy2 Priority 127 StartIt true EndObject Object 11 Task dummy2 Entrypoint dummy2 Priority 127 StartIt true EndObject Object 12 Task background Entrypoint dummy2 Priority 3 StartIt true EndObject EndAddressSpace AddressSpace Filename pschedv3 Language C Schedule offset 7*0.1 exectime 2*0.1 EndSchedule Task Initial StartIt true EndTask Object 10 Task dummy1 Entrypoint dummy3 Priority 127 StartIt true EndObject Object 11 Task dummy2 Entrypoint dummy3 Priority 127 StartIt true EndObject EndAddressSpace _______________________________________________ Developer mailing list [hidden email] https://lists.okl4.org/mailman/listinfo/developer |
|
Josh Matthews
|
In reply to this post
by Hugues Balp
Hi Hugues,
Please comment out the following lines (1797 and 1798) in tools/kenge.py: if ret != 0: raise UserError, "licence_tool returned error, perhaps it's not installed?" to work around this issue. Best regards, Josh On Fri, November 21, 2008 11:44 am, Hugues Balp wrote: > > Thank you Peter for your answer, > > I have tried to compile the OKL4_3.0 archive with the command line you > gave to me > and got the following error: > > Executing: licence_tool --type=sdk --mode=expand > /home/hugues/tools/okl4/okl4_3.0/build/SDK/object/sdk/sdk/okl4 > sh: licence_tool: not found > scons: *** licence_tool returned error, perhaps it's not installed? > > So I suppose I have to install some kind of license tool and don't know > how and > what are the underlying conditions... > > Thanks in advance, > > Hugues. > > > Peter Howard wrote: >> On Tue, 2008-11-18 at 12:33 +0100, Hugues Balp wrote: >> >>> Peter Howard wrote: >>> >>>> Hugues, >>>> >>>> Checking round here, the SDK for the versatile is not set up, in the >>>> _debug_ kernel, for use with qemu. It (the debug kernel) is >>>> configured >>>> for use on the hardware (with JTAG). This needs to be made clear on >>>> the >>>> wiki. >>>> >>>> To get the example going, you should use the make line >>>> >>>> make BUILD=production >>>> >>>> and then change the qemu line to refer to >>>> build.micro-production/images/image.elf (or image.sim) >>>> >>>> >>> Ok, it's ok with the production build, except it is less suited for >>> debugging. >>> >>>> That should allow you to see the examples running. Going back to your >>>> original email(s) I understand your intended target _is_ versatile. >>>> If >>>> you want to contact me off-list we can go through in more detail how >>>> to >>>> build either from the source or re-build the SDK to have it set up as >>>> you want. >>>> >>>> >>>> >>> Yes, I think I will have to rebuild the SDK with the qemu set up. >>> The objective would be to enable debugging on the host with gdb and >>> qemu. >>> Can I try to compile from the kernel sources ? >>> Is there some tricky things to do for that purpose ? >>> I imagine the main build scripts are already present. >>> >> >> Sorry for the delay. To build the SDK from the full source release so >> you can run the debug kernel in quemu, the invocation is: >> >> tools/build.py machine=versatile_uboot project=sdk kdb_serial=True >> >> the sdk tarball will be in build/SDK/object/sdk/ >> >> > > > _______________________________________________ > Developer mailing list > [hidden email] > https://lists.okl4.org/mailman/listinfo/developer > _______________________________________________ Developer mailing list [hidden email] https://lists.okl4.org/mailman/listinfo/developer |
||||||||||||||||
|
Stefan M. Petters
|
In reply to this post
by Hugues Balp
Dear Hugues,
we have done work in that area here at NICTA/ERTOS. The code is by now outdated (that was student work on an old kernel version which so far hasn't received the cleanup to be published). Google for RBED and Scott Brandt. That's roughly what we implemented (there's currently a paper in review, the fate of which should be known in a week, in which case we should have something public in a couple of weeks. Comparing with Scott's work we put the resource allocator into the root task and the actual task management into the kernel. I intend to pick that up again soon and it should be a piece of cake with the scheduler interface compared to the 1.5.2 we used. Regards, Stefan. Hugues Balp wrote: > > Hi all, > > is it possible with OKL4 to respect a fixed temporal partitioning > like in ARINC 653 ? > > For example with the GreenHills Integrity operating system we can > plannify a strict scheduling for our application by a file descriptor to > allocate each time slice to a specific partition, as the one joined to > this mail... > > Would it be possible to imagine the same kind of example running on > top of OKL4 ? > > Regards, > > Hugues. > > ------------------------------------------------------------------------ > > _______________________________________________ > Developer mailing list > [hidden email] > https://lists.okl4.org/mailman/listinfo/developer -- Stefan M. Petters Senior Researcher Embedded Systems NICTA | Locked Bag 9013 | Alexandria NSW 1435 T +61 2 8306 0560 | F +61 2 8306 0406 www.nicta.com.au <http://www.nicta.com.au/> | [hidden email] <mailto:[hidden email]> From imagination to impact. _______________________________________________ Developer mailing list [hidden email] https://lists.okl4.org/mailman/listinfo/developer |
||||||||||||||||
|
sloly09
|
In reply to this post
by Hugues Balp
hi
I have a problem to compile the sample hello word exemple coming with SDK on arm926 ejs. When I compile the program by invoking make in a terminal I have this error: make BUILD=productionmake -C decrypt KERNEL=micro BUILD=production make[1]: Entering directory `/home/mingot/SDK/sdk/okl4/arm926ejs/examples/decrypt/decrypt' cp decrypt.xml.in build.micro-production/bin/decrypt.xml arm-unknown-linux-gnueabi-gcc -O2 --std=gnu99 -Wall -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Wmissing-declarations -Wredundant-decls -Wundef -Wpointer-arith -Wno-nonnull -Werror -march=armv5te -O2 -nostdlib -nostdinc -g -Iinclude -I/home/mingot/SDK/sdk/okl4/arm926ejs/micro-production/include -DNDEBUG -c src/main.c -o build.micro-production/src/main.o src/main.c: In function 'main': src/main.c:32: error: 'DECRYPT_MASK' undeclared (first use in this function) src/main.c:32: error: (Each undeclared identifier is reported only once src/main.c:32: error: for each function it appears in.) make[1]: *** [build.micro-production/src/main.o] Error 1 make[1]: Leaving directory `/home/mingot/SDK/sdk/okl4/arm926ejs/examples/decrypt/decrypt' make: *** [decrypt/build.micro-production/bin/decrypt.xml] Error 2 Can you help me?
|
||||||||||||||||
|
Josh Matthews
|
Hi Pierre-Paul,
When building from source, our SCons build system defines DECRYPT_MASK: examples/decrypt/SConscript:env.Append(CPPDEFINES=[("DECRYPT_MASK", 0x34)]) However, when building from the SDK (which is the recommend approach), you'll need to define this yourself somewhere. You can do this in the decrypt cell Makefile (by editing DEFINES) or directly in the decrypt main.c src file. Hope this helps, Best regards, Josh On Fri, February 20, 2009 5:55 am, sloly09 wrote: > > hi > I have a problem to compile the sample hello word exemple coming with > SDK > on arm926 ejs. When I compile the program by invoking make in a terminal I > have this error: > > make BUILD=productionmake -C decrypt KERNEL=micro BUILD=production > make[1]: Entering directory > `/home/mingot/SDK/sdk/okl4/arm926ejs/examples/decrypt/decrypt' > cp decrypt.xml.in build.micro-production/bin/decrypt.xml > arm-unknown-linux-gnueabi-gcc -O2 --std=gnu99 -Wall -Wstrict-prototypes > -Wmissing-prototypes -Wnested-externs -Wmissing-declarations > -Wredundant-decls -Wundef -Wpointer-arith -Wno-nonnull -Werror > -march=armv5te -O2 -nostdlib -nostdinc -g -Iinclude > -I/home/mingot/SDK/sdk/okl4/arm926ejs/micro-production/include -DNDEBUG > -c > src/main.c -o build.micro-production/src/main.o > src/main.c: In function 'main': > src/main.c:32: error: 'DECRYPT_MASK' undeclared (first use in this > function) > src/main.c:32: error: (Each undeclared identifier is reported only once > src/main.c:32: error: for each function it appears in.) > make[1]: *** [build.micro-production/src/main.o] Error 1 > make[1]: Leaving directory > `/home/mingot/SDK/sdk/okl4/arm926ejs/examples/decrypt/decrypt' > make: *** [decrypt/build.micro-production/bin/decrypt.xml] Error 2 > > > Can you help me? > > > Hugues Balp wrote: >> >> Thanks for your advices. >> >> I have now downloaded from the OKL4 wiki the binary version of the >> arm-unkown-linux-gnueabi crosstool chain and recompiled from scratch >> the singlecell example within the binary SDK. >> >> The images are well generated but they don't work better on my host >> than the images I have built in parallel with my own crosstool chain... >> >> In both cases a warning exception is raised because no DNS server is >> found, >> which is a little surprising when the test is performed locally. >> >> "Warning: No DNS servers found" >> >> This problem doesn't seem to be blocking and occurs also in other >> qemu use cases contexts as I can when googling a little on the >> subject... >> But perhaps this explain what happens after ? I don't know ! >> >> So when I run qemu with the following command: >> >> qemu-system-arm -s -M versatileab -start-addr 0x07900000 -nographic >> -kernel >> build.micro-debug/images/image.elf >> >> the warning is printed on stdout and the process enter in an infinite >> loop >> without printing any "Hello World" message... >> >> I've tried to debug with gdb by starting qemu with the '-s' option >> and running gdb, >> loading the symbol table of the "hello" program and >> opening a remote target connection to the default local port 1234. >> After the connection to the qemu process I typed 'c' to continue the >> execution and then stopped to see the stack... >> No symbols are readable... Only some ?? and 0x0.... >> I don't have change the endian-ness ( little by default on PC and ARM ). >> >> What is surprising is to see the entry point address settled to >> 0x7900000 only in the image.boot and image.sim files and not in the >> image.elf nor in the image.elf.nobits files. >> >> Another suprising thing is to see the following message on stderr >> when viewing the full symbol list of the elf image thanks to "readelf >> -a" >> >> ... >> 2247: 8000fba0 4 OBJECT GLOBAL DEFAULT 6 >> hello-_kr_malloc_freep >> 2248: 8000fec0 4 OBJECT GLOBAL DEFAULT 6readelf: Warning: >> corrupt note >> found at offset 0 into core notes >> readelf: Warning: type: 1, namesize: 00000011, descsize: 00000300 >> hello-sys_siglist >> 2249: 8000fba4 4 OBJECT GLOBAL DEFAULT 6 hello-__malloc_bss >> ... >> >> You can also find here attached the elf header so as the system traces >> when I run qemu with the image.elf file....( I have splitted the end >> because it is a periodic repetition of getimeofday and select calls... >> ). >> >> Concerning the compilation of qemu, I have tried both with gcc-3.4.6 >> et gcc-4.2.4. No differences when loading the image.... >> >> The compilation process of qemu-system-arm seems to be ok because I >> have tried it with another SDK ( namely for the kzm platform >> supporting arm1136js processors ) and the hello elf image runs >> well for this target. In that case, the readelf -a command doesn't >> raise a warning as for the arm629ejs target ! >> >> To sum up the hello world is ok on my host for arm1136js but not >> for arm926ejs, and I think something goes wrong with the SDK for >> arm926ejs... >> >> Did you have tested the singlecell example after recompilation >> from scratch of the crosstool chain and of the SDK-arm926ejs ? >> >> Could you please try the image I have sent to you in the preceding >> message to check if you encouter the same troubles with it ? >> >> On the other hand I could try a 'reference' image.elf file the >> singlecell example on arm926ejs that you can send to me in order to test >> if the >> problem is due to my system environments or not ( ubuntu hardy and >> gentoo based-systems ). >> >> Best regards, >> >> Hugues Balp. >> >> >> >> ------------------------------------------------------------------------ >> >> ELF Header: >> Magic: 7f 45 4c 46 01 01 01 61 00 00 00 00 00 00 00 00 >> Class: ELF32 >> Data: 2's complement, little endian >> Version: 1 (current) >> OS/ABI: ARM >> ABI Version: 0 >> Type: EXEC (Executable file) >> Machine: ARM >> Version: 0x1 >> Entry point address: 0xf0000000 >> Start of program headers: 52 (bytes into file) >> Start of section headers: 378520 (bytes into file) >> Flags: 0x200, GNU EABI, software FP >> Size of this header: 52 (bytes) >> Size of program headers: 32 (bytes) >> Number of program headers: 7 >> Size of section headers: 40 (bytes) >> Number of section headers: 24 >> Section header string table index: 21 >> >> ------------------------------------------------------------------------ >> >> execve("/opt/okqemu/bin/qemu-system-arm", >> ["/opt/okqemu/bin/qemu-system-arm", "-M", "versatileab", "-start-addr", >> "0x07900000", "-nographic", "-kernel", >> "build.micro-debug/images/image.e"...], [/* 37 vars */]) = 0 >> uname({sys="Linux", node="TRTP8051", ...}) = 0 >> brk(0) = 0x8482000 >> brk(0x8482cb0) = 0x8482cb0 >> set_thread_area({entry_number:-1 -> 6, base_addr:0x8482830, >> limit:1048575, >> seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, >> seg_not_present:0, useable:1}) = 0 >> set_tid_address(0x8482878) = 13376 >> set_robust_list(0x8482880, 0xc) = 0 >> futex(0xbfef00c8, 0x81 /* FUTEX_??? */, 1) = 0 >> rt_sigaction(SIGRTMIN, {0x8199340, [], SA_SIGINFO}, NULL, 8) = 0 >> rt_sigaction(SIGRT_1, {0x8199270, [], SA_RESTART|SA_SIGINFO}, NULL, 8) = >> 0 >> rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) = 0 >> getrlimit(RLIMIT_STACK, {rlim_cur=8192*1024, rlim_max=RLIM_INFINITY}) = >> 0 >> uname({sys="Linux", node="TRTP8051", ...}) = 0 >> brk(0x84a3cb0) = 0x84a3cb0 >> brk(0x84a4000) = 0x84a4000 >> rt_sigaction(SIGPIPE, {SIG_IGN}, NULL, 8) = 0 >> clock_gettime(CLOCK_MONOTONIC, {8268, 717921896}) = 0 >> rt_sigaction(SIGALRM, {0x8049100, ~[RTMIN RT_1], 0}, NULL, 8) = 0 >> timer_create(CLOCK_REALTIME, {(nil), SIGALRM, SIGEV_SIGNAL, {...}}, >> {(nil)}) = 0 >> rt_sigaction(SIGUSR2, {0x805a7b0, ~[RTMIN RT_1], 0}, NULL, 8) = 0 >> open("/etc/resolv.conf", O_RDONLY|O_LARGEFILE) = 3 >> fstat64(3, {st_mode=S_IFREG|0644, st_size=151, ...}) = 0 >> mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, >> 0) >> = 0xb7f9c000 >> read(3, "# Dynamic resolv.conf(5) file fo"..., 4096) = 151 >> read(3, "", 4096) = 0 >> close(3) = 0 >> munmap(0xb7f9c000, 4096) = 0 >> write(2, "Warning: No DNS servers found\n", 30Warning: No DNS servers >> found >> ) = 30 >> uname({sys="Linux", node="TRTP8051", ...}) = 0 >> open("/etc/resolv.conf", O_RDONLY) = 3 >> fstat64(3, {st_mode=S_IFREG|0644, st_size=151, ...}) = 0 >> mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, >> 0) >> = 0xb7f9c000 >> read(3, "# Dynamic resolv.conf(5) file fo"..., 4096) = 151 >> read(3, "", 4096) = 0 >> close(3) = 0 >> munmap(0xb7f9c000, 4096) = 0 >> uname({sys="Linux", node="TRTP8051", ...}) = 0 >> stat64("/etc/resolv.conf", {st_mode=S_IFREG|0644, st_size=151, ...}) = 0 >> open("/etc/resolv.conf", O_RDONLY) = 3 >> fstat64(3, {st_mode=S_IFREG|0644, st_size=151, ...}) = 0 >> mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, >> 0) >> = 0xb7f9c000 >> read(3, "# Dynamic resolv.conf(5) file fo"..., 4096) = 151 >> read(3, "", 4096) = 0 >> close(3) = 0 >> munmap(0xb7f9c000, 4096) = 0 >> uname({sys="Linux", node="TRTP8051", ...}) = 0 >> socket(PF_FILE, SOCK_STREAM, 0) = 3 >> fcntl64(3, F_SETFL, O_RDWR|O_NONBLOCK) = 0 >> connect(3, {sa_family=AF_FILE, path="/var/run/nscd/socket"}, 110) = -1 >> ENOENT (No such file or directory) >> close(3) = 0 >> socket(PF_FILE, SOCK_STREAM, 0) = 3 >> fcntl64(3, F_SETFL, O_RDWR|O_NONBLOCK) = 0 >> connect(3, {sa_family=AF_FILE, path="/var/run/nscd/socket"}, 110) = -1 >> ENOENT (No such file or directory) >> close(3) = 0 >> open("/etc/nsswitch.conf", O_RDONLY) = 3 >> fstat64(3, {st_mode=S_IFREG|0644, st_size=513, ...}) = 0 >> mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, >> 0) >> = 0xb7f9c000 >> read(3, "# /etc/nsswitch.conf\n#\n# Example"..., 4096) = 513 >> read(3, "", 4096) = 0 >> close(3) = 0 >> munmap(0xb7f9c000, 4096) = 0 >> open("/etc/ld.so.cache", O_RDONLY) = 3 >> fstat64(3, {st_mode=S_IFREG|0644, st_size=101035, ...}) = 0 >> mmap2(NULL, 101035, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7f84000 >> close(3) = 0 >> access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or >> directory) >> open("/lib/libnss_files.so.2", O_RDONLY) = 3 >> read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\320\30"..., >> 512) >> = 512 >> fstat64(3, {st_mode=S_IFREG|0644, st_size=38408, ...}) = 0 >> mmap2(NULL, 41624, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) >> = >> 0xb7f79000 >> mmap2(0xb7f82000, 8192, PROT_READ|PROT_WRITE, >> MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x8) = 0xb7f82000 >> close(3) = 0 >> access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or >> directory) >> open("/lib/libc.so.6", O_RDONLY) = 3 >> read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\260e\1"..., >> 512) >> = 512 >> fstat64(3, {st_mode=S_IFREG|0755, st_size=1294572, ...}) = 0 >> mmap2(NULL, 1300080, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, >> 0) >> = 0xb7e3b000 >> mmap2(0xb7f73000, 12288, PROT_READ|PROT_WRITE, >> MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x138) = 0xb7f73000 >> mmap2(0xb7f76000, 9840, PROT_READ|PROT_WRITE, >> MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb7f76000 >> close(3) = 0 >> access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or >> directory) >> open("/lib/ld-linux.so.2", O_RDONLY) = 3 >> read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\20\10\0"..., >> 512) >> = 512 >> fstat64(3, {st_mode=S_IFREG|0755, st_size=113248, ...}) = 0 >> mmap2(NULL, 112232, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, >> 0) >> = 0xb7e1f000 >> mmap2(0xb7e39000, 8192, PROT_READ|PROT_WRITE, >> MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1a) = 0xb7e39000 >> close(3) = 0 >> mprotect(0xb7f73000, 4096, PROT_READ) = 0 >> munmap(0xb7f84000, 101035) = 0 >> open("/etc/host.conf", O_RDONLY) = 3 >> fstat64(3, {st_mode=S_IFREG|0644, st_size=92, ...}) = 0 >> mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, >> 0) >> = 0xb7f9c000 >> read(3, "# The \"order\" line is only used "..., 4096) = 92 >> read(3, "", 4096) = 0 >> close(3) = 0 >> munmap(0xb7f9c000, 4096) = 0 >> futex(0x828c440, 0x81 /* FUTEX_??? */, 2147483647) = 0 >> mmap2(NULL, 1048576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, >> -1, >> 0) = 0xb7d1f000 >> open("/etc/hosts", O_RDONLY|0x80000 /* O_??? */) = 3 >> fcntl64(3, F_GETFD) = 0x1 (flags FD_CLOEXEC) >> fstat64(3, {st_mode=S_IFREG|0644, st_size=334, ...}) = 0 >> mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, >> 0) >> = 0xb7f9c000 >> read(3, "127.0.0.1\tlocalhost\n#192.168.1.1"..., 4096) = 334 >> close(3) = 0 >> munmap(0xb7f9c000, 4096) = 0 >> mmap2(NULL, 134225920, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, >> -1, 0) = 0xafd1d000 >> mmap2(NULL, 33554432, PROT_READ|PROT_WRITE|PROT_EXEC, >> MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xadd1d000 >> mprotect(0x8475000, 8192, PROT_READ|PROT_WRITE|PROT_EXEC) = 0 >> mmap2(NULL, 18878464, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, >> -1, >> 0) = 0xacb1c000 >> mmap2(NULL, 139264, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, >> 0) = 0xacafa000 >> ioctl(0, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo >> ...}) = 0 >> fcntl64(0, F_GETFL) = 0x2 (flags O_RDWR) >> ioctl(0, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo >> ...}) = 0 >> ioctl(0, SNDCTL_TMR_START or TCSETS, {B38400 opost -isig -icanon -echo >> ...}) = 0 >> ioctl(0, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost -isig -icanon >> -echo >> ...}) = 0 >> fcntl64(0, F_SETFL, O_RDONLY|O_NONBLOCK) = 0 >> brk(0) = 0x84a4000 >> brk(0x84c5000) = 0x84c5000 >> brk(0) = 0x84c5000 >> brk(0x84e7000) = 0x84e7000 >> brk(0) = 0x84e7000 >> brk(0x8509000) = 0x8509000 >> brk(0) = 0x8509000 >> brk(0x852b000) = 0x852b000 >> brk(0) = 0x852b000 >> brk(0x854d000) = 0x854d000 >> brk(0) = 0x854d000 >> brk(0x856f000) = 0x856f000 >> brk(0) = 0x856f000 >> brk(0x8591000) = 0x8591000 >> brk(0) = 0x8591000 >> brk(0x85b3000) = 0x85b3000 >> brk(0) = 0x85b3000 >> brk(0x85d5000) = 0x85d5000 >> brk(0) = 0x85d5000 >> brk(0x85f7000) = 0x85f7000 >> time(NULL) = 1226572445 >> open("/etc/localtime", O_RDONLY) = 3 >> fstat64(3, {st_mode=S_IFREG|0644, st_size=2945, ...}) = 0 >> fstat64(3, {st_mode=S_IFREG|0644, st_size=2945, ...}) = 0 >> mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, >> 0) >> = 0xacaf9000 >> read(3, "TZif2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\f\0\0\0\f\0\0"..., >> 4096) = 2945 >> _llseek(3, -28, [2917], SEEK_CUR) = 0 >> read(3, "\nCET-1CEST,M3.5.0,M10.5.0/3\n", 4096) = 28 >> close(3) = 0 >> munmap(0xacaf9000, 4096) = 0 >> stat64("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2945, ...}) = 0 >> open("build.micro-debug/images/image.elf", O_RDONLY|O_LARGEFILE) = 3 >> read(3, "\177ELF\1\1\1a\0\0\0\0\0\0\0\0", 16) = 16 >> _llseek(3, 0, [0], SEEK_SET) = 0 >> read(3, "\177ELF\1\1\1a\0\0\0\0\0\0\0\0\2\0(\0\1\0\0\0\0\0\0\360"..., >> 52) >> = 52 >> _llseek(3, 378520, [378520], SEEK_SET) = 0 >> read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., >> 960) >> = 960 >> _llseek(3, 342405, [342405], SEEK_SET) = 0 >> read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0\0\360\0\0\0"..., >> 36112) = 36112 >> _llseek(3, 303104, [303104], SEEK_SET) = 0 >> brk(0) = 0x85f7000 >> brk(0x861d000) = 0x861d000 >> read(3, "\0$a\0$d\0_Z19finish_sys_schedulev\0"..., 38197) = 38197 >> _llseek(3, 52, [52], SEEK_SET) = 0 >> read(3, "\1\0\0\0\0\200\0\0\0\0\0\360\0\0\220\7,w\2\0,w\2\0\5\0"..., >> 224) >> = 224 >> mmap2(NULL, 163840, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, >> 0) = 0xacad2000 >> _llseek(3, 32768, [32768], SEEK_SET) = 0 >> read(3, "\323\360)\343x\0\240\343\20\17\1\356~\377\27\356\375\377"..., >> 161580) = 161580 >> munmap(0xacad2000, 163840) = 0 >> _llseek(3, 196608, [196608], SEEK_SET) = 0 >> read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., >> 7120) >> = 7120 >> _llseek(3, 229376, [229376], SEEK_SET) = 0 >> read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., >> 24576) = 24576 >> _llseek(3, 262144, [262144], SEEK_SET) = 0 >> read(3, "\34\0\237\345\0\0\220\345D\0\220\345\26\0\0\352\4\0\235"..., >> 31276) = 31276 >> _llseek(3, 293436, [293436], SEEK_SET) = 0 >> read(3, "\0\0\0\0\0\0\0\0\0\0\0\0,y\0\200\\\373\0\200\0\0\0\0\360"..., >> 344) = 344 >> _llseek(3, 294912, [294912], SEEK_SET) = 0 >> read(3, "\33\0\244\262\204\10\1\200\334\0\1\200\214\10\1\200\340"..., >> 2592) = 2592 >> _llseek(3, 299008, [299008], SEEK_SET) = 0 >> read(3, "(\1\25\6\1\0\0\0\2\0\1\0\0\4 \4\3\0\2\0\0\1\0\1\0\1\0\0"..., >> 4096) = 4096 >> close(3) = 0 >> clock_gettime(CLOCK_MONOTONIC, {8268, 758189225}) = 0 >> clock_gettime(CLOCK_MONOTONIC, {8268, 758255228}) = 0 >> timer_gettime(0, {it_interval={0, 0}, it_value={0, 0}}) = 0 >> timer_settime(0, 0, {it_interval={0, 0}, it_value={0, 250000}}, NULL) = >> 0 >> clock_gettime(CLOCK_MONOTONIC, xd{8268, 758471539}) = 0 >> clock_gettime(CLOCK_MONOTONIC, {8268, 758534260}) = 0 >> timer_gettime(0, {it_interval={0, 0}, it_value={0, 65330}}) = 0 >> --- SIGALRM (Alarm clock) @ 0 (0) --- >> sigreturn() = ? (mask now []) >> select(1, [0], [], [], {0, 0}) = 0 (Timeout) >> gettimeofday({1226572445, 40366}, NULL) = 0 >> clock_gettime(CLOCK_MONOTONIC, {8268, 759678186}) = 0 >> clock_gettime(CLOCK_MONOTONIC, {8268, 759815013}) = 0 >> clock_gettime(CLOCK_MONOTONIC, {8268, 759925997}) = 0 >> clock_gettime(CLOCK_MONOTONIC, {8268, 760070646}) = 0 >> timer_gettime(0, {it_interval={0, 0}, it_value={0, 0}}) = 0 >> timer_settime(0, 0, {it_interval={0, 0}, it_value={0, 29000000}}, NULL) >> = >> 0 >> --- SIGALRM (Alarm clock) @ 0 (0) --- >> sigreturn() = ? (mask now []) >> select(1, [0], [], [], {0, 0}) = 0 (Timeout) >> gettimeofday({1226572445, 70676}, NULL) = 0 >> clock_gettime(CLOCK_MONOTONIC, {8268, 789870126}) = 0 >> clock_gettime(CLOCK_MONOTONIC, {8268, 789934454}) = 0 >> clock_gettime(CLOCK_MONOTONIC, {8268, 790031608}) = 0 >> clock_gettime(CLOCK_MONOTONIC, {8268, 790099288}) = 0 >> timer_gettime(0, {it_interval={0, 0}, it_value={0, 0}}) = 0 >> timer_settime(0, 0, {it_interval={0, 0}, it_value={0, 30000000}}, NULL) >> = >> 0 >> --- SIGALRM (Alarm clock) @ 0 (0) --- >> sigreturn() = ? (mask now []) >> etc... >> --- SIGTERM (Terminated) @ 0 (0) --- >> +++ killed by SIGTERM +++ >> >> Process 13376 detached >> _______________________________________________ Developer mailing list [hidden email] https://lists.okl4.org/mailman/listinfo/developer |
||||||||||||||||
| Free Embeddable Forum Powered by Nabble | Help |