mirror of https://github.com/OpenIPC/wiki.git
				
				
				
			
		
			
				
	
	
		
			104 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			Markdown
		
	
	
			
		
		
	
	
			104 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			Markdown
		
	
	
| # OpenIPC Wiki
 | |
| [Table of Content](../README.md)
 | |
| 
 | |
| For XM boards with Hi35{16Ev200,16Ev300,18Ev300} SoC ONLY!!!
 | |
| ------------------------------------------------------------
 | |
| 
 | |
| Other boards may have different memory layout like HI3518Ev200
 | |
| uses 0x82000000 instead 0x42000000
 | |
| 
 | |
| ### Supported sensors
 | |
| 
 | |
| Please look up your sensor in [the list of supported devices][1].
 | |
| 
 | |
| ### Initial device firmware updates
 | |
| 
 | |
| ```
 | |
| setenv bootargs 'mem=${osmem:-32M} console=ttyAMA0,115200 panic=20 root=/dev/mtdblock3 rootfstype=squashfs init=/init mtdparts=hi_sfc:256k(boot),64k(env),2048k(kernel),5120k(rootfs),-(rootfs_data)'
 | |
| setenv bootcmd 'setenv setargs setenv bootargs ${bootargs}; run setargs; sf probe 0; sf read 0x42000000 0x50000 0x200000; bootm 0x42000000'
 | |
| setenv uk 'mw.b 0x42000000 ff 1000000; tftp 0x42000000 uImage.${soc} && sf probe 0; sf erase 0x50000 0x200000; sf write 0x42000000 0x50000 ${filesize}'
 | |
| setenv ur 'mw.b 0x42000000 ff 1000000; tftp 0x42000000 rootfs.squashfs.${soc} && sf probe 0; sf erase 0x250000 0x500000; sf write 0x42000000 0x250000 ${filesize}'
 | |
| saveenv
 | |
| 
 | |
| setenv soc hi351xxxxxxx          # Set your SoC. hi3516ev200, hi3516ev300, or hi3518ev300.
 | |
| setenv osmem 32M
 | |
| setenv totalmem 64M              # 64M for hi3516ev200, hi3518ev300, 128M for hi3516ev300.
 | |
| setenv ipaddr 192.168.1.10
 | |
| setenv serverip 192.168.1.254    # Your TFTP server IP address.
 | |
| saveenv
 | |
| 
 | |
| run uk; run ur; reset            # Flash kernel, rootfs and reboot device
 | |
| ```
 | |
| 
 | |
| ### Follow-up quick updates
 | |
| 
 | |
| ```
 | |
| run uk; run ur; reset
 | |
| ```
 | |
| 
 | |
| ### Executing a command after the first run
 | |
| 
 | |
| For a Hi3516Ev300 board:
 | |
| ```
 | |
| set_allocator cma
 | |
| firstboot
 | |
| ```
 | |
| 
 | |
| For a Hi3516Ev200 or Hi3518Ev300 board:
 | |
| ```
 | |
| set_allocator hisi
 | |
| firstboot
 | |
| ```
 | |
| 
 | |
| ### Danger zone
 | |
| 
 | |
| You always have an option to update the bootloader. However, you need to
 | |
| understand what you do.
 | |
| 
 | |
| NB! Replace bootloader filename with the one matching your SoC. 
 | |
| Full list is [here](https://github.com/OpenIPC/firmware/releases/tag/latest).
 | |
| 
 | |
| ```
 | |
| mw.b 0x42000000 ff 1000000
 | |
| tftp 0x42000000 u-boot-hi3516xxxxx-beta.bin
 | |
| sf probe 0
 | |
| sf erase 0x0 0x50000
 | |
| sf write 0x42000000 0x0 ${filesize}
 | |
| reset
 | |
| ```
 | |
| 
 | |
| [1]: guide-supported-devices.md
 | |
| 
 | |
| 
 | |
| ### Uboot without tftp command
 | |
| 
 | |
| ```
 | |
| setenv uk 'mw.b 0x42000000 ff 1000000; setenv bootfile uImage.${soc} && tftpboot && sf probe 0; sf erase 0x50000 0x200000; sf write 0x40080000 0x50000 ${filesize}'
 | |
| setenv ur 'mw.b 0x42000000 ff 1000000; setenv bootfile rootfs.squashfs.${soc} && tftpboot && sf probe 0; sf erase 0x250000 0x500000; sf write 0x40080000 0x250000 ${filesize}'
 | |
| ```
 | |
| 
 | |
| 
 | |
| ### backup device
 | |
| 
 | |
| ```
 | |
| setenv ipaddr 192.168.1.10
 | |
| setenv serverip 192.168.1.254    # Your TFTP server IP address.
 | |
| 
 | |
| sf read 0x42000000 0x0 0x800000
 | |
| tftpput 0x42000000 0x800000 backup.img
 | |
| ```
 | |
| 
 | |
| 
 | |
| ### restore device
 | |
| 
 | |
| if something goes wrong uboot can be bricked!
 | |
| 
 | |
| ```
 | |
| setenv bootfile backup.img
 | |
| tftpboot
 | |
| sf probe 0
 | |
| sf erase 0x0000 0x800000
 | |
| sf write 0x40080000 0x0 ${filesize}
 | |
| reset
 | |
| ```
 |