Changes

Jump to: navigation, search

Standalone boot (DIVELK)

176 bytes added, 10:37, 31 August 2018
History
!Version
!Date
!Divelk DIVELK version!Hardware Part Nr
!Notes
|-
|{{oldid|76657655|3.0.0}}
|June 2017
|[[Diva_Embedded_Linux_Kit_(DIVELK)#DIVELK_3.0.0|DIVELK 3.0.0]]
|
|-
|-
|4.0.0
|Apr April 2018|[[Diva_Embedded_Linux_Kit_(DIVELK)|DIVELK 4#DIVELK_4.0.0]]|DIVELK 4.0.0]]
|
|-
This document has been written and tested with the software/hardware combination described in the history table above. However it contains general concept that can be adapted on any DAVE Embedded Systems' Linux platform.
We'll explain how to program and configure a [[Category: Diva|Diva]] to boot in standalone mode, without the need of a system microSD card or a NFS server, with two options:
* booting with NOR + NAND
** U-Boot will fetch Linux kernel binary images (kernel + device tree) from on-board NOR flash memory, while later the OS will mount the root file system from a NAND partition.
== Update u-boot NOR ==
<pre>
tftp ${loadaddr} diva/MLOdivelk-4.0.0_diva_spiboot_MLO.byteswap
sf probe 0:0; sf erase 0x0 0x40000; sf write ${loadaddr} 0x0 0x40000
tftp ${loadaddr} diva/udivelk-4.0.0_diva_spiboot_u-boot.img.spi
sf probe 0:0; sf erase 0x40000 0x100000; sf write ${loadaddr} 0x40000 0x100000
</pre>
 
Update to the latest u-boot version allows usage of u-boot environment variables available.
 
<pre class="board-terminal">
=> tftp ${loadaddr} diva/MLOdivelk-4.0.0_diva_spiboot_MLO.byteswap
link up on port 0, speed 100, full duplex
Using cpsw device
TFTP from server 192.168.0.82; our IP address is 192.168.0.83
Filename 'diva/MLOdivelk-4.0.0_diva_spiboot_MLO.byteswap'.
Load address: 0x82000000
Loading: #############
7741.4 KiB3 MiB/s
done
Bytes transferred = 65892 65868 (10164 1014c hex)
=> sf probe 0:0; sf erase 0x0 0x40000; sf write ${loadaddr} 0x0 0x40000
SF: 262144 bytes @ 0x0 Written: OK
=> tftp ${loadaddr} diva/udivelk-4.0.0_diva_spiboot_u-boot.img.spi
link up on port 0, speed 100, full duplex
Using cpsw device
TFTP from server 192.168.0.82; our IP address is 192.168.0.83
Filename 'diva/udivelk-4.0.0_diva_spiboot_u-boot.img.nor'.
Load address: 0x82000000
Loading: #################################################################
#########################################
9351.5 KiB3 MiB/s
done
Bytes transferred = 540472 540424 (83f38 83f08 hex)
=> sf probe 0:0; sf erase 0x40000 0x800000x100000; sf write ${loadaddr} 0x40000 0x800000x100000
SF: Detected s25fl256s_64k with page size 256 Bytes, erase size 64 KiB, total 32 MiB
SF: 524288 1048576 bytes @ 0x40000 Erased: OKdevice 0 offset 0x40000, size 0x800000x100000SF: 524288 1048576 bytes @ 0x40000 Written: OK=>
</pre>
'''Note:''' Adjust the SYSBOOT pins to enable boot from spi.
== Update u-boot NAND ==
<pre>
tftp ${loadaddr} diva/MLOdivelk-4.0.0_diva_nandboot_MLO
nand erase.part nand-spl; nand write ${loadaddr} nand-spl ${filesize}
tftp ${loadaddr} diva/udivelk-4.0.0_diva_nandboot_u-boot.img.nand
nand erase.part nand-uboot; nand write ${loadaddr} nand-uboot ${filesize}
</pre>
<pre class="board-terminal">
=> tftp ${loadaddr} diva/MLOdivelk-4.0.0_diva_nandboot_MLO
link up on port 0, speed 100, full duplex
Using cpsw device
TFTP from server 192.168.0.82; our IP address is 192.168.0.83
Filename 'diva/MLOdivelk-4.0.0_diva_nandboot_MLO'.
Load address: 0x82000000
Loading: #############
61716 bytes written: OK
=> tftp ${loadaddr} diva/udivelk-4.0.0_diva_nandboot_u-boot.img.nand
link up on port 0, speed 100, full duplex
Using cpsw device
TFTP from server 192.168.0.82; our IP address is 192.168.0.83
Filename 'diva/udivelk-4.0.0_diva_nandboot_u-boot.img.nand'.
Load address: 0x82000000
Loading: #################################################################
* Boot the system via SD or NFS
* By default, the NAND is already partitioned to allow booting from NAND-only (see next section) and, thus, some partitions are reserved for U-boot and kernel images. Here we won't modify this default configuration. The [[Memory Tecnology Device (MTD)|MTD]] partitions can be dumped with <code>/proc/mtd</code> (the partition's name should be self-explanatory)
 
<pre class="board-terminal">
8,154
edits

Navigation menu