Releases: lupyuen/nuttx-sg2000
Releases · lupyuen/nuttx-sg2000
nuttx-sg2000-2024-10-09
Test OK
Wed Oct 9 08:24:42 +08 2024
----- Download the latest NuttX build for 2024-10-09
/tmp ~
Archive: nuttx.zip
inflating: nuttx
inflating: nuttx-export-12.7.0-RC0.tar.gz
inflating: nuttx.S
inflating: nuttx.bin
inflating: nuttx.config
inflating: nuttx.hash
inflating: nuttx.hex
inflating: nuttx.manifest
inflating: nuttx.map
inflating: initrd
inflating: init.S
inflating: hello.S
inflating: Image
inflating: System.map
~
Wed Oct 9 08:24:44 +08 2024
NuttX Source: https://github.com/apache/nuttx/tree/6ce7b70a3af4991707c31a983de5346dd60df083
NuttX Apps: https://github.com/apache/nuttx-apps/tree/30df081276dadea2cf6f6e2f87ff8e302e2555e4
----- Copy NuttX Image to TFTP Server
-rw-r--r-- 1 pi pi 16329433 Oct 9 01:24 /tftpboot/Image-sg2000
Wed Oct 9 08:24:45 +08 2024
----- Close the screen session
spawn screen -x
Wed Oct 9 08:24:50 +08 2024
Wed Oct 9 08:24:50 +08 2024
----- Power Off the SBC
[]Wed Oct 9 08:24:54 +08 2024
----- Power On the SBC
[]Wed Oct 9 08:24:58 +08 2024
----- Run the Automated Test
spawn screen /dev/tty.usbserial-0001 115200
Ғ�Z��҂�j
st_on_reason=d0000
st_off_reason=0
P2S/0x1000/0xc00a200.
SD/0x9200/0x1000/0x1000/0.P2E.
DPS/0xa200/0x2000.
SD/0xa200/0x2000/0x2000/0.DPE.
DDR init.
ddr_param[0]=0x78075562.
pkg_type=1
D2_4_1
DDR3-4G-BGA
Data rate=1866.
DDR BIST PASS
PLLS/OD.
C2S/0xc200/0x9fe00000/0x200.
SD/0xc200/0x200/0x200/0.RSC.
C2E.
MS/0xc400/0x80000000/0x1b000.
SD/0xc400/0x1b000/0x1b000/0.ME.
L2/0x27400.
SD/0x27400/0x200/0x200/0.L2/0x414d3342/0xcafe170c/0x80200000/0x37e00/0x37e00
COMP/1.
SD/0x27400/0x37e00/0x37e00/0.DCP/0x80200020/0x1000000/0x81900020/0x37e00/1.
DCP/0x75aa0/0.
Loader_2nd loaded.
Switch RTC mode to xtal32k
Jump to monitor at 0x80000000.
OPENSBI: next_addr=0x80200020 arg1=0x80080000
OpenSBI v0.9
____ _____ ____ _____
/ __ \ / ____| _ \_ _|
| | �+љ�ɵ�HART Count : 1
Platform IPI Device : clint
Platform Timer Device : clint
Plat� B��
�!����` ����000000074000000-0x000000007400ffff (I)
Domain0 Region01 : 0x0000000080000000-0x000000008003ffff ()
Domain0 Region02 : 0x0000000000000000-0xffffffffffffffff (R,W,X)
Domain0 Next Address : 0x0000000080200020
Domain0 Next Arg1 : 0x0000000080080000
Domain0 Next Mode : S-mode
Domain0 SysReset : yes
Boot HART ID : 0
Boot HART Domain : root
Boot HART ISA : rv64imafdcvsux
Boot HART Features : scounteren,mcounteren,time
Boot HART PMP Count : 16
Boot HART PMP Granularity : 4096
Boot HART PMP Address Bits: 38
Boot HART MHPM Count : 8
Boot HART MHPM Count : 8
Boot HART MIDELEG : 0x0000000000000222
Boot HART MEDELEG : 0x000000000000b109
U-Boot 2021.10-ga57aa1f2-dirty (May 07 2024 - 08:13:12 +0000) cvitek_cv181x
DRAM: 510 MiB
gd->relocaddr=0x9fbc6000. offset=0x1f9c6000
set_rtc_register_for_power
MMC: cv-sd@4310000: 0, wifi-sd@4320000: 1
Loading Environment from FAT... mmc1 : finished tuning, code:53
OK
In: serial
Out: serial
Err: serial
Net:
Warning: ethernet@4070000 (eth0) using random MAC address - 6e:1c:d2:53:c0:5f
eth0: ethernet@4070000
Hit any key to stop autoboot: 1 0
ethernet@4070000 Waiting for PHY auto negotiation to complete... done
Speed: 100, full duplex
BOOTP broadcast 1
BOOTP broadcast 2
*** Unhandled DHCP Option in OFFER/ACK: 43
*** Unhandled DHCP Option in OFFER/ACK: 43
DHCP client bound to address 192.168.31.43 (550 ms)
Using ethernet@4070000 device
TFTP from server 192.168.31.10; our IP address is 192.168.31.43
Filename 'Image-sg2000'.
Load address: 0x80200000
Loading: * #################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
########
1.2 MiB/s
done
Bytes transferred = 16329433 (f92ad9 hex)
Speed: 100, full duplex
Using ethernet@4070000 device
TFTP from server 192.168.31.10; our IP address is 192.168.31.43
Filename 'cv181x_milkv_duos_sd.dtb'.
Load address: 0x81200000
Loading: * ##
1.3 MiB/s
done
Bytes transferred = 21575 (5447 hex)
## Flattened Device Tree blob at 81200000
Booting using the fdt blob at 0x81200000
Loading Device Tree to 000000009f275000, end 000000009f27d446 ... OK
Starting kernel ...
ABC
NuttShell (NSH) NuttX-12.7.0-RC0
nsh> uname -a
NuttX 12.7.0-RC0 6ce7b70a3a Oct 9 2024 00:15:20 risc-v milkv_duos
nsh> free
total used free maxused maxfree nused nfree name
2061304 10952 2050352 36064 2049632 35 4 Kmem
20971520 647168 20324352 20324352 Page
nsh> ls -l /dev
/dev:
crw-rw-rw- 0 console
crw-rw-rw- 0 null
brw-rw-rw- 16777216 ram0
crw-rw-rw- 0 ttyS0
crw-rw-rw- 0 zero
nsh> ps
PID GROUP PRI POLICY TYPE NPX STATE EVENT SIGMASK STACK USED FILLED COMMAND
0 0 0 FIFO Kthread - Ready 0000000000000000 0003056 0001104 36.1% Idle_Task
1 0 100 RR Kthread - Waiting Semaphore 0000000000000000 0001968 0000720 36.5% lpwork 0x80400000 0x80400048
3 3 100 RR Task - Running 0000000000000000 0003008 0001600 53.1% /system/bin/init
nsh> hello
Hello, World!!
nsh> getprime
Set thread priority to 10
Set thread policy to SCHED_RR
Start thread #0
thread #0 started, looking for primes < 10000, doing 10 run(s)
thread #0 finished, found 1230 primes, last one was 9973
Done
getprime took 279 msec
nsh> hello
Hello, World!!
nsh> getprime
Set thread priority to 10
Set thread policy to SCHED_RR
Start thread #0
thread #0 started, looking for primes < 10000, doing 10 run(s)
thread #0 finished, found 1230 primes, last one was 9973
Done
getprime took 279 msec
nsh> ostest
stdio_test: write fd=1
stdio_test: Standard I/O Check: printf
stdio_test: write fd=2
stdio_test: Standard I/O Check: fprintf to stderr
ostest_main: putenv(Variable1=BadValue3)
ostest_main: setenv(Variable1, GoodValue1, TRUE)
ostest_main: setenv(Variable2, BadValue1, FALSE)
ostest_main: setenv(Variable2, GoodValue2, TRUE)
ostest_main: setenv(Variable3, GoodValue3, FALSE)
ostest_main: setenv(Variable3, BadValue2, FALSE)
show_variable: Variable=Variable1 has value=GoodValue1
show_variable: Variable=Variable2 has value=GoodValue2
show_variable: Variable=Variable3 has value=GoodValue3
ostest_main: Started user_main at PID=11
user_main: Begin argument test
user_main: Started with argc=5
user_main: argv[0]="user_main"
user_main: argv[1]="Arg1"
user_main: argv[2]="Arg2"
user_main: argv[3]="Arg3"
user_main: argv[4]="Arg4"
End of test memory usage:
VARIABLE BEFORE AFTER
======== ======== ========
arena 80ff8 80ff8
ordblks 2 2
mxordblk 7cff0 7cff0
uordblks 2678 2678
fordblks 7e980 7e980
user_main: getopt() test
getopt(): Simple test
getopt(): Invalid argument
getopt(): Missing optional argument
getopt_long(): Simple test
getopt_long(): No short options
getopt_long(): Argument for --option=argument
getopt_long(): Invalid long option
getopt_long(): Mixed long and short options
getopt_long(): Invalid short option
getopt_long(): Missing optional arguments
getopt_long_only(): Mixed long and short options
getopt_long_only(): Single hyphen long options
End of test memory usage:
VARIABLE BEFORE AFTER
======== ======== ========
arena 80ff8 80ff8
ordblks 2 2
mxordblk 7cff0 7cff0
uordblks 2678 2678
fordblks 7e980 7e980
user_main: libc tests
End of test memory usage:
VARIABLE BEFORE AFTER
======== ======== ========
arena 80ff8 80ff8
ordblks 2 2
mxordblk 7cff0 7cff0
uordblks 2678 2678
fordblks 7e980 7e980
show_variable: Variable=Variable1 has value=GoodValue1
show_variable: Variable=Variable2 has value=GoodValue2
show_variable: Variable=Variable3 has value=GoodValue3
show_variable: Variable=Variable1 has no value
show_variable: Variable=Variable2 has value=GoodValue2
show_variable: Variable=Variable3 has value=GoodValue3
End of test memory usage:
VARIABLE BEFORE AFTER
======== ======== ========
arena 80ff8 80ff8
ordblks 2 3
mxordblk 7cff0 7cff0
uordblks 2678 2658
fordblks 7e980 7e9a0
show_variable: Variable=Variable1 has no value
show_variable: Variable=Variable2 has no value
show_variable: Variable=Variable3 has no value
End of test memory usage:
VARIABLE BEFORE AFTER
======== ======== ========
arena 80ff8 80ff8
ordblks 3 2
mxordblk 7cff0 7cff0
uordblks 2658 2578
fordblks 7e9a0 7ea80
user_main: setvbuf test
setvbuf_test: Test NO buffering
setvbuf_test: Using NO buffering
setvbuf_test: Test default FULL buffering
setvbuf_test: Using ...
nuttx-sg2000-2024-10-08
Test OK
Tue Oct 8 08:22:37 +08 2024
----- Download the latest NuttX build for 2024-10-08
/tmp ~
Archive: nuttx.zip
inflating: nuttx
inflating: nuttx-export-12.7.0-RC0.tar.gz
inflating: nuttx.S
inflating: nuttx.bin
inflating: nuttx.config
inflating: nuttx.hash
inflating: nuttx.hex
inflating: nuttx.manifest
inflating: nuttx.map
inflating: initrd
inflating: init.S
inflating: hello.S
inflating: Image
inflating: System.map
~
Tue Oct 8 08:22:39 +08 2024
NuttX Source: https://github.com/apache/nuttx/tree/31a3cea64a574750451428387df2f3ee27789aa9
NuttX Apps: https://github.com/apache/nuttx-apps/tree/c30583dda48a812f045961f88e0d751f06196b28
----- Copy NuttX Image to TFTP Server
-rw-r--r-- 1 pi pi 16329433 Oct 8 01:22 /tftpboot/Image-sg2000
Tue Oct 8 08:22:40 +08 2024
----- Close the screen session
spawn screen -x
Tue Oct 8 08:22:45 +08 2024
Tue Oct 8 08:22:45 +08 2024
----- Power Off the SBC
[]Tue Oct 8 08:22:49 +08 2024
----- Power On the SBC
[]Tue Oct 8 08:22:53 +08 2024
----- Run the Automated Test
spawn screen /dev/tty.usbserial-0001 115200
BS/SD.PS.SD/0x0/0x1000/0x1000/0.PE.BS.SD/0x1000/0x8200/0x8200/0.BE.J.
FSBL Jb2829:gbeb1483-dirty:2024-05-07T08:13:20+00:00
st_on_reason=d0000
st_off_reason=0
P2S/0x1000/0xc00a200.
SD/0x9200/0x1000/0x1000/0.P2E.
DPS/0xa200/0x2000.
SD/0xa200/0x2000/0x2000/0.DPE.
DDR init.
ddr_param[0]=0x78075562.
pkg_type=1
D2_4_1
DDR3-4G-BGA
Data rate=1866.
DDR BIST PASS
PLLS/OD.
C2S/0xc200/0x9fe00000/0x200.
SD/0xc200/0x200/0x200/0.RSC.
C2E.
MS/0xc400/0x80000000/0x1b000.
SD/0x27400/0x37e00/0x37e00/0.DCP/0x80200020/0x1000000/0x81900020/0x37e00/1.
DCP/0x75aa0/0.
Loader_2nd loaded.
Switch RTC mode to xtal32k
Jump to monitor at 0x80000000.
OPENSBI: next_addr=0x80200020 arg1=0x80080000
OpenSBI v0.9
____ _____ ____ _____
/ __ \ / ____| _ \_ _|
| | | |_ __ ___ _ __ | (___ | |_) || |
| | | | '_ \ / _ \ '_ \ \___ \| _ < | |
| |__| | |_) | __/ | | |____) | |_) || |_
\____/| .__/ \___|_| |_|_____/|____/_____|
| |
|_|
Platform Name : Milk-V DuoS
Platform Features : mfdeleg
Platform HART Count : 1
Platform IPI Device : clint
Platform Timer Device : clint
Platform Console Device : uart8250
Platform HSM Device : ---
Platform SysReset Device : ---
Firmware Base : 0x80000000
Firmware Size : 132 KB
Runtime SBI Version : 0.3
Domain0 Name : root
Domain0 Boot HART : 0
Domain0 HARTs : 0*
Domain0 Region00 : 0x0000000074000000-0x000000007400ffff (I)
Domain0 Region01 : 0x0000000080000000-0x000000008003ffff ()
Domain0 Region02 : 0x0000000000000000-0xffffffffffffffff (R,W,X)
Domain0 Next Address : 0x0000000080200020
Domain0 Next Arg1 : 0x0000000080080000
Domain0 Next Mode : S-mode
Domain0 SysReset : yes
Boot HART ID : 0
Boot HART Domain : root
Boot HART ISA : rv64imafdcvsux
Boot HART Features : scounteren,mcounteren,time
Boot HART PMP Count : 16
Boot HART PMP Granularity : 4096
Boot HART PMP Address Bits: 38
Boot HART MHPM Count : 8
Boot HART MHPM Count : 8
Boot HART MIDELEG : 0x0000000000000222
Boot HART MEDELEG : 0x000000000000b109
U-Boot 2021.10-ga57aa1f2-dirty (May 07 2024 - 08:13:12 +0000) cvitek_cv181x
DRAM: 510 MiB
gd->relocaddr=0x9fbc6000. offset=0x1f9c6000
set_rtc_register_for_power
MMC: cv-sd@4310000: 0, wifi-sd@4320000: 1
Loading Environment from FAT... mmc1 : finished tuning, code:53
OK
In: serial
Out: serial
Err: serial
Net:
Warning: ethernet@4070000 (eth0) using random MAC address - 8a:17:11:82:46:58
eth0: ethernet@4070000
Hit any key to stop autoboot: 1 0
ethernet@4070000 Waiting for PHY auto negotiation to complete.. done
Speed: 100, full duplex
BOOTP broadcast 1
BOOTP broadcast 2
*** Unhandled DHCP Option in OFFER/ACK: 43
*** Unhandled DHCP Option in OFFER/ACK: 43
DHCP client bound to address 192.168.31.123 (454 ms)
Using ethernet@4070000 device
TFTP from server 192.168.31.10; our IP address is 192.168.31.123
Filename 'Image-sg2000'.
Load address: 0x80200000
Loading: * #################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
########
1.2 MiB/s
done
Bytes transferred = 16329433 (f92ad9 hex)
Speed: 100, full duplex
Using ethernet@4070000 device
TFTP from server 192.168.31.10; our IP address is 192.168.31.123
Filename 'cv181x_milkv_duos_sd.dtb'.
Load address: 0x81200000
Loading: * ##
1.1 MiB/s
done
Bytes transferred = 21575 (5447 hex)
## Flattened Device Tree blob at 81200000
Booting using the fdt blob at 0x81200000
Loading Device Tree to 000000009f275000, end 000000009f27d446 ... OK
Starting kernel ...
ABC
NuttShell (NSH) NuttX-12.7.0-RC0
nsh> uname -a
NuttX 12.7.0-RC0 31a3cea64a Oct 8 2024 00:14:47 risc-v milkv_duos
nsh> free
total used free maxused maxfree nused nfree
Kmem: 2061304 10696 2050608 36064 2050176 35 4
Page: 20971520 647168 20324352 20324352
nsh> ls -l /dev
/dev:
crw-rw-rw- 0 console
crw-rw-rw- 0 null
brw-rw-rw- 16777216 ram0
crw-rw-rw- 0 ttyS0
crw-rw-rw- 0 zero
nsh> ps
PID GROUP PRI POLICY TYPE NPX STATE EVENT SIGMASK STACK USED FILLED COMMAND
0 0 0 FIFO Kthread - Ready 0000000000000000 003056 001040 34.0% Idle_Task
1 0 100 RR Kthread - Waiting Semaphore 0000000000000000 001968 000720 36.5% lpwork 0x80400000 0x80400048
3 3 100 RR Task - Running 0000000000000000 003008 001600 53.1% /system/bin/init
nsh> hello
Hello, World!!
nsh> getprime
Set thread priority to 10
Set thread policy to SCHED_RR
Start thread #0
thread #0 started, looking for primes < 10000, doing 10 run(s)
thread #0 finished, found 1230 primes, last one was 9973
Done
getprime took 279 msec
nsh> hello
Hello, World!!
nsh> getprime
Set thread priority to 10
Set thread policy to SCHED_RR
Start thread #0
thread #0 started, looking for primes < 10000, doing 10 run(s)
thread #0 finished, found 1230 primes, last one was 9973
Done
getprime took 280 msec
nsh> ostest
stdio_test: write fd=1
stdio_test: Standard I/O Check: printf
stdio_test: write fd=2
stdio_test: Standard I/O Check: fprintf to stderr
ostest_main: putenv(Variable1=BadValue3)
ostest_main: setenv(Variable1, GoodValue1, TRUE)
ostest_main: setenv(Variable2, BadValue1, FALSE)
ostest_main: setenv(Variable2, GoodValue2, TRUE)
ostest_main: setenv(Variable3, GoodValue3, FALSE)
ostest_main: setenv(Variable3, BadValue2, FALSE)
show_variable: Variable=Variable1 has value=GoodValue1
show_variable: Variable=Variable2 has value=GoodValue2
show_variable: Variable=Variable3 has value=GoodValue3
ostest_main: Started user_main at PID=11
user_main: Begin argument test
user_main: Started with argc=5
user_main: argv[0]="user_main"
user_main: argv[1]="Arg1"
user_main: argv[2]="Arg2"
user_main: argv[3]="Arg3"
user_main: argv[4]="Arg4"
End of test memory usage:
VARIABLE BEFORE AFTER
======== ======== ========
arena 80ff8 80ff8
ordblks 2 2
mxordblk 7cff0 7cff0
uordblks 2678 2678
fordblks 7e980 7e980
user_main: getopt() test
getopt(): Simple test
getopt(): Invalid argument
getopt(): Missing optional argument
getopt_long(): Simple test
getopt_long(): No short options
getopt_long(): Argument for --option=argument
getopt_long(): Invalid long option
getopt_long(): Mixed long and short options
getopt_long(): Invalid short option
getopt_long(): Missing optional arguments
getopt_long_only(): Mixed long and short options
getopt_long_only(): Single hyphen long options
End of test memory usage:
VARIABLE BEFORE AFTER
======== ======== ========
arena 80ff8 80ff8
ordblks 2 2
mxordblk 7cff0 7cff0
uordblks 2678 2678
fordblks 7e980 7e980
user_main: libc tests
End of test memory usage:
VARIABLE BEFORE AFTER
======== ======== ========
arena 80ff8 80ff8
ordblks 2 2
mxordblk 7cff0 7cff0
uordblks 2678 2678
fordblks 7e980 7e980
show_variable: Variable=Variable1 has value=GoodValue1
show_variable: Variable=Variable2 has value=GoodValue2
show_variable: Variable=Variable3 has value=GoodValue3
show_variable: Variable=Variable1 has no value
show_variable: Variable=Variable2 has value=GoodValue2
show_variable: Variable=Variable3 has value=GoodValue3
End of test memory usage:
VARIABLE BEFORE AFTER
======== ======== ========
arena 80ff8 80ff8
ordblks 2 3
mxord...
nuttx-sg2000-2024-10-07
Test OK
Mon Oct 7 08:20:29 +08 2024
----- Download the latest NuttX build for 2024-10-07
/tmp ~
Archive: nuttx.zip
inflating: nuttx
inflating: nuttx-export-12.7.0-RC0.tar.gz
inflating: nuttx.S
inflating: nuttx.bin
inflating: nuttx.config
inflating: nuttx.hash
inflating: nuttx.hex
inflating: nuttx.manifest
inflating: nuttx.map
inflating: initrd
inflating: init.S
inflating: hello.S
inflating: Image
inflating: System.map
~
Mon Oct 7 08:20:31 +08 2024
NuttX Source: https://github.com/apache/nuttx/tree/6e5c81e061a337143356f4ca5a1a27e92f9410fb
NuttX Apps: https://github.com/apache/nuttx-apps/tree/d40767011557d35e8f0ff1aafb3c6c6958aeffe6
----- Copy NuttX Image to TFTP Server
-rw-r--r-- 1 pi pi 16287449 Oct 7 01:20 /tftpboot/Image-sg2000
Mon Oct 7 08:20:32 +08 2024
----- Close the screen session
spawn screen -x
Mon Oct 7 08:20:38 +08 2024
Mon Oct 7 08:20:38 +08 2024
----- Power Off the SBC
[]Mon Oct 7 08:20:43 +08 2024
----- Power On the SBC
[]Mon Oct 7 08:20:46 +08 2024
----- Run the Automated Test
spawn screen /dev/tty.usbserial-0001 115200
SDI/25000000/6000000.BS/SD.PS.SD/0x0/0x1000/0x1000/0.PE.BS.SD/0x1000/0x8200/0x8200/0.BE.J.
FSBL Jb2829:gbeb1483-dirty:2024-05-07T08:13:20+00:00
st_on_reason=d0000
st_off_reason=0
P2S/0x1000/0xc00a200.
SD/0x9200/0x1000/0x1000/0.P2E.
DPS/0xa200/0x2000.
SD/0xa200/0x2000/0x2000/0.DPE.
DDR init.
ddr_param[0]=0x78075562.
pkg_type=1
D2_4_1
DDR3-4G-BGA
Data rate=1866.
DDR BIST PASS
PLLS/OD.
C2S/0xc200/0x9fe00000/0x200.
SD/0xc200/0x200/0x200/0.RSC.
C2E.
MS/0xc400/0x80000000/0x1b000.
SD/0xc400/0x1b000/0x1b000/0.ME.
L2/0x27400.
SD/0x27400/0x200/0x200/0.L2/0x414d3342/0xcafe170c/0x80200000/0x37e00/0x37e00
COMP/1.
SD/0x27400/0x37e00/0x37e00/0.DCP/0x80200020/0x1000000/0x81900020/0x37e00/1.
DCP/0x75aa0/0.
Loader_2nd loaded.
Switch RTC mode to xtal32k
Jump to monitor at 0x80000000.
OPENSBI: next_addr=0x80200020 arg1=0x80080000
OpenSBI v0.9
____ _____ ____ _____
/ __ \ / ____| _ \_ _|
| | | |_ __ ___ _ __ | (___ | |_) || |
| | | | '_ \ / _ \ '_ \ \___ \| _ < | |
| |__| | |_) | __/ | | |____) | |_) || |_
\____/| .__/ \___|_| |_|_____/|____/_____|
| |
|_|
Platform Name : Milk-V DuoS
Platform Features : mfdeleg
Platform HART Count : 1
Platform IPI Device : clint
Platform Timer Device : clint
Platform Console Device : uart8250
Platform HSM Device : ---
Platform SysReset Device : ---
Firmware Base : 0x80000000
Firmware Size : 132 KB
Runtime SBI Version : 0.3
Domain0 Name : root
Domain0 Boot HART : 0
Domain0 HARTs : 0*
Domain0 Region00 : 0x0000000074000000-0x000000007400ffff (I)
Domain0 Region01 : 0x0000000080000000-0x000000008003ffff ()
Domain0 Region02 : 0x0000000000000000-0xffffffffffffffff (R,W,X)
Domain0 Next Address : 0x0000000080200020
Domain0 Next Arg1 : 0x0000000080080000
Domain0 Next Mode : S-mode
Domain0 SysReset : yes
Boot HART ID : 0
Boot HART Domain : root
Boot HART ISA : rv64imafdcvsux
Boot HART Features : scounteren,mcounteren,time
Boot HART PMP Count : 16
Boot HART PMP Granularity : 4096
Boot HART PMP Address Bits: 38
Boot HART MHPM Count : 8
Boot HART MHPM Count : 8
Boot HART MIDELEG : 0x0000000000000222
Boot HART MEDELEG : 0x000000000000b109
U-Boot 2021.10-ga57aa1f2-dirty (May 07 2024 - 08:13:12 +0000) cvitek_cv181x
DRAM: 510 MiB
gd->relocaddr=0x9fbc6000. offset=0x1f9c6000
set_rtc_register_for_power
MMC: cv-sd@4310000: 0, wifi-sd@4320000: 1
Loading Environment from FAT... mmc1 : finished tuning, code:53
OK
In: serial
Out: serial
Err: serial
Net:
Warning: ethernet@4070000 (eth0) using random MAC address - 2e:96:c1:af:d1:c2
eth0: ethernet@4070000
Hit any key to stop autoboot: 1 0
ethernet@4070000 Waiting for PHY auto negotiation to complete... done
Speed: 100, full duplex
BOOTP broadcast 1
BOOTP broadcast 2
*** Unhandled DHCP Option in OFFER/ACK: 43
*** Unhandled DHCP Option in OFFER/ACK: 43
DHCP client bound to address 192.168.31.21 (351 ms)
Using ethernet@4070000 device
TFTP from server 192.168.31.10; our IP address is 192.168.31.21
Filename 'Image-sg2000'.
Load address: 0x80200000
Loading: * #################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#####
1.2 MiB/s
done
Bytes transferred = 16287449 (f886d9 hex)
Speed: 100, full duplex
Using ethernet@4070000 device
TFTP from server 192.168.31.10; our IP address is 192.168.31.21
Filename 'cv181x_milkv_duos_sd.dtb'.
Load address: 0x81200000
Loading: * ##
1.1 MiB/s
done
Bytes transferred = 21575 (5447 hex)
## Flattened Device Tree blob at 81200000
Booting using the fdt blob at 0x81200000
Loading Device Tree to 000000009f275000, end 000000009f27d446 ... OK
Starting kernel ...
ABC
NuttShell (NSH) NuttX-12.7.0-RC0
nsh> uname -a
NuttX 12.7.0-RC0 6e5c81e061 Oct 7 2024 00:15:39 risc-v milkv_duos
nsh> free
total used free maxused maxfree nused nfree
Kmem: 2061304 10696 2050608 36064 2050176 35 4
Page: 20971520 647168 20324352 20324352
nsh> ls -l /dev
/dev:
crw-rw-rw- 0 console
crw-rw-rw- 0 null
brw-rw-rw- 16777216 ram0
crw-rw-rw- 0 ttyS0
crw-rw-rw- 0 zero
nsh> ps
PID GROUP PRI POLICY TYPE NPX STATE EVENT SIGMASK STACK USED FILLED COMMAND
0 0 0 FIFO Kthread - Ready 0000000000000000 003056 001040 34.0% Idle_Task
1 0 100 RR Kthread - Waiting Semaphore 0000000000000000 001968 000720 36.5% lpwork 0x80400000 0x80400048
3 3 100 RR Task - Running 0000000000000000 003008 001600 53.1% /system/bin/init
nsh> hello
Hello, World!!
nsh> getprime
Set thread priority to 10
Set thread policy to SCHED_RR
Start thread #0
thread #0 started, looking for primes < 10000, doing 10 run(s)
thread #0 finished, found 1230 primes, last one was 9973
Done
getprime took 279 msec
nsh> hello
Hello, World!!
nsh> getprime
Set thread priority to 10
Set thread policy to SCHED_RR
Start thread #0
thread #0 started, looking for primes < 10000, doing 10 run(s)
thread #0 finished, found 1230 primes, last one was 9973
Done
getprime took 279 msec
nsh> ostest
stdio_test: write fd=1
stdio_test: Standard I/O Check: printf
stdio_test: write fd=2
stdio_test: Standard I/O Check: fprintf to stderr
ostest_main: putenv(Variable1=BadValue3)
ostest_main: setenv(Variable1, GoodValue1, TRUE)
ostest_main: setenv(Variable2, BadValue1, FALSE)
ostest_main: setenv(Variable2, GoodValue2, TRUE)
ostest_main: setenv(Variable3, GoodValue3, FALSE)
ostest_main: setenv(Variable3, BadValue2, FALSE)
show_variable: Variable=Variable1 has value=GoodValue1
show_variable: Variable=Variable2 has value=GoodValue2
show_variable: Variable=Variable3 has value=GoodValue3
ostest_main: Started user_main at PID=11
user_main: Begin argument test
user_main: Started with argc=5
user_main: argv[0]="user_main"
user_main: argv[1]="Arg1"
user_main: argv[2]="Arg2"
user_main: argv[3]="Arg3"
user_main: argv[4]="Arg4"
End of test memory usage:
VARIABLE BEFORE AFTER
======== ======== ========
arena 80ff8 80ff8
ordblks 2 2
mxordblk 7cff0 7cff0
uordblks 2678 2678
fordblks 7e980 7e980
user_main: getopt() test
getopt(): Simple test
getopt(): Invalid argument
getopt(): Missing optional argument
getopt_long(): Simple test
getopt_long(): No short options
getopt_long(): Argument for --option=argument
getopt_long(): Invalid long option
getopt_long(): Mixed long and short options
getopt_long(): Invalid short option
getopt_long(): Missing optional arguments
getopt_long_only(): Mixed long and short options
getopt_long_only(): Single hyphen long options
End of test memory usage:
VARIABLE BEFORE AFTER
======== ======== ========
arena 80ff8 80ff8
ordblks 2 2
mxordblk 7cff0 7cff0
uordblks 2678 2678
fordblks 7e980 7e980
user_main: libc tests
End of test memory usage:
VARIABLE BEFORE AFTER
======== ======== ========
arena 80ff8 80ff8
ordblks 2 2
mxordblk 7cff0 7cff0
uordblks 2678 2678
fordblks 7e980 7e980
show_variable: Variable=Variable1 has value=GoodValue1
show_variable: Variable=Variable2 has value=GoodValue2
show_variable: Variable=Variable3 has value=GoodValue3
show_variable: Variable=Variable1 has no value
show_variable: Variable=Variable2 has value=GoodValue2
show_variable: Variable=Variable3 has value=Good...
nuttx-sg2000-2024-10-06
Test OK
Sun Oct 6 08:18:20 +08 2024
----- Download the latest NuttX build for 2024-10-06
/tmp ~
Archive: nuttx.zip
inflating: nuttx
inflating: nuttx-export-12.7.0-RC0.tar.gz
inflating: nuttx.S
inflating: nuttx.bin
inflating: nuttx.config
inflating: nuttx.hash
inflating: nuttx.hex
inflating: nuttx.manifest
inflating: nuttx.map
inflating: initrd
inflating: init.S
inflating: hello.S
inflating: Image
inflating: System.map
~
Sun Oct 6 08:18:22 +08 2024
NuttX Source: https://github.com/apache/nuttx/tree/50f21f93d4f553470e7bdb8f98fcfc5b8e233e87
NuttX Apps: https://github.com/apache/nuttx-apps/tree/d5d8e9eacb7a7dbeedd289b499a77ea8ab97b45f
----- Copy NuttX Image to TFTP Server
-rw-r--r-- 1 pi pi 16287449 Oct 6 01:18 /tftpboot/Image-sg2000
Sun Oct 6 08:18:23 +08 2024
----- Close the screen session
spawn screen -x
Sun Oct 6 08:18:28 +08 2024
Sun Oct 6 08:18:28 +08 2024
----- Power Off the SBC
[]Sun Oct 6 08:18:33 +08 2024
----- Power On the SBC
[]Sun Oct 6 08:18:35 +08 2024
----- Run the Automated Test
spawn screen /dev/tty.usbserial-0001 115200
SDI/25000000/6000000.BS/SD.PS.SD/0x0/0x1000/0x1000/0.PE.BS.SD/0x1000/0x8200/0x8200/0.BE.J.
FSBL Jb2829:gbeb1483-dirty:2024-05-07T08:13:20+00:00
st_on_reason=d0000
st_off_reason=0
P2S/0x1000/0xc00a200.
SD/0x9200/0x1000/0x1000/0.P2E.
DPS/0xa200/0x2000.
SD/0xa200/0x2000/0x2000/0.DPE.
DDR init.
ddr_param[0]=0x78075562.
pkg_type=1
D2_4_1
DDR3-4G-BGA
Data rate=1866.
DDR BIST PASS
PLLS/OD.
C2S/0xc200/0x9fe00000/0x200.
SD/0xc200/0x200/0x200/0.RSC.
C2E.
MS/0xc400/0x80000000/0x1b000.
SD/0xc400/0x1b000/0x1b000/0.ME.
L2/0x27400.
SD/0x27400/0x200/0x200/0.L2/0x414d3342/0xcafe170c/0x80200000/0x37e00/0x37e00
COMP/1.
SD/0x27400/0x37e00/0x37e00/0.DCP/0x80200020/0x1000000/0x81900020/0x37e00/1.
DCP/0x75aa0/0.
Loader_2nd loaded.
Switch RTC mode to xtal32k
Jump to monitor at 0x80000000.
OPENSBI: next_addr=0x80200020 arg1=0x80080000
OpenSBI v0.9
____ _____ ____ _____
/ __ \ / ____| _ \_ _|
| | | |_ __ ___ _ __ | (___ | |_) || |
| | | | '_ \ / _ \ '_ \ \___ \| _ < | |
| |__| | |_) | __/ | | |____) | |_) || |_
\____/| .__/ \___|_| |_|_____/|____/_____|
| |
|_|
Platform Name : Milk-V DuoS
Platform Features : mfdeleg
Platform HART Count : 1
Platform IPI Device : clint
Platform Timer Device : clint
Platform Console Device : uart8250
Platform HSM Device : ---
Platform SysReset Device : ---
Firmware Base : 0x80000000
Firmware Size : 132 KB
Runtime SBI Version : 0.3
Domain0 Name : root
Domain0 Boot HART : 0
Domain0 HARTs : 0*
Domain0 Region00 : 0x0000000074000000-0x000000007400ffff (I)
Domain0 Region01 : 0x0000000080000000-0x000000008003ffff ()
Domain0 Region02 : 0x0000000000000000-0xffffffffffffffff (R,W,X)
Domain0 Next Address : 0x0000000080200020
Domain0 Next Arg1 : 0x0000000080080000
Domain0 Next Mode : S-mode
Domain0 SysReset : yes
Boot HART ID : 0
Boot HART Domain : root
Boot HART ISA : rv64imafdcvsux
Boot HART Features : scounteren,mcounteren,time
Boot HART PMP Count : 16
Boot HART PMP Granularity : 4096
Boot HART PMP Address Bits: 38
Boot HART MHPM Count : 8
Boot HART MHPM Count : 8
Boot HART MIDELEG : 0x0000000000000222
Boot HART MEDELEG : 0x000000000000b109
U-Boot 2021.10-ga57aa1f2-dirty (May 07 2024 - 08:13:12 +0000) cvitek_cv181x
DRAM: 510 MiB
gd->relocaddr=0x9fbc6000. offset=0x1f9c6000
set_rtc_register_for_power
MMC: cv-sd@4310000: 0, wifi-sd@4320000: 1
Loading Environment from FAT... mmc1 : finished tuning, code:53
OK
In: serial
Out: serial
Err: serial
Net:
Warning: ethernet@4070000 (eth0) using random MAC address - 7e:b1:6a:74:6b:67
eth0: ethernet@4070000
Hit any key to stop autoboot: 1 0
ethernet@4070000 Waiting for PHY auto negotiation to complete.. done
Speed: 100, full duplex
BOOTP broadcast 1
BOOTP broadcast 2
BOOTP broadcast 3
*** Unhandled DHCP Option in OFFER/ACK: 43
*** Unhandled DHCP Option in OFFER/ACK: 43
DHCP client bound to address 192.168.31.99 (799 ms)
Using ethernet@4070000 device
TFTP from server 192.168.31.10; our IP address is 192.168.31.99
Filename 'Image-sg2000'.
Load address: 0x80200000
Loading: * #################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#####
1.2 MiB/s
done
Bytes transferred = 16287449 (f886d9 hex)
Speed: 100, full duplex
Using ethernet@4070000 device
TFTP from server 192.168.31.10; our IP address is 192.168.31.99
Filename 'cv181x_milkv_duos_sd.dtb'.
Load address: 0x81200000
Loading: * ##
1.2 MiB/s
done
Bytes transferred = 21575 (5447 hex)
## Flattened Device Tree blob at 81200000
Booting using the fdt blob at 0x81200000
Loading Device Tree to 000000009f275000, end 000000009f27d446 ... OK
Starting kernel ...
ABC
NuttShell (NSH) NuttX-12.7.0-RC0
nsh> uname -a
NuttX 12.7.0-RC0 50f21f93d4 Oct 6 2024 00:16:26 risc-v milkv_duos
nsh> free
total used free maxused maxfree nused nfree
Kmem: 2061304 10696 2050608 36064 2050176 35 4
Page: 20971520 647168 20324352 20324352
nsh> ls -l /dev
/dev:
crw-rw-rw- 0 console
crw-rw-rw- 0 null
brw-rw-rw- 16777216 ram0
crw-rw-rw- 0 ttyS0
crw-rw-rw- 0 zero
nsh> ps
PID GROUP PRI POLICY TYPE NPX STATE EVENT SIGMASK STACK USED FILLED COMMAND
0 0 0 FIFO Kthread - Ready 0000000000000000 003056 001040 34.0% Idle_Task
1 0 100 RR Kthread - Waiting Semaphore 0000000000000000 001968 000720 36.5% lpwork 0x80400000 0x80400048
3 3 100 RR Task - Running 0000000000000000 003008 001600 53.1% /system/bin/init
nsh> hello
Hello, World!!
nsh> getprime
Set thread priority to 10
Set thread policy to SCHED_RR
Start thread #0
thread #0 started, looking for primes < 10000, doing 10 run(s)
thread #0 finished, found 1230 primes, last one was 9973
Done
getprime took 279 msec
nsh> hello
Hello, World!!
nsh> getprime
Set thread priority to 10
Set thread policy to SCHED_RR
Start thread #0
thread #0 started, looking for primes < 10000, doing 10 run(s)
thread #0 finished, found 1230 primes, last one was 9973
Done
getprime took 279 msec
nsh> ostest
stdio_test: write fd=1
stdio_test: Standard I/O Check: printf
stdio_test: write fd=2
stdio_test: Standard I/O Check: fprintf to stderr
ostest_main: putenv(Variable1=BadValue3)
ostest_main: setenv(Variable1, GoodValue1, TRUE)
ostest_main: setenv(Variable2, BadValue1, FALSE)
ostest_main: setenv(Variable2, GoodValue2, TRUE)
ostest_main: setenv(Variable3, GoodValue3, FALSE)
ostest_main: setenv(Variable3, BadValue2, FALSE)
show_variable: Variable=Variable1 has value=GoodValue1
show_variable: Variable=Variable2 has value=GoodValue2
show_variable: Variable=Variable3 has value=GoodValue3
ostest_main: Started user_main at PID=11
user_main: Begin argument test
user_main: Started with argc=5
user_main: argv[0]="user_main"
user_main: argv[1]="Arg1"
user_main: argv[2]="Arg2"
user_main: argv[3]="Arg3"
user_main: argv[4]="Arg4"
End of test memory usage:
VARIABLE BEFORE AFTER
======== ======== ========
arena 80ff8 80ff8
ordblks 2 2
mxordblk 7cff0 7cff0
uordblks 2678 2678
fordblks 7e980 7e980
user_main: getopt() test
getopt(): Simple test
getopt(): Invalid argument
getopt(): Missing optional argument
getopt_long(): Simple test
getopt_long(): No short options
getopt_long(): Argument for --option=argument
getopt_long(): Invalid long option
getopt_long(): Mixed long and short options
getopt_long(): Invalid short option
getopt_long(): Missing optional arguments
getopt_long_only(): Mixed long and short options
getopt_long_only(): Single hyphen long options
End of test memory usage:
VARIABLE BEFORE AFTER
======== ======== ========
arena 80ff8 80ff8
ordblks 2 2
mxordblk 7cff0 7cff0
uordblks 2678 2678
fordblks 7e980 7e980
user_main: libc tests
End of test memory usage:
VARIABLE BEFORE AFTER
======== ======== ========
arena 80ff8 80ff8
ordblks 2 2
mxordblk 7cff0 7cff0
uordblks 2678 2678
fordblks 7e980 7e980
show_variable: Variable=Variable1 has value=GoodValue1
show_variable: Variable=Variable2 has value=GoodValue2
show_variable: Variable=Variable3 has value=GoodValue3
show_variable: Variable=Variable1 has no value
show_variable: Variable=Variable2 has value=GoodValue2
show_variable: Variable=Variabl...
nuttx-sg2000-2024-10-05
Test OK
Sat Oct 5 08:46:15 +08 2024
----- Download the latest NuttX build for 2024-10-05
/tmp ~
Archive: nuttx.zip
inflating: nuttx
inflating: nuttx-export-12.7.0-RC0.tar.gz
inflating: nuttx.S
inflating: nuttx.bin
inflating: nuttx.config
inflating: nuttx.hash
inflating: nuttx.hex
inflating: nuttx.manifest
inflating: nuttx.map
inflating: initrd
inflating: init.S
inflating: hello.S
inflating: Image
inflating: System.map
~
Sat Oct 5 08:46:17 +08 2024
NuttX Source: https://github.com/apache/nuttx/tree/0976258299a30132f679ebac6a800e186fc3052b
NuttX Apps: https://github.com/apache/nuttx-apps/tree/86f367132a61a0d91a25bb7d4627ad371f56c848
----- Copy NuttX Image to TFTP Server
-rw-r--r-- 1 pi pi 16287449 Oct 5 01:46 /tftpboot/Image-sg2000
Sat Oct 5 08:46:18 +08 2024
----- Close the screen session
spawn screen -x
Sat Oct 5 08:46:23 +08 2024
Sat Oct 5 08:46:23 +08 2024
----- Power Off the SBC
[]Sat Oct 5 08:46:28 +08 2024
----- Power On the SBC
[]Sat Oct 5 08:46:32 +08 2024
----- Run the Automated Test
spawn screen /dev/tty.usbserial-0001 115200
SDI/25000000/6000000.BS/SD.PS.SD/0x0/0x1000/0x1000/0.PE.BS.SD/0x1000/0x8200/0x8200/0.BE.J.
FSBL Jb2829:gbeb1483-dirty:2024-05-07T08:13:20+00:00
st_on_reason=d0000
st_off_reason=0
P2S/0x1000/0xc00a200.
SD/0x9200/0x1000/0x1000/0.P2E.
DPS/0xa200/0x2000.
SD/0xa200/0x2000/0x2000/0.DPE.
DDR init.
ddr_param[0]=0x78075562.
pkg_type=1
D2_4_1
DDR3-4G-BGA
Data rate=1866.
DDR BIST PASS
PLLS/OD.
C2S/0xc200/0x9fe00000/0x200.
SD/0xc200/0x200/0x200/0.RSC.
C2E.
MS/0xc400/0x80000000/0x1b000.
SD/0xc400/0x1b000/0x1b000/0.ME.
L2/� %ADSD/0x27400/0x37e00/0x37e00/0.DCP/0x80200020/0x1000000/0x81900020/0x37e00/1.
DCP/0x75aa0/0.
Loader_2nd loaded.
Switch RTC mode to xtal32k
Jump to monitor at 0x80000000.
OPENSBI: next_addr=0x80200020 arg1=0x80080000
OpenSBI v0.9
____ _____ ____ _____
/ __ \ / ____| _ \_ _|
| | | |_ __ ___ _ __ | (___ | |_) || |
| | | | '_ \ / _ \ '_ \ \___ \| _ < | |
| |__| | |_) | __/ | | |____) | |_) || |_
\____/| .__/ \___|_| |_|_____/|____/_____|
| |
|_|
Platform Name : Milk-V DuoS
Platform Features : mfdeleg
Platform HART Count : 1
Platform IPI Device : clint
Platform Timer Device : clint
Platform Console Device : uart8250
Platform HSM Device : ---
Platform SysReset Device : ---
Firmware Base : 0x80000000
Firmware Size : 132 KB
Runtime SBI Version : 0.3
Domain0 Name : root
Domain0 Boot HART : 0
Domain0 HARTs : 0*
Domain0 Region00 : 0x0000000074000000-0x000000007400ffff (I)
Domain0 Region01 : 0x0000000080000000-0x000000008003ffff ()
Domain0 Region02 : 0x0000000000000000-0xffffffffffffffff (R,W,X)
Domain0 Next Address : 0x0000000080200020
Domain0 Next Arg1 : 0x0000000080080000
Domain0 Next Mode : S-mode
Domain0 SysReset : yes
Boot HART ID : 0
Boot HART Domain : root
Boot HART ISA : rv64imafdcvsux
Boot HART Features : scounteren,mcounteren,time
Boot HART PMP Count : 16
Boot HART PMP Granularity : 4096
Boot HART PMP Address Bits: 38
Boot HART MHPM Count : 8
Boot HART MHPM Count : 8
Boot HART MIDELEG : 0x0000000000000222
Boot HART MEDELEG : 0x000000000000b109
U-Boot 2021.10-ga57aa1f2-dirty (May 07 2024 - 08:13:12 +0000) cvitek_cv181x
DRAM: 510 MiB
gd->relocaddr=0x9fbc6000. offset=0x1f9c6000
set_rtc_register_for_power
MMC: cv-sd@4310000: 0, wifi-sd@4320000: 1
Loading Environment from FAT... mmc1 : finished tuning, code:53
OK
In: serial
Out: serial
Err: serial
Net:
Warning: ethernet@4070000 (eth0) using random MAC address - 8a:00:ee:15:44:27
eth0: ethernet@4070000
Hit any key to stop autoboot: 1 0
ethernet@4070000 Waiting for PHY auto negotiation to complete.. done
Speed: 100, full duplex
BOOTP broadcast 1
BOOTP broadcast 2
*** Unhandled DHCP Option in OFFER/ACK: 43
*** Unhandled DHCP Option in OFFER/ACK: 43
DHCP client bound to address 192.168.31.98 (355 ms)
Using ethernet@4070000 device
TFTP from server 192.168.31.10; our IP address is 192.168.31.98
Filename 'Image-sg2000'.
Load address: 0x80200000
Loading: * #################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#####
1.2 MiB/s
done
Bytes transferred = 16287449 (f886d9 hex)
Speed: 100, full duplex
Using ethernet@4070000 device
TFTP from server 192.168.31.10; our IP address is 192.168.31.98
Filename 'cv181x_milkv_duos_sd.dtb'.
Load address: 0x81200000
Loading: * ##
1.1 MiB/s
done
Bytes transferred = 21575 (5447 hex)
## Flattened Device Tree blob at 81200000
Booting using the fdt blob at 0x81200000
Loading Device Tree to 000000009f275000, end 000000009f27d446 ... OK
Starting kernel ...
ABC
NuttShell (NSH) NuttX-12.7.0-RC0
nsh> uname -a
NuttX 12.7.0-RC0 0976258299 Oct 5 2024 00:15:41 risc-v milkv_duos
nsh> free
total used free maxused maxfree nused nfree
Kmem: 2061304 10696 2050608 36064 2050176 35 4
Page: 20971520 647168 20324352 20324352
nsh> ls -l /dev
/dev:
crw-rw-rw- 0 console
crw-rw-rw- 0 null
brw-rw-rw- 16777216 ram0
crw-rw-rw- 0 ttyS0
crw-rw-rw- 0 zero
nsh> ps
PID GROUP PRI POLICY TYPE NPX STATE EVENT SIGMASK STACK USED FILLED COMMAND
0 0 0 FIFO Kthread - Ready 0000000000000000 003056 001024 33.5% Idle_Task
1 0 100 RR Kthread - Waiting Semaphore 0000000000000000 001968 000720 36.5% lpwork 0x80400000 0x80400048
3 3 100 RR Task - Running 0000000000000000 003008 001600 53.1% /system/bin/init
nsh> hello
Hello, World!!
nsh> getprime
Set thread priority to 10
Set thread policy to SCHED_RR
Start thread #0
thread #0 started, looking for primes < 10000, doing 10 run(s)
thread #0 finished, found 1230 primes, last one was 9973
Done
getprime took 279 msec
nsh> hello
Hello, World!!
nsh> getprime
Set thread priority to 10
Set thread policy to SCHED_RR
Start thread #0
thread #0 started, looking for primes < 10000, doing 10 run(s)
thread #0 finished, found 1230 primes, last one was 9973
Done
getprime took 279 msec
nsh> ostest
stdio_test: write fd=1
stdio_test: Standard I/O Check: printf
stdio_test: write fd=2
stdio_test: Standard I/O Check: fprintf to stderr
ostest_main: putenv(Variable1=BadValue3)
ostest_main: setenv(Variable1, GoodValue1, TRUE)
ostest_main: setenv(Variable2, BadValue1, FALSE)
ostest_main: setenv(Variable2, GoodValue2, TRUE)
ostest_main: setenv(Variable3, GoodValue3, FALSE)
ostest_main: setenv(Variable3, BadValue2, FALSE)
show_variable: Variable=Variable1 has value=GoodValue1
show_variable: Variable=Variable2 has value=GoodValue2
show_variable: Variable=Variable3 has value=GoodValue3
ostest_main: Started user_main at PID=11
user_main: Begin argument test
user_main: Started with argc=5
user_main: argv[0]="user_main"
user_main: argv[1]="Arg1"
user_main: argv[2]="Arg2"
user_main: argv[3]="Arg3"
user_main: argv[4]="Arg4"
End of test memory usage:
VARIABLE BEFORE AFTER
======== ======== ========
arena 80ff8 80ff8
ordblks 2 2
mxordblk 7cff0 7cff0
uordblks 2678 2678
fordblks 7e980 7e980
user_main: getopt() test
getopt(): Simple test
getopt(): Invalid argument
getopt(): Missing optional argument
getopt_long(): Simple test
getopt_long(): No short options
getopt_long(): Argument for --option=argument
getopt_long(): Invalid long option
getopt_long(): Mixed long and short options
getopt_long(): Invalid short option
getopt_long(): Missing optional arguments
getopt_long_only(): Mixed long and short options
getopt_long_only(): Single hyphen long options
End of test memory usage:
VARIABLE BEFORE AFTER
======== ======== ========
arena 80ff8 80ff8
ordblks 2 2
mxordblk 7cff0 7cff0
uordblks 2678 2678
fordblks 7e980 7e980
user_main: libc tests
End of test memory usage:
VARIABLE BEFORE AFTER
======== ======== ========
arena 80ff8 80ff8
ordblks 2 2
mxordblk 7cff0 7cff0
uordblks 2678 2678
fordblks 7e980 7e980
show_variable: Variable=Variable1 has value=GoodValue1
show_variable: Variable=Variable2 has value=GoodValue2
show_variable: Variable=Variable3 has value=GoodValue3
show_variable: Variable=Variable1 has no value
show_variable: Variable=Variable2 has value=GoodValue2
show_variable: Variable=Variable3 has value=GoodValue3
End of test memory usage:
VARIABLE BEFORE AFTER
======== ======== ========
aren...
nuttx-sg2000-2024-10-04
Test OK
Error: Test Failed
Test OK
Fri Oct 4 17:09:24 +08 2024
----- Download the latest NuttX build for 2024-10-04
/tmp ~
Archive: nuttx.zip
inflating: nuttx
inflating: nuttx-export-12.7.0-RC0.tar.gz
inflating: nuttx.S
inflating: nuttx.bin
inflating: nuttx.config
inflating: nuttx.hash
inflating: nuttx.hex
inflating: nuttx.manifest
inflating: nuttx.map
inflating: initrd
inflating: init.S
inflating: hello.S
inflating: Image
inflating: System.map
~
Fri Oct 4 17:09:28 +08 2024
NuttX Source: https://github.com/apache/nuttx/tree/e959e0062e97cb5c4ddb7afeea6b2b07019e648a
NuttX Apps: https://github.com/apache/nuttx-apps/tree/76d419ca452f3fb85d1e1c845e4a0ba8174fb0f5
----- Copy NuttX Image to TFTP Server
-rw-r--r-- 1 pi pi 16287449 Oct 4 10:09 /tftpboot/Image-sg2000
Fri Oct 4 17:09:29 +08 2024
----- Close the screen session
spawn screen -x
Fri Oct 4 17:09:34 +08 2024
Fri Oct 4 17:09:34 +08 2024
----- Power Off the SBC
[]Fri Oct 4 17:09:38 +08 2024
----- Power On the SBC
[]Fri Oct 4 17:09:42 +08 2024
----- Run the Automated Test
spawn screen /dev/tty.usbserial-0001 115200
SD/0x1000/0x8200/0x8200/0.BE.J.
FSBL Jb2829:gbeb1483-dirty:2024-05-07T08:13:20+00:00
st_on_reason=d0000
st_off_reason=0
P2S/0x1000/0xc00a200.
SD/0x9200/0x1000/0x1000/0.P2E.
DPS/0xa200/0x2000.
SD/0xa200/0x2000/0x2000/0.DPE.
DDR init.
ddr_param[0]=0x78075562.
pkg_type=1
D2_4_1
DDR3-4G-BGA
Data rate=1866.
DDR BIST PASS
PLLS/OD.
C2S/0xc200/0x9fe00000/0x200.
SD/0xc200/0x200/0x200/0.RSC.
C2E.
MS/0xc400/0x80000000/0x1b000.
SD/0xc400/0x1b000/0x1b000/0.ME.
L2/0x27400.
SD/0x27400/0x200/0x200/0.L2/0x414d3342/0xcafe170c/0x80200000/0x37e00/0x37e00
COMP/1.
SD/0x27400/0x37e00/0x37e00/0.DCP/0x80200020/0x1000000/0x81900020/0x37e00/1.
nSBI v0.9
____ _____ ____ _____
/ __ \ / ____| _ \_ _|
| | | |_ __ ___ _ __ | (___ | �V
:�e����Platform Name : Milk-V DuoS
Platform Features : mfdeleg
Platform HART Count : 1
Platform IPI Device : clint
Platform Timer Device : clint
Platform Console Device : uart8250
Platform HSM Device : ---
Platform SysReset Device : ---
Firmware Base : 0x80000000
Firmware Size : 132 KB
Runtime SBI Version : 0.3
Domain0 Name : root
Domain0 Boot HART : 0
Domain0 HARTs : 0*
Domain0 Region00 : 0x0000000074000000-0x000000007400ffff (I)
Domain0 Region01 : 0x0000000080000000-0x000000008003ffff ()
Domain0 Region02 : 0x0000000000000000-0xffffffffffffffff (R,W,X)
Domain0 Next Address : 0x0000000080200020
Domain0 Next Arg1 : 0x0000000080080000
Domain0 Next Mode : S-mode
Domain0 SysReset : yes
Boot HART ID : 0
Boot HART Domain : root
Boot HART ISA : rv64imafdcvsux
Boot HART Features : scounteren,mcounteren,time
Boot HART PMP Count : 16
Boot HART PMP Granularity : 4096
Boot HART PMP Address Bits: 38
Boot HART MHPM Count : 8
Boot HART MHPM Count : 8
Boot HART MIDELEG : 0x0000000000000222
Boot HART MEDELEG : 0x000000000000b109
U-Boot 2021.10-ga57aa1f2-dirty (May 07 2024 - 08:13:12 +0000) cvitek_cv181x
DRAM: 510 MiB
gd->relocaddr=0x9fbc6000. offset=0x1f9c6000
set_rtc_register_for_power
MMC: cv-sd@4310000: 0, wifi-sd@4320000: 1
Loading Environment from FAT... mmc1 : finished tuning, code:53
OK
In: serial
Out: serial
Err: serial
Net:
Warning: ethernet@4070000 (eth0) using random MAC address - 06:99:9e:19:2b:34
eth0: ethernet@4070000
Hit any key to stop autoboot: 1 0
ethernet@4070000 Waiting for PHY auto negotiation to complete.. done
Speed: 100, full duplex
BOOTP broadcast 1
BOOTP broadcast 2
*** Unhandled DHCP Option in OFFER/ACK: 43
*** Unhandled DHCP Option in OFFER/ACK: 43
DHCP client bound to address 192.168.31.67 (567 ms)
Using ethernet@4070000 device
TFTP from server 192.168.31.10; our IP address is 192.168.31.67
Filename 'Image-sg2000'.
Load address: 0x80200000
Loading: * #################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#####
1.2 MiB/s
done
Bytes transferred = 16287449 (f886d9 hex)
Speed: 100, full duplex
Using ethernet@4070000 device
TFTP from server 192.168.31.10; our IP address is 192.168.31.67
Filename 'cv181x_milkv_duos_sd.dtb'.
Load address: 0x81200000
Loading: * ##
1.1 MiB/s
done
Bytes transferred = 21575 (5447 hex)
## Flattened Device Tree blob at 81200000
Booting using the fdt blob at 0x81200000
Loading Device Tree to 000000009f275000, end 000000009f27d446 ... OK
Starting kernel ...
ABC
NuttShell (NSH) NuttX-12.7.0-RC0
nsh> uname -a
NuttX 12.7.0-RC0 e959e0062e Oct 4 2024 00:15:16 risc-v milkv_duos
nsh> free
total used free maxused maxfree nused nfree
Kmem: 2061304 10680 2050624 36064 2050192 35 4
Page: 20971520 647168 20324352 20324352
nsh> ls -l /dev
/dev:
crw-rw-rw- 0 console
crw-rw-rw- 0 null
brw-rw-rw- 16777216 ram0
crw-rw-rw- 0 ttyS0
crw-rw-rw- 0 zero
nsh> ps
PID GROUP PRI POLICY TYPE NPX STATE EVENT SIGMASK STACK USED FILLED COMMAND
0 0 0 FIFO Kthread - Ready 0000000000000000 003056 001088 35.6% Idle_Task
1 0 100 RR Kthread - Waiting Semaphore 0000000000000000 001968 000720 36.5% lpwork 0x80400000 0x80400048
3 3 100 RR Task - Running 0000000000000000 003008 001600 53.1% /system/bin/init
nsh> hello
Hello, World!!
nsh> getprime
Set thread priority to 10
Set thread policy to SCHED_RR
Start thread #0
thread #0 started, looking for primes < 10000, doing 10 run(s)
thread #0 finished, found 1230 primes, last one was 9973
Done
getprime took 279 msec
nsh> hello
Hello, World!!
nsh> getprime
Set thread priority to 10
Set thread policy to SCHED_RR
Start thread #0
thread #0 started, looking for primes < 10000, doing 10 run(s)
thread #0 finished, found 1230 primes, last one was 9973
Done
getprime took 279 msec
nsh> ostest
stdio_test: write fd=1
stdio_test: Standard I/O Check: printf
stdio_test: write fd=2
stdio_test: Standard I/O Check: fprintf to stderr
ostest_main: putenv(Variable1=BadValue3)
ostest_main: setenv(Variable1, GoodValue1, TRUE)
ostest_main: setenv(Variable2, BadValue1, FALSE)
ostest_main: setenv(Variable2, GoodValue2, TRUE)
ostest_main: setenv(Variable3, GoodValue3, FALSE)
ostest_main: setenv(Variable3, BadValue2, FALSE)
show_variable: Variable=Variable1 has value=GoodValue1
show_variable: Variable=Variable2 has value=GoodValue2
show_variable: Variable=Variable3 has value=GoodValue3
ostest_main: Started user_main at PID=11
user_main: Begin argument test
user_main: Started with argc=5
user_main: argv[0]="user_main"
user_main: argv[1]="Arg1"
user_main: argv[2]="Arg2"
user_main: argv[3]="Arg3"
user_main: argv[4]="Arg4"
End of test memory usage:
VARIABLE BEFORE AFTER
======== ======== ========
arena 80ff8 80ff8
ordblks 2 2
mxordblk 7cff0 7cff0
uordblks 2678 2678
fordblks 7e980 7e980
user_main: getopt() test
getopt(): Simple test
getopt(): Invalid argument
getopt(): Missing optional argument
getopt_long(): Simple test
getopt_long(): No short options
getopt_long(): Argument for --option=argument
getopt_long(): Invalid long option
getopt_long(): Mixed long and short options
getopt_long(): Invalid short option
getopt_long(): Missing optional arguments
getopt_long_only(): Mixed long and short options
getopt_long_only(): Single hyphen long options
End of test memory usage:
VARIABLE BEFORE AFTER
======== ======== ========
arena 80ff8 80ff8
ordblks 2 2
mxordblk 7cff0 7cff0
uordblks 2678 2678
fordblks 7e980 7e980
user_main: libc tests
End of test memory usage:
VARIABLE BEFORE AFTER
======== ======== ========
arena 80ff8 80ff8
ordblks 2 2
mxordblk 7cff0 7cff0
uordblks 2678 2678
fordblks 7e980 7e980
show_variable: Variable=Variable1 has value=GoodValue1
show_variable: Variable=Variable2 has value=GoodValue2
show_variable: Variable=Variable3 has value=GoodValue3
show_variable: Variable=Variable1 has no value
show_variable: Variable=Variable2 has value=GoodValue2
show_variable: Variable=Variable3 has value=GoodValue3
End of test memory usage:
VARIABLE BEFORE AFTER
======== ======== ========
arena 80ff8 80ff8
ordblks 2 3
mxordblk 7cff0 7cff0
uordblks 2678 2658
fordblks 7e980 7e9a0
show_variable: Variable=Variable1 has no value
show_variable: Variable=Variable2 has no value
show_variable: ...
nuttx-sg2000-2024-10-03
Test OK
Thu Oct 3 08:17:30 +08 2024
----- Download the latest NuttX build for 2024-10-03
/tmp ~
Archive: nuttx.zip
inflating: nuttx
inflating: nuttx-export-12.6.0.tar.gz
inflating: nuttx.S
inflating: nuttx.bin
inflating: nuttx.config
inflating: nuttx.hash
inflating: nuttx.hex
inflating: nuttx.manifest
inflating: nuttx.map
inflating: initrd
inflating: init.S
inflating: hello.S
inflating: Image
inflating: System.map
~
Thu Oct 3 08:17:33 +08 2024
NuttX Source: https://github.com/apache/nuttx/tree/534114395ee9164db241b8ccfb5f731f675559f1
NuttX Apps: https://github.com/apache/nuttx-apps/tree/76d419ca452f3fb85d1e1c845e4a0ba8174fb0f5
----- Copy NuttX Image to TFTP Server
-rw-r--r-- 1 pi pi 16287449 Oct 3 01:17 /tftpboot/Image-sg2000
Thu Oct 3 08:17:34 +08 2024
----- Close the screen session
spawn screen -x
Thu Oct 3 08:17:39 +08 2024
Thu Oct 3 08:17:39 +08 2024
----- Power Off the SBC
[]Thu Oct 3 08:17:43 +08 2024
----- Power On the SBC
[]Thu Oct 3 08:17:47 +08 2024
----- Run the Automated Test
spawn screen /dev/tty.usbserial-0001 115200
BS/SD.PS.SD/0x0/0x1000/0x1000/0.PE.BS.SD/0x1000/0x8200/0x8200/0.BE.J.
FSBL Jb2829:gbeb1483-dirty:2024-05-07T08:13:20+00:00
st_on_reason=d0000
st_off_reason=0
P2S/0x1000/0xc00a200.
SD/0x9200/0x1000/0x1000/0.P2E.
DPS/0xa200/0x2000.
SD/0xa200/0x2000/0x2000/0.DPE.
DDR init.
ddr_param[0]=0x78075562.
pkg_type=1
D2_4_1
DDR3-4G-BGA
Data rate=1866.
DDR BIST PASS
PLLS/OD.
C2S/0xc200/0x9fe00000/0x200.
SD/0xc200/0x200/0x200/0.RSC.
C2E.
MS/0xc400/0x80000000/0x1b000.
SD/0xc400/0x1b000/0x1b000/0.ME.
L2/0x27400.
SD/0x27400/0x200/0x200/0.L2/0x414d3342/0xcafe170c/0x80200000/0x37e00/0x37e00
COMP/1.
SD/0x27400/0x37e00/0x37e00/0.DCP/0x80200020/0x1000000/0x81900020/0x37e00/1.
DCP/0x75aa0/0.
Loader_2nd loaded.
Switch RTC mode to xtal32k
Jump to monitor at 0x80000000.
OPENSBI: next_addr=0x80200020 arg1=0x80080000
OpenSBI v0.9
____ _____ ____ _____
/ __ \ / ____| _ \_ _|
| | | |_ __ ___ _ __ | (___ | |_) || |
| | | | '_ \ / _ \ '_ \ \___ \| _ < | |
| |__| | |_) | __/ | | |____) | |_) || |_
\____/| .__/ \___|_| |_|_____/|____/_____|
| |
|_|
Platform Name : Milk-V DuoS
Platform Features : mfdeleg
Platform HART Count : 1
Platform IPI Device : clint
Platform Timer Device : clint
Platform Console Device : uart8250
Platform HSM Device : ---
Platform SysReset Device : ---
Firmware Base : 0x80000000
Firmware Size : 132 KB
Runtime SBI Version : 0.3
Domain0 Name : root
Domain0 Boot HART : 0
Domain0 HARTs : 0*
Domain0 Region00 : 0x0000000074000000-0x000000007400ffff (I)
Domain0 Region01 : 0x0000000080000000-0x000000008003ffff ()
Domain0 Region02 : 0x0000000000000000-0xffffffffffffffff (R,W,X)
Domain0 Next Address : 0x0000000080200020
Domain0 Next Arg1 : 0x0000000080080000
Domain0 Next Mode : S-mode
Domain0 SysReset : yes
Boot HART ID : 0
Boot HART Domain : root
Boot HART ISA : rv64imafdcvsux
Boot HART Features : scounteren,mcounteren,time
Boot HART PMP Count : 16
Boot HART PMP Granularity : 4096
Boot HART PMP Address Bits: 38
Boot HART MHPM Count : 8
Boot HART MHPM Count : 8
Boot HART MIDELEG : 0x0000000000000222
Boot HART MEDELEG : 0x000000000000b109
U-Boot 2021.10-ga57aa1f2-dirty (May 07 2024 - 08:13:12 +0000) cvitek_cv181x
DRAM: 510 MiB
gd->relocaddr=0x9fbc6000. offset=0x1f9c6000
set_rtc_register_for_power
MMC: cv-sd@4310000: 0, wifi-sd@4320000: 1
Loading Environment from FAT... mmc1 : finished tuning, code:53
OK
In: serial
Out: serial
Err: serial
Net:
Warning: ethernet@4070000 (eth0) using random MAC address - d6:89:18:e9:2a:ec
eth0: ethernet@4070000
Hit any key to stop autoboot: 1 0
ethernet@4070000 Waiting for PHY auto negotiation to complete.. done
Speed: 100, full duplex
BOOTP broadcast 1
BOOTP broadcast 2
*** Unhandled DHCP Option in OFFER/ACK: 43
*** Unhandled DHCP Option in OFFER/ACK: 43
DHCP client bound to address 192.168.31.160 (446 ms)
Using ethernet@4070000 device
TFTP from server 192.168.31.10; our IP address is 192.168.31.160
Filename 'Image-sg2000'.
Load address: 0x80200000
Loading: * #################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#####
1.2 MiB/s
done
Bytes transferred = 16287449 (f886d9 hex)
Speed: 100, full duplex
Using ethernet@4070000 device
TFTP from server 192.168.31.10; our IP address is 192.168.31.160
Filename 'cv181x_milkv_duos_sd.dtb'.
Load address: 0x81200000
Loading: * ##
1.1 MiB/s
done
Bytes transferred = 21575 (5447 hex)
## Flattened Device Tree blob at 81200000
Booting using the fdt blob at 0x81200000
Loading Device Tree to 000000009f275000, end 000000009f27d446 ... OK
Starting kernel ...
ABC
NuttShell (NSH) NuttX-12.6.0
nsh> uname -a
NuttX 12.6.0 534114395e Oct 3 2024 00:14:57 risc-v milkv_duos
nsh> free
total used free maxused maxfree nused nfree
Kmem: 2061304 10680 2050624 36064 2050192 35 4
Page: 20971520 647168 20324352 20324352
nsh> ls -l /dev
/dev:
crw-rw-rw- 0 console
crw-rw-rw- 0 null
brw-rw-rw- 16777216 ram0
crw-rw-rw- 0 ttyS0
crw-rw-rw- 0 zero
nsh> ps
PID GROUP PRI POLICY TYPE NPX STATE EVENT SIGMASK STACK USED FILLED COMMAND
0 0 0 FIFO Kthread - Ready 0000000000000000 003056 001024 33.5% Idle_Task
1 0 100 RR Kthread - Waiting Semaphore 0000000000000000 001968 000720 36.5% lpwork 0x80400000 0x80400048
3 3 100 RR Task - Running 0000000000000000 003008 001600 53.1% /system/bin/init
nsh> hello
Hello, World!!
nsh> getprime
Set thread priority to 10
Set thread policy to SCHED_RR
Start thread #0
thread #0 started, looking for primes < 10000, doing 10 run(s)
thread #0 finished, found 1230 primes, last one was 9973
Done
getprime took 279 msec
nsh> hello
Hello, World!!
nsh> getprime
Set thread priority to 10
Set thread policy to SCHED_RR
Start thread #0
thread #0 started, looking for primes < 10000, doing 10 run(s)
thread #0 finished, found 1230 primes, last one was 9973
Done
getprime took 279 msec
nsh> ostest
stdio_test: write fd=1
stdio_test: Standard I/O Check: printf
stdio_test: write fd=2
stdio_test: Standard I/O Check: fprintf to stderr
ostest_main: putenv(Variable1=BadValue3)
ostest_main: setenv(Variable1, GoodValue1, TRUE)
ostest_main: setenv(Variable2, BadValue1, FALSE)
ostest_main: setenv(Variable2, GoodValue2, TRUE)
ostest_main: setenv(Variable3, GoodValue3, FALSE)
ostest_main: setenv(Variable3, BadValue2, FALSE)
show_variable: Variable=Variable1 has value=GoodValue1
show_variable: Variable=Variable2 has value=GoodValue2
show_variable: Variable=Variable3 has value=GoodValue3
ostest_main: Started user_main at PID=11
user_main: Begin argument test
user_main: Started with argc=5
user_main: argv[0]="user_main"
user_main: argv[1]="Arg1"
user_main: argv[2]="Arg2"
user_main: argv[3]="Arg3"
user_main: argv[4]="Arg4"
End of test memory usage:
VARIABLE BEFORE AFTER
======== ======== ========
arena 80ff8 80ff8
ordblks 2 2
mxordblk 7cff0 7cff0
uordblks 2678 2678
fordblks 7e980 7e980
user_main: getopt() test
getopt(): Simple test
getopt(): Invalid argument
getopt(): Missing optional argument
getopt_long(): Simple test
getopt_long(): No short options
getopt_long(): Argument for --option=argument
getopt_long(): Invalid long option
getopt_long(): Mixed long and short options
getopt_long(): Invalid short option
getopt_long(): Missing optional arguments
getopt_long_only(): Mixed long and short options
getopt_long_only(): Single hyphen long options
End of test memory usage:
VARIABLE BEFORE AFTER
======== ======== ========
arena 80ff8 80ff8
ordblks 2 2
mxordblk 7cff0 7cff0
uordblks 2678 2678
fordblks 7e980 7e980
user_main: libc tests
End of test memory usage:
VARIABLE BEFORE AFTER
======== ======== ========
arena 80ff8 80ff8
ordblks 2 2
mxordblk 7cff0 7cff0
uordblks 2678 2678
fordblks 7e980 7e980
show_variable: Variable=Variable1 has value=GoodValue1
show_variable: Variable=Variable2 has value=GoodValue2
show_variable: Variable=Variable3 has value=GoodValue3
show_variable: Variable=Variable1 has no value
show_variable: Variable=Variable2 has value=GoodValue2
show_variable: Variable=Variable3 has value=GoodValue3
End of test memory usag...
nuttx-sg2000-2024-10-02
Test OK
Wed Oct 2 08:45:17 +08 2024
----- Download the latest NuttX build for 2024-10-02
/tmp ~
Archive: nuttx.zip
inflating: nuttx
inflating: nuttx-export-12.6.0.tar.gz
inflating: nuttx.S
inflating: nuttx.bin
inflating: nuttx.config
inflating: nuttx.hash
inflating: nuttx.hex
inflating: nuttx.manifest
inflating: nuttx.map
inflating: initrd
inflating: init.S
inflating: hello.S
inflating: Image
inflating: System.map
~
Wed Oct 2 08:45:19 +08 2024
NuttX Source: https://github.com/apache/nuttx/tree/b2e69b86ada161e2d8b738ab7af6462f73247272
NuttX Apps: https://github.com/apache/nuttx-apps/tree/6c88a1ad7677cd20e5f1aecae53730ef27a3ef90
----- Copy NuttX Image to TFTP Server
-rw-r--r-- 1 pi pi 16190169 Oct 2 01:45 /tftpboot/Image-sg2000
Wed Oct 2 08:45:20 +08 2024
----- Close the screen session
spawn screen -x
Wed Oct 2 08:45:25 +08 2024
Wed Oct 2 08:45:25 +08 2024
----- Power Off the SBC
[]Wed Oct 2 08:45:31 +08 2024
----- Power On the SBC
[]Wed Oct 2 08:45:35 +08 2024
----- Run the Automated Test
spawn screen /dev/tty.usbserial-0001 115200
BS/SD.PS.SD/0x0/0x1000/0x1000/0.PE.BS.SD/0x1000/0x8200/0x8200/0.BE.J.
FSBL Jb2829:gbeb1483-dirty:2024-05-07T08:13:20+00:00
st_on_reason=d0000
st_off_reason=0
P2S/0x1000/0xc00a200.
SD/0x9200/0x1000/0x1000/0.P2E.
DPS/0xa200/0x2000.
SD/0xa200/0x2000/0x2000/0.DPE.
DDR init.
ddr_param[0]=0x78075562.
pkg_type=1
D2_4_1
DDR3-4G-BGA
Data rate=1866.
DDR BIST PASS
PLLS/OD.
C2S/0xc200/0x9fe00000/0x200.
SD/0xc200/0x200/0x200/0.RSC.
C2E.
MS/0xc400/0x80000000/0x1b000.
z3342/0xcafe170c/0x80200000/0x37e00/0x37e00
COMP/1.
SD/0x27400/0x37e00/0x37e00/0.DCP/0x80200020/0x1000000/0x81900020/0x37e00/1.
DCP/0x75aa0/0.
Loader_2nd loaded.
Switch RTC mode to xtal32k
Jump to monitor at 0x80000000.
OPENSBI: next_addr=0x80200020 arg1=0x80080000
OpenSBI v0.9
____ _____ ____ _____
/ __ \ / ____| _ \_ _|
| | | |_ __ ___ _ __ | (___ | |_) || |
| | | | '_ \ / _ \ '_ \ \___ \| _ < | |
| |__| | |_) | __/ | | |____) | |_) || |_
\____/| .__/ \___|_| |_|_____/|____/_____|
| |
|_|
Platform Name : Milk-V DuoS
Platform Features : mfdeleg
Platform HART Count : 1
Platform IPI Device : clint
Platform Timer Device : clint
Platform Console Device : uart8250
Platform HSM Device : ---
Platform SysReset Device : ---
Firmware Base : 0x80000000
Firmware Size : 132 KB
Runtime SBI Version : 0.3
Domain0 Name : root
Domain0 Boot HART : 0
Domain0 HARTs : 0*
Domain0 Region00 : 0x0000000074000000-0x000000007400ffff (I)
Domain0 Region01 : 0x0000000080000000-0x000000008003ffff ()
Domain0 Region02 : 0x0000000000000000-0xffffffffffffffff (R,W,X)
Domain0 Next Address : 0x0000000080200020
Domain0 Next Arg1 : 0x0000000080080000
Domain0 Next Mode : S-mode
Domain0 SysReset : yes
Boot HART ID : 0
Boot HART Domain : root
Boot HART ISA : rv64imafdcvsux
Boot HART Features : scounteren,mcounteren,time
Boot HART PMP Count : 16
Boot HART PMP Granularity : 4096
Boot HART PMP Address Bits: 38
Boot HART MHPM Count : 8
Boot HART MHPM Count : 8
Boot HART MIDELEG : 0x0000000000000222
Boot HART MEDELEG : 0x000000000000b109
U-Boot 2021.10-ga57aa1f2-dirty (May 07 2024 - 08:13:12 +0000) cvitek_cv181x
DRAM: 510 MiB
gd->relocaddr=0x9fbc6000. offset=0x1f9c6000
set_rtc_register_for_power
MMC: cv-sd@4310000: 0, wifi-sd@4320000: 1
Loading Environment from FAT... mmc1 : finished tuning, code:53
OK
In: serial
Out: serial
Err: serial
Net:
Warning: ethernet@4070000 (eth0) using random MAC address - be:76:38:ef:47:15
eth0: ethernet@4070000
Hit any key to stop autoboot: 1 0
ethernet@4070000 Waiting for PHY auto negotiation to complete.. done
Speed: 100, full duplex
BOOTP broadcast 1
BOOTP broadcast 2
*** Unhandled DHCP Option in OFFER/ACK: 43
*** Unhandled DHCP Option in OFFER/ACK: 43
DHCP client bound to address 192.168.31.225 (486 ms)
Using ethernet@4070000 device
TFTP from server 192.168.31.10; our IP address is 192.168.31.225
Filename 'Image-sg2000'.
Load address: 0x80200000
Loading: * #################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
###############################################################
1.2 MiB/s
done
Bytes transferred = 16190169 (f70ad9 hex)
Speed: 100, full duplex
Using ethernet@4070000 device
TFTP from server 192.168.31.10; our IP address is 192.168.31.225
Filename 'cv181x_milkv_duos_sd.dtb'.
Load address: 0x81200000
Loading: * ##
1.2 MiB/s
done
Bytes transferred = 21575 (5447 hex)
## Flattened Device Tree blob at 81200000
Booting using the fdt blob at 0x81200000
Loading Device Tree to 000000009f275000, end 000000009f27d446 ... OK
Starting kernel ...
ABC
NuttShell (NSH) NuttX-12.6.0
nsh> uname -a
NuttX 12.6.0 b2e69b86ad Oct 2 2024 00:14:51 risc-v milkv_duos
nsh> free
total used free maxused maxfree nused nfree
Kmem: 2061304 10680 2050624 36064 2050192 35 4
Page: 20971520 647168 20324352 20324352
nsh> ls -l /dev
/dev:
crw-rw-rw- 0 console
crw-rw-rw- 0 null
brw-rw-rw- 16777216 ram0
crw-rw-rw- 0 ttyS0
crw-rw-rw- 0 zero
nsh> ps
PID GROUP PRI POLICY TYPE NPX STATE EVENT SIGMASK STACK USED FILLED COMMAND
0 0 0 FIFO Kthread - Ready 0000000000000000 003056 001024 33.5% Idle_Task
1 0 100 RR Kthread - Waiting Semaphore 0000000000000000 001968 000720 36.5% lpwork 0x80400000 0x80400048
3 3 100 RR Task - Running 0000000000000000 003008 001600 53.1% /system/bin/init
nsh> hello
Hello, World!!
nsh> getprime
Set thread priority to 10
Set thread policy to SCHED_RR
Start thread #0
thread #0 started, looking for primes < 10000, doing 10 run(s)
thread #0 finished, found 1230 primes, last one was 9973
Done
getprime took 279 msec
nsh> hello
Hello, World!!
nsh> getprime
Set thread priority to 10
Set thread policy to SCHED_RR
Start thread #0
thread #0 started, looking for primes < 10000, doing 10 run(s)
thread #0 finished, found 1230 primes, last one was 9973
Done
getprime took 279 msec
nsh> ostest
stdio_test: write fd=1
stdio_test: Standard I/O Check: printf
stdio_test: write fd=2
stdio_test: Standard I/O Check: fprintf to stderr
ostest_main: putenv(Variable1=BadValue3)
ostest_main: setenv(Variable1, GoodValue1, TRUE)
ostest_main: setenv(Variable2, BadValue1, FALSE)
ostest_main: setenv(Variable2, GoodValue2, TRUE)
ostest_main: setenv(Variable3, GoodValue3, FALSE)
ostest_main: setenv(Variable3, BadValue2, FALSE)
show_variable: Variable=Variable1 has value=GoodValue1
show_variable: Variable=Variable2 has value=GoodValue2
show_variable: Variable=Variable3 has value=GoodValue3
ostest_main: Started user_main at PID=11
user_main: Begin argument test
user_main: Started with argc=5
user_main: argv[0]="user_main"
user_main: argv[1]="Arg1"
user_main: argv[2]="Arg2"
user_main: argv[3]="Arg3"
user_main: argv[4]="Arg4"
End of test memory usage:
VARIABLE BEFORE AFTER
======== ======== ========
arena 80ff8 80ff8
ordblks 2 2
mxordblk 7cff0 7cff0
uordblks 2678 2678
fordblks 7e980 7e980
user_main: getopt() test
getopt(): Simple test
getopt(): Invalid argument
getopt(): Missing optional argument
getopt_long(): Simple test
getopt_long(): No short options
getopt_long(): Argument for --option=argument
getopt_long(): Invalid long option
getopt_long(): Mixed long and short options
getopt_long(): Invalid short option
getopt_long(): Missing optional arguments
getopt_long_only(): Mixed long and short options
getopt_long_only(): Single hyphen long options
End of test memory usage:
VARIABLE BEFORE AFTER
======== ======== ========
arena 80ff8 80ff8
ordblks 2 2
mxordblk 7cff0 7cff0
uordblks 2678 2678
fordblks 7e980 7e980
user_main: libc tests
End of test memory usage:
VARIABLE BEFORE AFTER
======== ======== ========
arena 80ff8 80ff8
ordblks 2 2
mxordblk 7cff0 7cff0
uordblks 2678 2678
fordblks 7e980 7e980
show_variable: Variable=Variable1 has value=GoodValue1
show_variable: Variable=Variable2 has value=GoodValue2
show_variable: Variable=Variable3 has value=GoodValue3
show_variable: Variable=Variable1 has no value
show_variable: Variable=Variable2 has value=GoodValue2
show_variable: Variable=Variable3 has value=GoodValue3
End of test memory usage:
VARIABLE BEFORE AFTER
======== ======== ========
arena 80ff8 80ff8
ordb...
nuttx-sg2000-2024-10-01
Test OK
Tue Oct 1 08:43:10 +08 2024
----- Download the latest NuttX build for 2024-10-01
/tmp ~
Archive: nuttx.zip
inflating: nuttx
inflating: nuttx-export-12.6.0-RC1.tar.gz
inflating: nuttx.S
inflating: nuttx.bin
inflating: nuttx.config
inflating: nuttx.hash
inflating: nuttx.hex
inflating: nuttx.manifest
inflating: nuttx.map
inflating: initrd
inflating: init.S
inflating: hello.S
inflating: Image
inflating: System.map
~
Tue Oct 1 08:43:13 +08 2024
NuttX Source: https://github.com/apache/nuttx/tree/8153307da5c60970eb7562413659ecd902e4edd8
NuttX Apps: https://github.com/apache/nuttx-apps/tree/b20f023ab7e88960502910d62ae462d9d3555101
----- Copy NuttX Image to TFTP Server
-rw-r--r-- 1 pi pi 16190161 Oct 1 01:43 /tftpboot/Image-sg2000
Tue Oct 1 08:43:14 +08 2024
----- Close the screen session
spawn screen -x
Tue Oct 1 08:43:19 +08 2024
Tue Oct 1 08:43:19 +08 2024
----- Power Off the SBC
[]Tue Oct 1 08:43:24 +08 2024
----- Power On the SBC
[]Tue Oct 1 08:43:28 +08 2024
----- Run the Automated Test
spawn screen /dev/tty.usbserial-0001 115200
BS/SD.PS.SD/0x0/0x1000/0x1000/0.PE.BS.SD/0x1000/0x8200/0x8200/0.BE.J.
FSBL Jb2829:gbeb1483-dirty:2024-05-07T08:13:20+00:00
st_on_reason=d0000
st_off_reason=0
P2S/0x1000/0xc00a200.
SD/0x9200/0x1000/0x1000/0.P2E.
DPS/0xa200/0x2000.
SD/0xa200/0x2000/0x2000/0.DPE.
DDR init.
ddr_param[0]=0x78075562.
pkg_type=1
D2_4_1
DDR3-4G-BGA
Data rate=1866.
DDR BIST PASS
PLLS/OD.
C2S/0xc200/0x9fe00000/0x200.
SD/0xc200/0x200/0x200/0.RSC.
C2E.
MS/0xc400/0x80000000/0x1b000.
SD/0xc400/0x1b000/0x1b000/0.ME.
L2/0x27400.
SD/0x27400/0x200/0x200/0.L2/0x414d3342/0xcafe170c/0x80200000/0x37e00/0x37e00
COMP/1.
SD/0x27400/0x37e00/0x37e00/0.DCP/0x80200020/0x1000000/0x81900020/0x37e00/1.
DCP/0x75aa0/0.
Loader_2nd loaded.
Switch RTC mode to xtal32k
Jump to monitor at 0x80000000.
OPENSBI: next_addr=0x80200020 arg1=0x80080000
OpenSBI v0.9
____ _____ ____ _____
/ __ \ / ____| _ \_ _|
| | | |_ __ ___ _ __ | (___ | |_) || |
| | | | '_ \ / _ \ '_ \ \___ \| _ < | |
| |__| | |_) | __/ | | |____) | |_) || |_
\____/| .__/ \___|_| |_|_____/|____/_____|
| |
|_|
Platform Name : Milk-V DuoS
Platform Features : mfdeleg
Platform HART Count : 1
Platform IPI Device : clint
Platform Timer Device : clint
Platform Console Device : uart8250
Platform HSM Device : ---
Platform SysReset Device : ---
Firmware Base : 0x80000000
Firmware Size : 132 KB
Runtime SBI Version : 0.3
Domain0 Name : root
Domain0 Boot HART : 0
Domain0 HARTs : 0*
Domain0 Region00 : 0x0000000074000000-0x000000007400ffff (I)
Domain0 Region01 : 0x0000000080000000-0x000000008003ffff ()
Domain0 Region02 : 0x0000000000000000-0xffffffffffffffff (R,W,X)
Domain0 Next Address : 0x0000000080200020
Domain0 Next Arg1 : 0x0000000080080000
Domain0 Next Mode : S-mode
Domain0 SysReset : yes
Boot HART ID : 0
Boot HART Domain : root
Boot HART ISA : rv64imafdcvsux
Boot HART Features : scounteren,mcounteren,time
Boot HART PMP Count : 16
Boot HART PMP Granularity : 4096
Boot HART PMP Address Bits: 38
Boot HART MHPM Count : 8
Boot HART MHPM Count : 8
Boot HART MIDELEG : 0x0000000000000222
Boot HART MEDELEG : 0x000000000000b109
U-Boot 2021.10-ga57aa1f2-dirty (May 07 2024 - 08:13:12 +0000) cvitek_cv181x
DRAM: 510 MiB
gd->relocaddr=0x9fbc6000. offset=0x1f9c6000
set_rtc_register_for_power
MMC: cv-sd@4310000: 0, wifi-sd@4320000: 1
Loading Environment from FAT... mmc1 : finished tuning, code:53
OK
In: serial
Out: serial
Err: serial
Net:
Warning: ethernet@4070000 (eth0) using random MAC address - 42:46:6c:59:b9:50
eth0: ethernet@4070000
Hit any key to stop autoboot: 1 0
ethernet@4070000 Waiting for PHY auto negotiation to complete.. done
Speed: 100, full duplex
BOOTP broadcast 1
BOOTP broadcast 2
*** Unhandled DHCP Option in OFFER/ACK: 43
*** Unhandled DHCP Option in OFFER/ACK: 43
DHCP client bound to address 192.168.31.46 (467 ms)
Using ethernet@4070000 device
TFTP from server 192.168.31.10; our IP address is 192.168.31.46
Filename 'Image-sg2000'.
Load address: 0x80200000
Loading: * #################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
###############################################################
1.2 MiB/s
done
Bytes transferred = 16190161 (f70ad1 hex)
Speed: 100, full duplex
Using ethernet@4070000 device
TFTP from server 192.168.31.10; our IP address is 192.168.31.46
Filename 'cv181x_milkv_duos_sd.dtb'.
Load address: 0x81200000
Loading: * ##
1.2 MiB/s
done
Bytes transferred = 21575 (5447 hex)
## Flattened Device Tree blob at 81200000
Booting using the fdt blob at 0x81200000
Loading Device Tree to 000000009f275000, end 000000009f27d446 ... OK
Starting kernel ...
ABC
NuttShell (NSH) NuttX-12.6.0-RC1
nsh> uname -a
NuttX 12.6.0-RC1 8153307da5 Oct 1 2024 00:17:03 risc-v milkv_duos
nsh> free
total used free maxused maxfree nused nfree
Kmem: 2061304 10680 2050624 36064 2050192 35 4
Page: 20971520 647168 20324352 20324352
nsh> ls -l /dev
/dev:
crw-rw-rw- 0 console
crw-rw-rw- 0 null
brw-rw-rw- 16777216 ram0
crw-rw-rw- 0 ttyS0
crw-rw-rw- 0 zero
nsh> ps
PID GROUP PRI POLICY TYPE NPX STATE EVENT SIGMASK STACK USED FILLED COMMAND
0 0 0 FIFO Kthread - Ready 0000000000000000 003056 001024 33.5% Idle_Task
1 0 100 RR Kthread - Waiting Semaphore 0000000000000000 001968 000720 36.5% lpwork 0x80400000 0x80400048
3 3 100 RR Task - Running 0000000000000000 003008 001600 53.1% /system/bin/init
nsh> hello
Hello, World!!
nsh> getprime
Set thread priority to 10
Set thread policy to SCHED_RR
Start thread #0
thread #0 started, looking for primes < 10000, doing 10 run(s)
thread #0 finished, found 1230 primes, last one was 9973
Done
getprime took 279 msec
nsh> hello
Hello, World!!
nsh> getprime
Set thread priority to 10
Set thread policy to SCHED_RR
Start thread #0
thread #0 started, looking for primes < 10000, doing 10 run(s)
thread #0 finished, found 1230 primes, last one was 9973
Done
getprime took 279 msec
nsh> ostest
stdio_test: write fd=1
stdio_test: Standard I/O Check: printf
stdio_test: write fd=2
stdio_test: Standard I/O Check: fprintf to stderr
ostest_main: putenv(Variable1=BadValue3)
ostest_main: setenv(Variable1, GoodValue1, TRUE)
ostest_main: setenv(Variable2, BadValue1, FALSE)
ostest_main: setenv(Variable2, GoodValue2, TRUE)
ostest_main: setenv(Variable3, GoodValue3, FALSE)
ostest_main: setenv(Variable3, BadValue2, FALSE)
show_variable: Variable=Variable1 has value=GoodValue1
show_variable: Variable=Variable2 has value=GoodValue2
show_variable: Variable=Variable3 has value=GoodValue3
ostest_main: Started user_main at PID=11
user_main: Begin argument test
user_main: Started with argc=5
user_main: argv[0]="user_main"
user_main: argv[1]="Arg1"
user_main: argv[2]="Arg2"
user_main: argv[3]="Arg3"
user_main: argv[4]="Arg4"
End of test memory usage:
VARIABLE BEFORE AFTER
======== ======== ========
arena 80ff8 80ff8
ordblks 2 2
mxordblk 7cff0 7cff0
uordblks 2678 2678
fordblks 7e980 7e980
user_main: getopt() test
getopt(): Simple test
getopt(): Invalid argument
getopt(): Missing optional argument
getopt_long(): Simple test
getopt_long(): No short options
getopt_long(): Argument for --option=argument
getopt_long(): Invalid long option
getopt_long(): Mixed long and short options
getopt_long(): Invalid short option
getopt_long(): Missing optional arguments
getopt_long_only(): Mixed long and short options
getopt_long_only(): Single hyphen long options
End of test memory usage:
VARIABLE BEFORE AFTER
======== ======== ========
arena 80ff8 80ff8
ordblks 2 2
mxordblk 7cff0 7cff0
uordblks 2678 2678
fordblks 7e980 7e980
user_main: libc tests
End of test memory usage:
VARIABLE BEFORE AFTER
======== ======== ========
arena 80ff8 80ff8
ordblks 2 2
mxordblk 7cff0 7cff0
uordblks 2678 2678
fordblks 7e980 7e980
show_variable: Variable=Variable1 has value=GoodValue1
show_variable: Variable=Variable2 has value=GoodValue2
show_variable: Variable=Variable3 has value=GoodValue3
show_variable: Variable=Variable1 has no value
show_variable: Variable=Variable2 has value=GoodValue2
show_variable: Variable=Variable3 has value=GoodValue3
End of test memory usag...
nuttx-sg2000-2024-09-30
Test OK
Mon Sep 30 08:41:02 +08 2024
----- Download the latest NuttX build for 2024-09-30
/tmp ~
Archive: nuttx.zip
inflating: nuttx
inflating: nuttx-export-12.6.0-RC1.tar.gz
inflating: nuttx.S
inflating: nuttx.bin
inflating: nuttx.config
inflating: nuttx.hash
inflating: nuttx.hex
inflating: nuttx.manifest
inflating: nuttx.map
inflating: initrd
inflating: init.S
inflating: hello.S
inflating: Image
inflating: System.map
~
Mon Sep 30 08:41:05 +08 2024
NuttX Source: https://github.com/apache/nuttx/tree/6b3f51986d6578f6345bce522bb295de6baa8ce2
NuttX Apps: https://github.com/apache/nuttx-apps/tree/4cc575ebc57007178f42c76e5c8868cfec2fab68
----- Copy NuttX Image to TFTP Server
-rw-r--r-- 1 pi pi 16135889 Sep 30 01:41 /tftpboot/Image-sg2000
Mon Sep 30 08:41:06 +08 2024
----- Close the screen session
spawn screen -x
Mon Sep 30 08:41:12 +08 2024
Mon Sep 30 08:41:12 +08 2024
----- Power Off the SBC
[]Mon Sep 30 08:41:16 +08 2024
----- Power On the SBC
[]Mon Sep 30 08:41:20 +08 2024
----- Run the Automated Test
spawn screen /dev/tty.usbserial-0001 115200
BS/SD.PS.SD/0x0/0x1000/0x1000/0.PE.BS.SD/0x1000/0x8200/0x8200/0.BE.J.
FSBL Jb2829:gbeb1483-dirty:2024-05-07T08:13:20+00:00
st_on_reason=d0000
st_off_reason=0
P2S/0x1000/0xc00a200.
SD/0x9200/0x1000/0x1000/0.P2E.
DPS/0xa200/0x2000.
SD/0xa200/0x2000/0x2000/0.DPE.
DDR init.
ddr_param[0]=0x78075562.
pkg_type=1
D2_4_1
DDR3-4G-BGA
Data rate=1866.
DDR BIST PASS
PLLS/OD.
C2S/0xc200/0x9fe00000/0x200.
SD/0xc200/0x200/0x200/0.RSC.
C2E.
MS/0xc400/0x80000000/0x1b000.
SD/0xc400/0x1b000/0x1b000/0.ME.
L2/0x27400.
SD/0x27400/0x200/0x200/0.L2/0x414d3342/0xcafe170c/0x80200000/0x37e00/0x37e00
COMP/1.
SD/0x27400/0x37e00/0x37e00/0.DCP/0x80200020/0x1000000/0x81900020/0x37e00/1.
DCP/0x75aa0/0.
Loader_2nd loaded.
Switch RTC mode to xtal32k
Jump to monitor at 0x80000000.
OPENSBI: next_addr=0x80200020 arg1=0x80080000
OpenSBI v0.9
____ _____ ____ _____
/ __ \ / ____| _ \_ _|
| | | |_ __ ___ _ __ | (___ | |_) || |
| | | | '_ \ / _ \ '_ \ \___ \| _ < | |
| |__| | |_) | __/ | | |____) | |_) || |_
\____/| .__/ \___|_| |_|_____/|____/_____|
| |
|_|
Platform Name : Milk-V DuoS
Platform Features : mfdeleg
Platform HART Count : 1
Platform IPI Device : clint
Platform Timer Device : clint
Platform Console Device : uart8250
Platform HSM Device : ---
Platform SysReset Device : ---
Firmware Base : 0x80000000
Firmware Size : 132 KB
Runtime SBI Version : 0.3
Domain0 Name : root
Domain0 Boot HART : 0
Domain0 HARTs : 0*
Domain0 Region00 : 0x0000000074000000-0x000000007400ffff (I)
Domain0 Region01 : 0x0000000080000000-0x000000008003ffff ()
Domain0 Region02 : 0x0000000000000000-0xffffffffffffffff (R,W,X)
Domain0 Next Address : 0x0000000080200020
Domain0 Next Arg1 : 0x0000000080080000
Domain0 Next Mode : S-mode
Domain0 SysReset : yes
Boot HART ID : 0
Boot HART Domain : root
Boot HART ISA : rv64imafdcvsux
Boot HART Features : scounteren,mcounteren,time
Boot HART PMP Count : 16
Boot HART PMP Granularity : 4096
Boot HART PMP Address Bits: 38
Boot HART MHPM Count : 8
Boot HART MHPM Count : 8
Boot HART MIDELEG : 0x0000000000000222
Boot HART MEDELEG : 0x000000000000b109
U-Boot 2021.10-ga57aa1f2-dirty (May 07 2024 - 08:13:12 +0000) cvitek_cv181x
DRAM: 510 MiB
gd->relocaddr=0x9fbc6000. offset=0x1f9c6000
set_rtc_register_for_power
MMC: cv-sd@4310000: 0, wifi-sd@4320000: 1
Loading Environment from FAT... mmc1 : finished tuning, code:53
OK
In: serial
Out: serial
Err: serial
Net:
Warning: ethernet@4070000 (eth0) using random MAC address - b2:a3:8d:70:20:07
eth0: ethernet@4070000
Hit any key to stop autoboot: 1 0
ethernet@4070000 Waiting for PHY auto negotiation to complete... done
Speed: 100, full duplex
BOOTP broadcast 1
BOOTP broadcast 2
*** Unhandled DHCP Option in OFFER/ACK: 43
*** Unhandled DHCP Option in OFFER/ACK: 43
DHCP client bound to address 192.168.31.167 (377 ms)
Using ethernet@4070000 device
TFTP from server 192.168.31.10; our IP address is 192.168.31.167
Filename 'Image-sg2000'.
Load address: 0x80200000
Loading: * #################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
############################################################
1.2 MiB/s
done
Bytes transferred = 16135889 (f636d1 hex)
Speed: 100, full duplex
Using ethernet@4070000 device
TFTP from server 192.168.31.10; our IP address is 192.168.31.167
Filename 'cv181x_milkv_duos_sd.dtb'.
Load address: 0x81200000
Loading: * ##
1.1 MiB/s
done
Bytes transferred = 21575 (5447 hex)
## Flattened Device Tree blob at 81200000
Booting using the fdt blob at 0x81200000
Loading Device Tree to 000000009f275000, end 000000009f27d446 ... OK
Starting kernel ...
ABC
NuttShell (NSH) NuttX-12.6.0-RC1
nsh> uname -a
NuttX 12.6.0-RC1 6b3f51986d Sep 30 2024 00:15:54 risc-v milkv_duos
nsh> free
total used free maxused maxfree nused nfree
Kmem: 2061304 10680 2050624 36064 2050192 35 4
Page: 20971520 647168 20324352 20324352
nsh> ls -l /dev
/dev:
crw-rw-rw- 0 console
crw-rw-rw- 0 null
brw-rw-rw- 16777216 ram0
crw-rw-rw- 0 ttyS0
crw-rw-rw- 0 zero
nsh> ps
PID GROUP PRI POLICY TYPE NPX STATE EVENT SIGMASK STACK USED FILLED COMMAND
0 0 0 FIFO Kthread - Ready 0000000000000000 003056 001024 33.5% Idle_Task
1 0 100 RR Kthread - Waiting Semaphore 0000000000000000 001968 000720 36.5% lpwork 0x80400000 0x80400048
3 3 100 RR Task - Running 0000000000000000 003008 001600 53.1% /system/bin/init
nsh> hello
Hello, World!!
nsh> getprime
Set thread priority to 10
Set thread policy to SCHED_RR
Start thread #0
thread #0 started, looking for primes < 10000, doing 10 run(s)
thread #0 finished, found 1230 primes, last one was 9973
Done
getprime took 279 msec
nsh> hello
Hello, World!!
nsh> getprime
Set thread priority to 10
Set thread policy to SCHED_RR
Start thread #0
thread #0 started, looking for primes < 10000, doing 10 run(s)
thread #0 finished, found 1230 primes, last one was 9973
Done
getprime took 279 msec
nsh> ostest
stdio_test: write fd=1
stdio_test: Standard I/O Check: printf
stdio_test: write fd=2
stdio_test: Standard I/O Check: fprintf to stderr
ostest_main: putenv(Variable1=BadValue3)
ostest_main: setenv(Variable1, GoodValue1, TRUE)
ostest_main: setenv(Variable2, BadValue1, FALSE)
ostest_main: setenv(Variable2, GoodValue2, TRUE)
ostest_main: setenv(Variable3, GoodValue3, FALSE)
ostest_main: setenv(Variable3, BadValue2, FALSE)
show_variable: Variable=Variable1 has value=GoodValue1
show_variable: Variable=Variable2 has value=GoodValue2
show_variable: Variable=Variable3 has value=GoodValue3
ostest_main: Started user_main at PID=11
user_main: Begin argument test
user_main: Started with argc=5
user_main: argv[0]="user_main"
user_main: argv[1]="Arg1"
user_main: argv[2]="Arg2"
user_main: argv[3]="Arg3"
user_main: argv[4]="Arg4"
End of test memory usage:
VARIABLE BEFORE AFTER
======== ======== ========
arena 80ff8 80ff8
ordblks 2 2
mxordblk 7cff0 7cff0
uordblks 2678 2678
fordblks 7e980 7e980
user_main: getopt() test
getopt(): Simple test
getopt(): Invalid argument
getopt(): Missing optional argument
getopt_long(): Simple test
getopt_long(): No short options
getopt_long(): Argument for --option=argument
getopt_long(): Invalid long option
getopt_long(): Mixed long and short options
getopt_long(): Invalid short option
getopt_long(): Missing optional arguments
getopt_long_only(): Mixed long and short options
getopt_long_only(): Single hyphen long options
End of test memory usage:
VARIABLE BEFORE AFTER
======== ======== ========
arena 80ff8 80ff8
ordblks 2 2
mxordblk 7cff0 7cff0
uordblks 2678 2678
fordblks 7e980 7e980
user_main: libc tests
End of test memory usage:
VARIABLE BEFORE AFTER
======== ======== ========
arena 80ff8 80ff8
ordblks 2 2
mxordblk 7cff0 7cff0
uordblks 2678 2678
fordblks 7e980 7e980
show_variable: Variable=Variable1 has value=GoodValue1
show_variable: Variable=Variable2 has value=GoodValue2
show_variable: Variable=Variable3 has value=GoodValue3
show_variable: Variable=Variable1 has no value
show_variable: Variable=Variable2 has value=GoodValue2
show_variable: Variable=Variable3 has value=GoodValue3
End of test memory usa...