[okl4-developer] Hello World on arm926ejs (continued)
sloly09
pierre-paul.mingot at st.com
Fri Feb 20 21:55:21 EST 2009
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
> Developer at okl4.org
> https://lists.okl4.org/mailman/listinfo/developer
>
>
--
View this message in context: http://n2.nabble.com/Hello-World-on-arm926ejs-%28continued%29-tp1497877p2358196.html
Sent from the OKL4 Community Forum mailing list archive at Nabble.com.
More information about the Developer
mailing list