mirror of
				https://github.com/smaeul/u-boot.git
				synced 2025-11-03 21:48:15 +00:00 
			
		
		
		
	Add documents to describe NX25 and AE250. Also update other documents for RISC-V. Signed-off-by: Rick Chen <rick@andestech.com> Signed-off-by: Rick Chen <rickchen36@gmail.com> Signed-off-by: Greentime Hu <green.hu@gmail.com>
		
			
				
	
	
		
			138 lines
		
	
	
		
			3.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			138 lines
		
	
	
		
			3.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
Andes Technology SoC AE250
 | 
						|
===========================
 | 
						|
 | 
						|
AE250 is the mainline SoC produced by Andes Technology using NX25 CPU core
 | 
						|
base on RISC-V architecture.
 | 
						|
 | 
						|
AE250 has integrated both AHB and APB bus and many periphals for application
 | 
						|
and product development.
 | 
						|
 | 
						|
NX25-AE250
 | 
						|
=========
 | 
						|
 | 
						|
NX25-AE250 is the SoC with AE250 hardcore CPU.
 | 
						|
 | 
						|
Configurations
 | 
						|
==============
 | 
						|
 | 
						|
CONFIG_SKIP_LOWLEVEL_INIT:
 | 
						|
	If you want to boot this system from SPI ROM and bypass e-bios (the
 | 
						|
	other boot loader on ROM). You should undefine CONFIG_SKIP_LOWLEVEL_INIT
 | 
						|
	in "include/configs/nx25-ae250.h".
 | 
						|
 | 
						|
Build and boot steps
 | 
						|
====================
 | 
						|
 | 
						|
build:
 | 
						|
1. Prepare the toolchains and make sure the $PATH to toolchains is correct.
 | 
						|
2. Use `make nx25-ae250_defconfig` in u-boot root to build the image.
 | 
						|
 | 
						|
Verification
 | 
						|
====================
 | 
						|
 | 
						|
Target
 | 
						|
====================
 | 
						|
1. startup
 | 
						|
2. relocation
 | 
						|
3. timer driver
 | 
						|
4. uart driver
 | 
						|
5. mac driver
 | 
						|
6. mmc driver
 | 
						|
7. spi driver
 | 
						|
 | 
						|
Steps
 | 
						|
====================
 | 
						|
1. Define CONFIG_SKIP_LOWLEVEL_INIT to build u-boot which is loaded via gdb from ram.
 | 
						|
2. Undefine CONFIG_SKIP_LOWLEVEL_INIT to build u-boot which is booted from spi rom.
 | 
						|
3. Ping a server by mac driver
 | 
						|
4. Scan sd card and copy u-boot image which is booted from flash to ram by sd driver.
 | 
						|
5. Burn this u-boot image to spi rom by spi driver
 | 
						|
6. Re-boot u-boot from spi flash with power off and power on.
 | 
						|
 | 
						|
Messages
 | 
						|
====================
 | 
						|
U-Boot 2018.01-rc2-00033-g824f89a (Dec 21 2017 - 16:51:26 +0800)
 | 
						|
 | 
						|
DRAM:  1 GiB
 | 
						|
MMC:   mmc@f0e00000: 0
 | 
						|
SF: Detected mx25u1635e with page size 256 Bytes, erase size 4 KiB, total 2 MiB
 | 
						|
In:    serial@f0300000
 | 
						|
Out:   serial@f0300000
 | 
						|
Err:   serial@f0300000
 | 
						|
Net:
 | 
						|
Warning: mac@e0100000 (eth0) using random MAC address - be:dd:d7:e4:e8:10
 | 
						|
eth0: mac@e0100000
 | 
						|
 | 
						|
RISC-V # version
 | 
						|
U-Boot 2018.01-rc2-00033-gb265b91-dirty (Dec 22 2017 - 13:54:21 +0800)
 | 
						|
 | 
						|
riscv32-unknown-linux-gnu-gcc (GCC) 7.2.0
 | 
						|
GNU ld (GNU Binutils) 2.29
 | 
						|
 | 
						|
RISC-V # setenv ipaddr 10.0.4.200 ;
 | 
						|
RISC-V # setenv serverip 10.0.4.97 ;
 | 
						|
RISC-V # ping 10.0.4.97 ;
 | 
						|
Using mac@e0100000 device
 | 
						|
host 10.0.4.97 is alive
 | 
						|
 | 
						|
RISC-V # mmc rescan
 | 
						|
RISC-V # fatls mmc 0:1
 | 
						|
   318907   u-boot-ae250-64.bin
 | 
						|
     1252   hello_world_ae250_32.bin
 | 
						|
   328787   u-boot-ae250-32.bin
 | 
						|
 | 
						|
3 file(s), 0 dir(s)
 | 
						|
 | 
						|
RISC-V # sf probe 0:0 50000000 0
 | 
						|
SF: Detected mx25u1635e with page size 256 Bytes, erase size 4 KiB, total 2 MiB
 | 
						|
 | 
						|
RISC-V # sf test 0x100000 0x1000
 | 
						|
SPI flash test:
 | 
						|
0 erase: 36 ticks, 111 KiB/s 0.888 Mbps
 | 
						|
1 check: 29 ticks, 137 KiB/s 1.096 Mbps
 | 
						|
2 write: 40 ticks, 100 KiB/s 0.800 Mbps
 | 
						|
3 read: 20 ticks, 200 KiB/s 1.600 Mbps
 | 
						|
Test passed
 | 
						|
0 erase: 36 ticks, 111 KiB/s 0.888 Mbps
 | 
						|
1 check: 29 ticks, 137 KiB/s 1.096 Mbps
 | 
						|
2 write: 40 ticks, 100 KiB/s 0.800 Mbps
 | 
						|
3 read: 20 ticks, 200 KiB/s 1.600 Mbps
 | 
						|
 | 
						|
RISC-V # fatload mmc 0:1 0x600000 u-boot-ae250-32.bin
 | 
						|
reading u-boot-ae250-32.bin
 | 
						|
328787 bytes read in 324 ms (990.2 KiB/s)
 | 
						|
 | 
						|
RISC-V # sf erase 0x0 0x51000
 | 
						|
SF: 331776 bytes @ 0x0 Erased: OK
 | 
						|
 | 
						|
RISC-V # sf write 0x600000 0x0 0x50453
 | 
						|
device 0 offset 0x0, size 0x50453
 | 
						|
SF: 328787 bytes @ 0x0 Written: OK
 | 
						|
 | 
						|
RISC-V # crc32 0x600000 0x50453
 | 
						|
crc32 for 00600000 ... 00650452 ==> 692dc44a
 | 
						|
 | 
						|
RISC-V # crc32 0x80000000 0x50453
 | 
						|
crc32 for 80000000 ... 80050452 ==> 692dc44a
 | 
						|
RISC-V #
 | 
						|
 | 
						|
*** power-off and power-on, this U-Boot is booted from spi flash 	***
 | 
						|
 | 
						|
U-Boot 2018.01-rc2-00032-gf67dd47-dirty (Dec 21 2017 - 13:56:03 +0800)
 | 
						|
 | 
						|
DRAM:  1 GiB
 | 
						|
MMC:   mmc@f0e00000: 0
 | 
						|
SF: Detected mx25u1635e with page size 256 Bytes, erase size 4 KiB, total 2 MiB
 | 
						|
In:    serial@f0300000
 | 
						|
Out:   serial@f0300000
 | 
						|
Err:   serial@f0300000
 | 
						|
Net:
 | 
						|
Warning: mac@e0100000 (eth0) using random MAC address - ee:4c:58:29:32:f5
 | 
						|
eth0: mac@e0100000
 | 
						|
RISC-V #
 | 
						|
 | 
						|
TODO
 | 
						|
====================
 | 
						|
 | 
						|
Boot bbl and riscv-linux
 |