<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://dsignt.de/support-wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Claus</id>
	<title>DSignT Support Database - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://dsignt.de/support-wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Claus"/>
	<link rel="alternate" type="text/html" href="https://dsignt.de/support-wiki/index.php?title=Special:Contributions/Claus"/>
	<updated>2026-08-14T19:58:24Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.8</generator>
	<entry>
		<id>https://dsignt.de/support-wiki/index.php?title=File:Copy_RootFS_to_NFS.jpg&amp;diff=1403</id>
		<title>File:Copy RootFS to NFS.jpg</title>
		<link rel="alternate" type="text/html" href="https://dsignt.de/support-wiki/index.php?title=File:Copy_RootFS_to_NFS.jpg&amp;diff=1403"/>
		<updated>2017-11-17T11:43:34Z</updated>

		<summary type="html">&lt;p&gt;Claus: Claus uploaded a new version of File:Copy RootFS to NFS.jpg&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Claus</name></author>
	</entry>
	<entry>
		<id>https://dsignt.de/support-wiki/index.php?title=Booting_Linux_from_QSPI_on_AMC1_with_RFS_on_eMMC&amp;diff=1402</id>
		<title>Booting Linux from QSPI on AMC1 with RFS on eMMC</title>
		<link rel="alternate" type="text/html" href="https://dsignt.de/support-wiki/index.php?title=Booting_Linux_from_QSPI_on_AMC1_with_RFS_on_eMMC&amp;diff=1402"/>
		<updated>2017-11-17T11:43:08Z</updated>

		<summary type="html">&lt;p&gt;Claus: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Preparation ==&lt;br /&gt;
Follow steps 1-4 of [[Booting Linux from QSPI on AMC1 with RFS on NFS]] and boot into Linux on the AMC1&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=text style=&amp;quot;border:1px dashed blue&amp;quot;&amp;gt;&lt;br /&gt;
Kernel image @ 0x80200000 [ 0x000000 - 0x395e58 ]&lt;br /&gt;
## Flattened Device Tree blob at 88000000&lt;br /&gt;
   Booting using the fdt blob at 0x88000000&lt;br /&gt;
   Using Device Tree in place at 88000000, end 8800d630&lt;br /&gt;
&lt;br /&gt;
Starting kernel ...&lt;br /&gt;
&lt;br /&gt;
[    0.000000] Booting Linux on physical CPU 0x0&lt;br /&gt;
[    0.000000] Linux version 4.9.41-ge3a80a1c5c (sitara@sitara-sdk401) (gcc vers&lt;br /&gt;
ion 6.2.1 20161016 (Linaro GCC 6.2-2016.11) ) #1 SMP Wed Oct 25 14:53:44 CEST 20&lt;br /&gt;
17&lt;br /&gt;
...&lt;br /&gt;
[    9.670506] systemd[1]: Detected architecture arm.&lt;br /&gt;
&lt;br /&gt;
Welcome to Arago 2017.06!&lt;br /&gt;
&lt;br /&gt;
[    9.722230] systemd[1]: Set hostname to &amp;lt;am437x-evm&amp;gt;.&lt;br /&gt;
...&lt;br /&gt;
 _____                    _____           _         _&lt;br /&gt;
|  _  |___ ___ ___ ___   |  _  |___ ___  |_|___ ___| |_&lt;br /&gt;
|     |  _| .&#039;| . | . |  |   __|  _| . | | | -_|  _|  _|&lt;br /&gt;
|__|__|_| |__,|_  |___|  |__|  |_| |___|_| |___|___|_|&lt;br /&gt;
              |___|                    |___|&lt;br /&gt;
&lt;br /&gt;
Arago Project http://arago-project.org am437x-evm ttyO0&lt;br /&gt;
&lt;br /&gt;
Arago 2017.06 am437x-evm ttyO0&lt;br /&gt;
&lt;br /&gt;
am437x-evm login: root&lt;br /&gt;
root@am437x-evm:~#&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Prepare eMMC ==&lt;br /&gt;
=== Check if eMMC is available ===&lt;br /&gt;
   &#039;&#039;&#039;&#039;&#039;ls -lah /dev/ | grep mmc&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=text style=&amp;quot;border:1px dashed blue&amp;quot;&amp;gt;&lt;br /&gt;
root@am437x-evm:~# ls -lah /dev/ | grep mmc&lt;br /&gt;
brw-rw----    1 root     disk      179,   0 Sep 26 21:32 mmcblk0&lt;br /&gt;
brw-rw----    1 root     disk      179,  16 Sep 26 21:32 mmcblk0boot0&lt;br /&gt;
brw-rw----    1 root     disk      179,  32 Sep 26 21:33 mmcblk0boot1&lt;br /&gt;
brw-rw----    1 root     disk      179,   1 Sep 26 21:33 mmcblk0p1&lt;br /&gt;
root@am437x-evm:~#&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;mmcblk0&#039;&#039;&#039;&#039;&#039; is the on-board eMMC&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=== Start &#039;&#039;&#039;&#039;&#039;fdisk&#039;&#039;&#039;&#039;&#039; ===&lt;br /&gt;
   &#039;&#039;&#039;&#039;&#039;fdisk /dev/mmcblk0&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=text style=&amp;quot;border:1px dashed blue&amp;quot;&amp;gt;&lt;br /&gt;
root@am437x-evm:~# fdisk /dev/mmcblk0&lt;br /&gt;
&lt;br /&gt;
Welcome to fdisk (util-linux 2.28.1).&lt;br /&gt;
Changes will remain in memory only, until you decide to write them.&lt;br /&gt;
Be careful before using the write command.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Command (m for help):&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=== Clear existing partition ===&lt;br /&gt;
Command &#039;&#039;&#039;&#039;&#039;o&#039;&#039;&#039;&#039;&#039; clears any existing partition on device mmcblk0 and creates a new disklable&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=text style=&amp;quot;border:1px dashed blue&amp;quot;&amp;gt;&lt;br /&gt;
Command (m for help): o&lt;br /&gt;
Created a new DOS disklabel with disk identifier 0xc4fcd91f.&lt;br /&gt;
&lt;br /&gt;
Command (m for help):&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=== List all partiotions ===&lt;br /&gt;
Command &#039;&#039;&#039;&#039;&#039;p&#039;&#039;&#039;&#039;&#039; will list all partition tables on eMMC&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=text style=&amp;quot;border:1px dashed blue&amp;quot;&amp;gt;&lt;br /&gt;
Command (m for help): p&lt;br /&gt;
Disk /dev/mmcblk0: 7.3 GiB, 7818182656 bytes, 15269888 sectors&lt;br /&gt;
Units: sectors of 1 * 512 = 512 bytes&lt;br /&gt;
Sector size (logical/physical): 512 bytes / 512 bytes&lt;br /&gt;
I/O size (minimum/optimal): 512 bytes / 512 bytes&lt;br /&gt;
Disklabel type: dos&lt;br /&gt;
Disk identifier: 0xc4fcd91f&lt;br /&gt;
&lt;br /&gt;
Command (m for help):&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=== Create new partition ===&lt;br /&gt;
Create a new partition with command &#039;&#039;&#039;&#039;&#039;n&#039;&#039;&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Enter &#039;&#039;&#039;&#039;&#039;p&#039;&#039;&#039;&#039;&#039; for a primary partition, Partition number is 1, first sector is 2048 and +64M is the boot partition size. &lt;br /&gt;
{{note|We initially create a boot partition even if it is not used due to QSPI boot. This makes it possible to copy MLO + U-Boot + Linux Kernel later without destroying a potentially existing Root FS on a different partition. }}&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=text style=&amp;quot;border:1px dashed blue&amp;quot;&amp;gt;&lt;br /&gt;
Command (m for help): n&lt;br /&gt;
Partition type&lt;br /&gt;
   p   primary (0 primary, 0 extended, 4 free)&lt;br /&gt;
   e   extended (container for logical partitions)&lt;br /&gt;
Select (default p): p&lt;br /&gt;
Partition number (1-4, default 1): 1&lt;br /&gt;
First sector (2048-15269887, default 2048):&lt;br /&gt;
Last sector, +sectors or +size{K,M,G,T,P} (2048-15269887, default 15269887): +64M&lt;br /&gt;
&lt;br /&gt;
Created a new partition 1 of type &#039;Linux&#039; and of size 64 MiB.&lt;br /&gt;
&lt;br /&gt;
Command (m for help):&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
If this partition should be used later for booting - remember we do not need it since QSPI boot is default - make this partition bootable. For this the partition type must be set to &#039;&#039;&#039;&#039;&#039;W95 FAT16 (LBA)&#039;&#039;&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=text style=&amp;quot;border:1px dashed blue&amp;quot;&amp;gt;&lt;br /&gt;
Command (m for help): t&lt;br /&gt;
Selected partition 1&lt;br /&gt;
Partition type (type L to list all types): e&lt;br /&gt;
Changed type of partition &#039;Linux&#039; to &#039;W95 FAT16 (LBA)&#039;.&lt;br /&gt;
&lt;br /&gt;
Command (m for help):&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and the &#039;&#039;&#039;&#039;&#039;boot&#039;&#039;&#039;&#039;&#039; flag must be set by command &#039;&#039;&#039;&#039;&#039;a&#039;&#039;&#039;&#039;&#039;:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=text style=&amp;quot;border:1px dashed blue&amp;quot;&amp;gt;&lt;br /&gt;
Command (m for help): a&lt;br /&gt;
Selected partition 1&lt;br /&gt;
The bootable flag on partition 1 is enabled now.&lt;br /&gt;
&lt;br /&gt;
Command (m for help):&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Check success:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=text style=&amp;quot;border:1px dashed blue&amp;quot;&amp;gt;&lt;br /&gt;
Command (m for help): p&lt;br /&gt;
Disk /dev/mmcblk0: 7.3 GiB, 7818182656 bytes, 15269888 sectors&lt;br /&gt;
Units: sectors of 1 * 512 = 512 bytes&lt;br /&gt;
Sector size (logical/physical): 512 bytes / 512 bytes&lt;br /&gt;
I/O size (minimum/optimal): 512 bytes / 512 bytes&lt;br /&gt;
Disklabel type: dos&lt;br /&gt;
Disk identifier: 0xc4fcd91f&lt;br /&gt;
&lt;br /&gt;
Device         Boot Start    End Sectors Size Id Type&lt;br /&gt;
/dev/mmcblk0p1 *     2048 133119  131072  64M  e W95 FAT16 (LBA)&lt;br /&gt;
&lt;br /&gt;
Command (m for help):&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
{{pagetop}}&lt;br /&gt;
=== Create second partition ===&lt;br /&gt;
Create a second partition for the Root FS. Enter command &#039;&#039;&#039;&#039;&#039;n&#039;&#039;&#039;&#039;&#039; to create a new partition. Partition type is &#039;&#039;&#039;&#039;&#039;p&#039;&#039;&#039;&#039;&#039; for primary. Partition numer is &#039;&#039;&#039;&#039;&#039;2&#039;&#039;&#039;&#039;&#039;, first and last sector set to default.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=text style=&amp;quot;border:1px dashed blue&amp;quot;&amp;gt;&lt;br /&gt;
command (m for help): n&lt;br /&gt;
Partition type&lt;br /&gt;
   p   primary (1 primary, 0 extended, 3 free)&lt;br /&gt;
   e   extended (container for logical partitions)&lt;br /&gt;
Select (default p): p&lt;br /&gt;
Partition number (2-4, default 2): 2&lt;br /&gt;
First sector (133120-15269887, default 133120):&lt;br /&gt;
Last sector, +sectors or +size{K,M,G,T,P} (133120-15269887, default 15269887):&lt;br /&gt;
&lt;br /&gt;
Created a new partition 2 of type &#039;Linux&#039; and of size 7.2 GiB.&lt;br /&gt;
&lt;br /&gt;
Command (m for help): p&lt;br /&gt;
Disk /dev/mmcblk0: 7.3 GiB, 7818182656 bytes, 15269888 sectors&lt;br /&gt;
Units: sectors of 1 * 512 = 512 bytes&lt;br /&gt;
Sector size (logical/physical): 512 bytes / 512 bytes&lt;br /&gt;
I/O size (minimum/optimal): 512 bytes / 512 bytes&lt;br /&gt;
Disklabel type: dos&lt;br /&gt;
Disk identifier: 0xc4fcd91f&lt;br /&gt;
&lt;br /&gt;
Device         Boot  Start      End  Sectors  Size Id Type&lt;br /&gt;
/dev/mmcblk0p1 *      2048   133119   131072   64M  e W95 FAT16 (LBA)&lt;br /&gt;
/dev/mmcblk0p2      133120 15269887 15136768  7.2G 83 Linux&lt;br /&gt;
&lt;br /&gt;
Command (m for help):&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=== Write partition table to eMMC ===&lt;br /&gt;
Command &#039;&#039;&#039;&#039;&#039;w&#039;&#039;&#039;&#039;&#039; writes the new partition table back to eMMC:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=text style=&amp;quot;border:1px dashed blue&amp;quot;&amp;gt;&lt;br /&gt;
Command (m for help): w&lt;br /&gt;
The partition table has been altered.&lt;br /&gt;
Calling ioctl() to re-read partition table.&lt;br /&gt;
[ 3589.507368]  mmcblk0: p1 p2&lt;br /&gt;
Syncing disks.&lt;br /&gt;
&lt;br /&gt;
root@am437x-evm:~#&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Format partitions ===&lt;br /&gt;
Format boot partition with FAT:&lt;br /&gt;
   &#039;&#039;&#039;&#039;&#039;mkfs.vfat -F 16 /dev/mmcblk0p1&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=text style=&amp;quot;border:1px dashed blue&amp;quot;&amp;gt;&lt;br /&gt;
root@am437x-evm:~# mkfs.vfat -F 16 /dev/mmcblk0p1&lt;br /&gt;
mkfs.fat 4.0 (2016-05-06)&lt;br /&gt;
root@am437x-evm:~#&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Format Root FS partition with EXT4:&lt;br /&gt;
   &#039;&#039;&#039;&#039;&#039;mkfs.ext4 /dev/mmcblk0p2&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=text style=&amp;quot;border:1px dashed blue&amp;quot;&amp;gt;&lt;br /&gt;
root@am437x-evm:~# mkfs.ext4 /dev/mmcblk0p2&lt;br /&gt;
mke2fs 1.43 (17-May-2016)&lt;br /&gt;
Discarding device blocks: done&lt;br /&gt;
Creating filesystem with 1892096 4k blocks and 473280 inodes&lt;br /&gt;
Filesystem UUID: 09e4e558-553e-455d-b93f-542ed41a1f4f&lt;br /&gt;
Superblock backups stored on blocks:&lt;br /&gt;
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632&lt;br /&gt;
&lt;br /&gt;
Allocating group tables: done&lt;br /&gt;
Writing inode tables: done&lt;br /&gt;
Creating journal (32768 blocks): done&lt;br /&gt;
Writing superblocks and filesystem accounting information: done&lt;br /&gt;
&lt;br /&gt;
root@am437x-evm:~#&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Copy Root FS tarball ==&lt;br /&gt;
Copy a Root FS tarball to a directory on your NFS server:&lt;br /&gt;
&lt;br /&gt;
[[File:Copy_RootFS_to_NFS.jpg]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Extract Root FS to eMMC ==&lt;br /&gt;
Extract the Root FS to the eMMC with the following commands:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=text style=&amp;quot;border:1px dashed blue&amp;quot;&amp;gt;&lt;br /&gt;
root@am437x-evm:~# cd /tmp&lt;br /&gt;
root@am437x-evm:/tmp# mkdir rootfs&lt;br /&gt;
root@am437x-evm:/tmp# mount /dev/mmcblk0p2 rootfs&lt;br /&gt;
root@am437x-evm:/tmp# tar -xJf /home/arago-base-tisdk-image-am437x-evm.tar.xz -C rootfs&lt;br /&gt;
root@am437x-evm:/tmp# umount /dev/mmcblk0p2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This step may take a few minutes depending on the size of your Root FS.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Reboot and change bootparam ==&lt;br /&gt;
Reboot the system using &#039;&#039;&#039;&#039;&#039;reboot&#039;&#039;&#039;&#039;&#039; command. Enter the U-Boot command processor and change the bootparam:&lt;br /&gt;
&lt;br /&gt;
    &#039;&#039;&#039;&#039;&#039;setenv bootargs root=/dev/mmcblk0p2 rw rootfstype=ext4 rootwait&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=text style=&amp;quot;border:1px dashed blue&amp;quot;&amp;gt;&lt;br /&gt;
AMC1&amp;gt; setenv bootargs root=/dev/mmcblk0p2 rw rootfstype=ext4 rootwait&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== start Linux with Root FS on eMMC ==&lt;br /&gt;
   &#039;&#039;&#039;&#039;&#039;setenv loadimage &#039;sf read ${loadaddr} 0x200000 0x400000&#039; &#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
   &#039;&#039;&#039;&#039;&#039;setenv loaddtb &#039;sf read ${fdtaddr} 0x120000 0x10000&#039; &#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
   &#039;&#039;&#039;&#039;&#039;sf probe &amp;amp;&amp;amp; run loadimage loaddtb &amp;amp;&amp;amp; bootz ${loadaddr} - ${fdtaddr}&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=text style=&amp;quot;border:1px dashed blue&amp;quot;&amp;gt;&lt;br /&gt;
AMC1&amp;gt; setenv loadimage &#039;sf read ${loadaddr} 0x200000 0x400000&#039;&lt;br /&gt;
AMC1&amp;gt; setenv loaddtb &#039;sf read ${fdtaddr} 0x120000 0x10000&#039;&lt;br /&gt;
AMC1&amp;gt; sf probe &amp;amp;&amp;amp; run loadimage loaddtb &amp;amp;&amp;amp; bootz ${loadaddr} - ${fdtaddr}&lt;br /&gt;
SF: Detected w25q64cv with page size 256 Bytes, erase size 4 KiB, total 8 MiB, m&lt;br /&gt;
apped at 30000000&lt;br /&gt;
device 0 offset 0x200000, size 0x400000&lt;br /&gt;
SF: 4194304 bytes @ 0x200000 Read: OK&lt;br /&gt;
device 0 offset 0x120000, size 0x10000&lt;br /&gt;
SF: 65536 bytes @ 0x120000 Read: OK&lt;br /&gt;
Kernel image @ 0x80200000 [ 0x000000 - 0x395e58 ]&lt;br /&gt;
## Flattened Device Tree blob at 88000000&lt;br /&gt;
   Booting using the fdt blob at 0x88000000&lt;br /&gt;
   Using Device Tree in place at 88000000, end 8800d630&lt;br /&gt;
&lt;br /&gt;
Starting kernel ...&lt;br /&gt;
&lt;br /&gt;
[    0.000000] Booting Linux on physical CPU 0x0&lt;br /&gt;
[    0.000000] Linux version 4.9.41-ge3a80a1c5c (sitara@sitara-sdk401) (gcc vers&lt;br /&gt;
ion 6.2.1 20161016 (Linaro GCC 6.2-2016.11) ) #1 SMP Wed Oct 25 14:53:44 CEST 20&lt;br /&gt;
17&lt;br /&gt;
[    0.000000] CPU: ARMv7 Processor [412fc09a] revision 10 (ARMv7), cr=10c5387d&lt;br /&gt;
...&lt;br /&gt;
[    2.346390] systemd[1]: Detected architecture &#039;arm&#039;.&lt;br /&gt;
&lt;br /&gt;
Welcome to Arago 2017.06!&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
***************************************************************&lt;br /&gt;
 _____                    _____           _         _&lt;br /&gt;
|  _  |___ ___ ___ ___   |  _  |___ ___  |_|___ ___| |_&lt;br /&gt;
|     |  _| .&#039;| . | . |  |   __|  _| . | | | -_|  _|  _|&lt;br /&gt;
|__|__|_| |__,|_  |___|  |__|  |_| |___|_| |___|___|_|&lt;br /&gt;
              |___|                    |___|&lt;br /&gt;
&lt;br /&gt;
Arago Project http://arago-project.org am437x-evm ttyO0&lt;br /&gt;
&lt;br /&gt;
Arago 2017.06 am437x-evm ttyO0&lt;br /&gt;
&lt;br /&gt;
am437x-evm login:&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Additional Tags ==&lt;br /&gt;
 [[Booting Linux from QSPI on AMC1 with RFS on NFS]]&lt;br /&gt;
 [[Network settings for U-Boot on AMC1]]&lt;br /&gt;
&lt;br /&gt;
 [[category:AMC1]]&lt;/div&gt;</summary>
		<author><name>Claus</name></author>
	</entry>
	<entry>
		<id>https://dsignt.de/support-wiki/index.php?title=File:Copy_RootFS_to_NFS.jpg&amp;diff=1401</id>
		<title>File:Copy RootFS to NFS.jpg</title>
		<link rel="alternate" type="text/html" href="https://dsignt.de/support-wiki/index.php?title=File:Copy_RootFS_to_NFS.jpg&amp;diff=1401"/>
		<updated>2017-11-16T16:00:51Z</updated>

		<summary type="html">&lt;p&gt;Claus: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Claus</name></author>
	</entry>
	<entry>
		<id>https://dsignt.de/support-wiki/index.php?title=Booting_Linux_from_QSPI_on_AMC1_with_RFS_on_eMMC&amp;diff=1400</id>
		<title>Booting Linux from QSPI on AMC1 with RFS on eMMC</title>
		<link rel="alternate" type="text/html" href="https://dsignt.de/support-wiki/index.php?title=Booting_Linux_from_QSPI_on_AMC1_with_RFS_on_eMMC&amp;diff=1400"/>
		<updated>2017-11-16T16:00:20Z</updated>

		<summary type="html">&lt;p&gt;Claus: Created page with &amp;quot;== Preparation == Follow steps 1-4 of Booting Linux from QSPI on AMC1 with RFS on NFS and boot into Linux on the AMC1  &amp;lt;syntaxhighlight lang=text style=&amp;quot;border:1px dashed...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Preparation ==&lt;br /&gt;
Follow steps 1-4 of [[Booting Linux from QSPI on AMC1 with RFS on NFS]] and boot into Linux on the AMC1&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=text style=&amp;quot;border:1px dashed blue&amp;quot;&amp;gt;&lt;br /&gt;
Kernel image @ 0x80200000 [ 0x000000 - 0x395e58 ]&lt;br /&gt;
## Flattened Device Tree blob at 88000000&lt;br /&gt;
   Booting using the fdt blob at 0x88000000&lt;br /&gt;
   Using Device Tree in place at 88000000, end 8800d630&lt;br /&gt;
&lt;br /&gt;
Starting kernel ...&lt;br /&gt;
&lt;br /&gt;
[    0.000000] Booting Linux on physical CPU 0x0&lt;br /&gt;
[    0.000000] Linux version 4.9.41-ge3a80a1c5c (sitara@sitara-sdk401) (gcc vers&lt;br /&gt;
ion 6.2.1 20161016 (Linaro GCC 6.2-2016.11) ) #1 SMP Wed Oct 25 14:53:44 CEST 20&lt;br /&gt;
17&lt;br /&gt;
...&lt;br /&gt;
[    9.670506] systemd[1]: Detected architecture arm.&lt;br /&gt;
&lt;br /&gt;
Welcome to Arago 2017.06!&lt;br /&gt;
&lt;br /&gt;
[    9.722230] systemd[1]: Set hostname to &amp;lt;am437x-evm&amp;gt;.&lt;br /&gt;
...&lt;br /&gt;
 _____                    _____           _         _&lt;br /&gt;
|  _  |___ ___ ___ ___   |  _  |___ ___  |_|___ ___| |_&lt;br /&gt;
|     |  _| .&#039;| . | . |  |   __|  _| . | | | -_|  _|  _|&lt;br /&gt;
|__|__|_| |__,|_  |___|  |__|  |_| |___|_| |___|___|_|&lt;br /&gt;
              |___|                    |___|&lt;br /&gt;
&lt;br /&gt;
Arago Project http://arago-project.org am437x-evm ttyO0&lt;br /&gt;
&lt;br /&gt;
Arago 2017.06 am437x-evm ttyO0&lt;br /&gt;
&lt;br /&gt;
am437x-evm login: root&lt;br /&gt;
root@am437x-evm:~#&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Prepare eMMC ==&lt;br /&gt;
=== Check if eMMC is available ===&lt;br /&gt;
   &#039;&#039;&#039;&#039;&#039;ls -lah /dev/ | grep mmc&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=text style=&amp;quot;border:1px dashed blue&amp;quot;&amp;gt;&lt;br /&gt;
root@am437x-evm:~# ls -lah /dev/ | grep mmc&lt;br /&gt;
brw-rw----    1 root     disk      179,   0 Sep 26 21:32 mmcblk0&lt;br /&gt;
brw-rw----    1 root     disk      179,  16 Sep 26 21:32 mmcblk0boot0&lt;br /&gt;
brw-rw----    1 root     disk      179,  32 Sep 26 21:33 mmcblk0boot1&lt;br /&gt;
brw-rw----    1 root     disk      179,   1 Sep 26 21:33 mmcblk0p1&lt;br /&gt;
root@am437x-evm:~#&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;mmcblk0&#039;&#039;&#039;&#039;&#039; is the on-board eMMC&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=== Start &#039;&#039;&#039;&#039;&#039;fdisk&#039;&#039;&#039;&#039;&#039; ===&lt;br /&gt;
   &#039;&#039;&#039;&#039;&#039;fdisk /dev/mmcblk0&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=text style=&amp;quot;border:1px dashed blue&amp;quot;&amp;gt;&lt;br /&gt;
root@am437x-evm:~# fdisk /dev/mmcblk0&lt;br /&gt;
&lt;br /&gt;
Welcome to fdisk (util-linux 2.28.1).&lt;br /&gt;
Changes will remain in memory only, until you decide to write them.&lt;br /&gt;
Be careful before using the write command.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Command (m for help):&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=== Clear existing partition ===&lt;br /&gt;
Command &#039;&#039;&#039;&#039;&#039;o&#039;&#039;&#039;&#039;&#039; clears any existing partition on device mmcblk0 and creates a new disklable&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=text style=&amp;quot;border:1px dashed blue&amp;quot;&amp;gt;&lt;br /&gt;
Command (m for help): o&lt;br /&gt;
Created a new DOS disklabel with disk identifier 0xc4fcd91f.&lt;br /&gt;
&lt;br /&gt;
Command (m for help):&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=== List all partiotions ===&lt;br /&gt;
Command &#039;&#039;&#039;&#039;&#039;p&#039;&#039;&#039;&#039;&#039; will list all partition tables on eMMC&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=text style=&amp;quot;border:1px dashed blue&amp;quot;&amp;gt;&lt;br /&gt;
Command (m for help): p&lt;br /&gt;
Disk /dev/mmcblk0: 7.3 GiB, 7818182656 bytes, 15269888 sectors&lt;br /&gt;
Units: sectors of 1 * 512 = 512 bytes&lt;br /&gt;
Sector size (logical/physical): 512 bytes / 512 bytes&lt;br /&gt;
I/O size (minimum/optimal): 512 bytes / 512 bytes&lt;br /&gt;
Disklabel type: dos&lt;br /&gt;
Disk identifier: 0xc4fcd91f&lt;br /&gt;
&lt;br /&gt;
Command (m for help):&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=== Create new partition ===&lt;br /&gt;
Create a new partition with command &#039;&#039;&#039;&#039;&#039;n&#039;&#039;&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Enter &#039;&#039;&#039;&#039;&#039;p&#039;&#039;&#039;&#039;&#039; for a primary partition, Partition number is 1, first sector is 2048 and +64M is the boot partition size. &lt;br /&gt;
{{note|We initially create a boot partition even if it is not used due to QSPI boot. This makes it possible to copy MLO + U-Boot + Linux Kernel later without destroying a potentially existing Root FS on a different partition. }}&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=text style=&amp;quot;border:1px dashed blue&amp;quot;&amp;gt;&lt;br /&gt;
Command (m for help): n&lt;br /&gt;
Partition type&lt;br /&gt;
   p   primary (0 primary, 0 extended, 4 free)&lt;br /&gt;
   e   extended (container for logical partitions)&lt;br /&gt;
Select (default p): p&lt;br /&gt;
Partition number (1-4, default 1): 1&lt;br /&gt;
First sector (2048-15269887, default 2048):&lt;br /&gt;
Last sector, +sectors or +size{K,M,G,T,P} (2048-15269887, default 15269887): +64M&lt;br /&gt;
&lt;br /&gt;
Created a new partition 1 of type &#039;Linux&#039; and of size 64 MiB.&lt;br /&gt;
&lt;br /&gt;
Command (m for help):&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
If this partition should be used later for booting - remember we do not need it since QSPI boot is default - make this partition bootable. For this the partition type must be set to &#039;&#039;&#039;&#039;&#039;W95 FAT16 (LBA)&#039;&#039;&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=text style=&amp;quot;border:1px dashed blue&amp;quot;&amp;gt;&lt;br /&gt;
Command (m for help): t&lt;br /&gt;
Selected partition 1&lt;br /&gt;
Partition type (type L to list all types): e&lt;br /&gt;
Changed type of partition &#039;Linux&#039; to &#039;W95 FAT16 (LBA)&#039;.&lt;br /&gt;
&lt;br /&gt;
Command (m for help):&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and the &#039;&#039;&#039;&#039;&#039;boot&#039;&#039;&#039;&#039;&#039; flag must be set by command &#039;&#039;&#039;&#039;&#039;a&#039;&#039;&#039;&#039;&#039;:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=text style=&amp;quot;border:1px dashed blue&amp;quot;&amp;gt;&lt;br /&gt;
Command (m for help): a&lt;br /&gt;
Selected partition 1&lt;br /&gt;
The bootable flag on partition 1 is enabled now.&lt;br /&gt;
&lt;br /&gt;
Command (m for help):&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Check success:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=text style=&amp;quot;border:1px dashed blue&amp;quot;&amp;gt;&lt;br /&gt;
Command (m for help): p&lt;br /&gt;
Disk /dev/mmcblk0: 7.3 GiB, 7818182656 bytes, 15269888 sectors&lt;br /&gt;
Units: sectors of 1 * 512 = 512 bytes&lt;br /&gt;
Sector size (logical/physical): 512 bytes / 512 bytes&lt;br /&gt;
I/O size (minimum/optimal): 512 bytes / 512 bytes&lt;br /&gt;
Disklabel type: dos&lt;br /&gt;
Disk identifier: 0xc4fcd91f&lt;br /&gt;
&lt;br /&gt;
Device         Boot Start    End Sectors Size Id Type&lt;br /&gt;
/dev/mmcblk0p1 *     2048 133119  131072  64M  e W95 FAT16 (LBA)&lt;br /&gt;
&lt;br /&gt;
Command (m for help):&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
{{pagetop}}&lt;br /&gt;
=== Create second partition ===&lt;br /&gt;
Create a second partition for the Root FS. Enter command &#039;&#039;&#039;&#039;&#039;n&#039;&#039;&#039;&#039;&#039; to create a new partition. Partition type is &#039;&#039;&#039;&#039;&#039;p&#039;&#039;&#039;&#039;&#039; for primary. Partition numer is &#039;&#039;&#039;&#039;&#039;2&#039;&#039;&#039;&#039;&#039;, first and last sector set to default.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=text style=&amp;quot;border:1px dashed blue&amp;quot;&amp;gt;&lt;br /&gt;
command (m for help): n&lt;br /&gt;
Partition type&lt;br /&gt;
   p   primary (1 primary, 0 extended, 3 free)&lt;br /&gt;
   e   extended (container for logical partitions)&lt;br /&gt;
Select (default p): p&lt;br /&gt;
Partition number (2-4, default 2): 2&lt;br /&gt;
First sector (133120-15269887, default 133120):&lt;br /&gt;
Last sector, +sectors or +size{K,M,G,T,P} (133120-15269887, default 15269887):&lt;br /&gt;
&lt;br /&gt;
Created a new partition 2 of type &#039;Linux&#039; and of size 7.2 GiB.&lt;br /&gt;
&lt;br /&gt;
Command (m for help): p&lt;br /&gt;
Disk /dev/mmcblk0: 7.3 GiB, 7818182656 bytes, 15269888 sectors&lt;br /&gt;
Units: sectors of 1 * 512 = 512 bytes&lt;br /&gt;
Sector size (logical/physical): 512 bytes / 512 bytes&lt;br /&gt;
I/O size (minimum/optimal): 512 bytes / 512 bytes&lt;br /&gt;
Disklabel type: dos&lt;br /&gt;
Disk identifier: 0xc4fcd91f&lt;br /&gt;
&lt;br /&gt;
Device         Boot  Start      End  Sectors  Size Id Type&lt;br /&gt;
/dev/mmcblk0p1 *      2048   133119   131072   64M  e W95 FAT16 (LBA)&lt;br /&gt;
/dev/mmcblk0p2      133120 15269887 15136768  7.2G 83 Linux&lt;br /&gt;
&lt;br /&gt;
Command (m for help):&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=== Write partition table to eMMC ===&lt;br /&gt;
Command &#039;&#039;&#039;&#039;&#039;w&#039;&#039;&#039;&#039;&#039; writes the new partition table back to eMMC:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=text style=&amp;quot;border:1px dashed blue&amp;quot;&amp;gt;&lt;br /&gt;
Command (m for help): w&lt;br /&gt;
The partition table has been altered.&lt;br /&gt;
Calling ioctl() to re-read partition table.&lt;br /&gt;
[ 3589.507368]  mmcblk0: p1 p2&lt;br /&gt;
Syncing disks.&lt;br /&gt;
&lt;br /&gt;
root@am437x-evm:~#&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Format partitions ===&lt;br /&gt;
Format boot partition with FAT:&lt;br /&gt;
   &#039;&#039;&#039;&#039;&#039;mkfs.vfat -F 16 /dev/mmcblk0p1&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=text style=&amp;quot;border:1px dashed blue&amp;quot;&amp;gt;&lt;br /&gt;
root@am437x-evm:~# mkfs.vfat -F 16 /dev/mmcblk0p1&lt;br /&gt;
mkfs.fat 4.0 (2016-05-06)&lt;br /&gt;
root@am437x-evm:~#&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Format Root FS partition with EXT4:&lt;br /&gt;
   &#039;&#039;&#039;&#039;&#039;mkfs.ext4 /dev/mmcblk0p2&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=text style=&amp;quot;border:1px dashed blue&amp;quot;&amp;gt;&lt;br /&gt;
root@am437x-evm:~# mkfs.ext4 /dev/mmcblk0p2&lt;br /&gt;
mke2fs 1.43 (17-May-2016)&lt;br /&gt;
Discarding device blocks: done&lt;br /&gt;
Creating filesystem with 1892096 4k blocks and 473280 inodes&lt;br /&gt;
Filesystem UUID: 09e4e558-553e-455d-b93f-542ed41a1f4f&lt;br /&gt;
Superblock backups stored on blocks:&lt;br /&gt;
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632&lt;br /&gt;
&lt;br /&gt;
Allocating group tables: done&lt;br /&gt;
Writing inode tables: done&lt;br /&gt;
Creating journal (32768 blocks): done&lt;br /&gt;
Writing superblocks and filesystem accounting information: done&lt;br /&gt;
&lt;br /&gt;
root@am437x-evm:~#&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Copy Root FS tarball ==&lt;br /&gt;
Copy a Root FS tarball to a directory on your NFS server:&lt;br /&gt;
&lt;br /&gt;
[[File:Copy_RootFS_to_NFS.jpg]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Extract Root FS to eMMC ==&lt;br /&gt;
Extract the Root FS to the eMMC with the following commands:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=text style=&amp;quot;border:1px dashed blue&amp;quot;&amp;gt;&lt;br /&gt;
root@am437x-evm:~# cd /tmp&lt;br /&gt;
root@am437x-evm:/tmp# mkdir rootfs&lt;br /&gt;
root@am437x-evm:/tmp# mount /dev/mmcblk0p2 rootfs&lt;br /&gt;
root@am437x-evm:/tmp# tar -jxvf /home/debian-image.tar.bz2 rootfs&lt;br /&gt;
root@am437x-evm:/tmp# umount /dev/mmcblk0p2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This step may take a few minutes depending on the size of your Root FS.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Reboot and change bootparam ==&lt;br /&gt;
Reboot the system using &#039;&#039;&#039;&#039;&#039;reboot&#039;&#039;&#039;&#039;&#039; command. Enter the U-Boot command processor and change the bootparam:&lt;br /&gt;
&lt;br /&gt;
    &#039;&#039;&#039;&#039;&#039;setenv bootargs root=/dev/mmcblk0p2 rw rootfstype=ext4 rootwait&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=text style=&amp;quot;border:1px dashed blue&amp;quot;&amp;gt;&lt;br /&gt;
AMC1&amp;gt; setenv bootargs root=/dev/mmcblk0p2 rw rootfstype=ext4 rootwait&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== start Linux with Root FS on eMMC ==&lt;br /&gt;
   &#039;&#039;&#039;&#039;&#039;setenv loadimage &#039;sf read ${loadaddr} 0x200000 0x400000&#039; &#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
   &#039;&#039;&#039;&#039;&#039;setenv loaddtb &#039;sf read ${fdtaddr} 0x120000 0x10000&#039; &#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
   &#039;&#039;&#039;&#039;&#039;sf probe &amp;amp;&amp;amp; run loadimage loaddtb &amp;amp;&amp;amp; bootz ${loadaddr} - ${fdtaddr}&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=text style=&amp;quot;border:1px dashed blue&amp;quot;&amp;gt;&lt;br /&gt;
AMC1&amp;gt; setenv loadimage &#039;sf read ${loadaddr} 0x200000 0x400000&#039;&lt;br /&gt;
AMC1&amp;gt; setenv loaddtb &#039;sf read ${fdtaddr} 0x120000 0x10000&#039;&lt;br /&gt;
AMC1&amp;gt; sf probe &amp;amp;&amp;amp; run loadimage loaddtb &amp;amp;&amp;amp; bootz ${loadaddr} - ${fdtaddr}&lt;br /&gt;
SF: Detected w25q64cv with page size 256 Bytes, erase size 4 KiB, total 8 MiB, m&lt;br /&gt;
apped at 30000000&lt;br /&gt;
device 0 offset 0x200000, size 0x400000&lt;br /&gt;
SF: 4194304 bytes @ 0x200000 Read: OK&lt;br /&gt;
device 0 offset 0x120000, size 0x10000&lt;br /&gt;
SF: 65536 bytes @ 0x120000 Read: OK&lt;br /&gt;
Kernel image @ 0x80200000 [ 0x000000 - 0x395e58 ]&lt;br /&gt;
## Flattened Device Tree blob at 88000000&lt;br /&gt;
   Booting using the fdt blob at 0x88000000&lt;br /&gt;
   Using Device Tree in place at 88000000, end 8800d630&lt;br /&gt;
&lt;br /&gt;
Starting kernel ...&lt;br /&gt;
&lt;br /&gt;
[    0.000000] Booting Linux on physical CPU 0x0&lt;br /&gt;
[    0.000000] Linux version 4.9.41-ge3a80a1c5c (sitara@sitara-sdk401) (gcc vers&lt;br /&gt;
ion 6.2.1 20161016 (Linaro GCC 6.2-2016.11) ) #1 SMP Wed Oct 25 14:53:44 CEST 20&lt;br /&gt;
17&lt;br /&gt;
[    0.000000] CPU: ARMv7 Processor [412fc09a] revision 10 (ARMv7), cr=10c5387d&lt;br /&gt;
...&lt;br /&gt;
[    2.346390] systemd[1]: Detected architecture &#039;arm&#039;.&lt;br /&gt;
&lt;br /&gt;
Welcome to Debian GNU/Linux 8 (jessie)!&lt;br /&gt;
...&lt;br /&gt;
[  OK  ] Started Serial Getty on ttyO0.&lt;br /&gt;
[  OK  ] Reached target Login Prompts.&lt;br /&gt;
&lt;br /&gt;
Debian GNU/Linux 8 cm-debian ttyO0&lt;br /&gt;
&lt;br /&gt;
cm-debian login:&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Additional Tags ==&lt;br /&gt;
 [[Booting Linux from QSPI on AMC1 with RFS on NFS]]&lt;br /&gt;
 [[Network settings for U-Boot on AMC1]]&lt;br /&gt;
&lt;br /&gt;
 [[category:AMC1]]&lt;/div&gt;</summary>
		<author><name>Claus</name></author>
	</entry>
	<entry>
		<id>https://dsignt.de/support-wiki/index.php?title=Booting_Linux_from_QSPI_on_AMC1_with_RFS_on_NFS&amp;diff=1399</id>
		<title>Booting Linux from QSPI on AMC1 with RFS on NFS</title>
		<link rel="alternate" type="text/html" href="https://dsignt.de/support-wiki/index.php?title=Booting_Linux_from_QSPI_on_AMC1_with_RFS_on_NFS&amp;diff=1399"/>
		<updated>2017-11-16T12:52:10Z</updated>

		<summary type="html">&lt;p&gt;Claus: Created page with &amp;quot;__NOINDEX__  == Preparation == Boot into U-Boot and stop execution by pressing a key   &amp;lt;syntaxhighlight lang=c style=&amp;quot;border:1px dashed blue&amp;quot;&amp;gt; U-Boot 2017.01 (Nov 14 2017 - 13...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOINDEX__&lt;br /&gt;
&lt;br /&gt;
== Preparation ==&lt;br /&gt;
Boot into U-Boot and stop execution by pressing a key &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c style=&amp;quot;border:1px dashed blue&amp;quot;&amp;gt;&lt;br /&gt;
U-Boot 2017.01 (Nov 14 2017 - 13:37:55 +0100)&lt;br /&gt;
&lt;br /&gt;
CPU  : AM437X-GP rev 1.2&lt;br /&gt;
I2C:   ready&lt;br /&gt;
DRAM:  512 MiB&lt;br /&gt;
MMC:   OMAP SD/MMC: 0, OMAP SD/MMC: 1&lt;br /&gt;
SF: Detected w25q64cv with page size 256 Bytes, erase size 4 KiB, total 8 MiB, m&lt;br /&gt;
apped at 30000000&lt;br /&gt;
In:    serial&lt;br /&gt;
Out:   serial&lt;br /&gt;
Err:   serial&lt;br /&gt;
Net:   cpsw&lt;br /&gt;
Hit any key to stop autoboot:  0&lt;br /&gt;
AMC1&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To boot a Linux Kernel from QSPI Flash you first need to load a Kernel and a DTB from either [[#Use TFTP server|TFTP server]] or from [[#Use USB Stick|USB stick]] and store these images on the QSPI Flash at suitable address offsets. Ref. to [[Serial FLASH mapping on AMC1]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Load Kernel Image and DTB ==&lt;br /&gt;
=== Use TFTP server ===&lt;br /&gt;
==== Network settings ====&lt;br /&gt;
To access the TFTP server you need to do a proper network configuration first. Either enter all necessary environment variables manually on the U-Boot command prompt or use script [[Network_settings_for_U-Boot_on_AMC1#Script_AMC1_NetConfig.ser|AMC1_NetConfig.ser]] to make all these settings automatically.&lt;br /&gt;
&lt;br /&gt;
Required network settings:&amp;lt;br&amp;gt;&lt;br /&gt;
[[Network_settings_for_U-Boot_on_AMC1#ethaddr.2C_eth1addr|&#039;&#039;&#039;&#039;&#039;eth1addr&#039;&#039;&#039;&#039;&#039;]] - own MAC address&amp;lt;br&amp;gt;&lt;br /&gt;
    AMC1&amp;gt; setenv eth1addr c4:be:84:cb:1f:ff&lt;br /&gt;
&lt;br /&gt;
[[Network_settings_for_U-Boot_on_AMC1#ipaddr|&#039;&#039;&#039;&#039;&#039;ipaddr&#039;&#039;&#039;&#039;&#039;]] - own IP address&amp;lt;br&amp;gt;&lt;br /&gt;
    AMC1&amp;gt; setenv ipaddr 192.168.168.197&lt;br /&gt;
&lt;br /&gt;
[[Network_settings_for_U-Boot_on_AMC1#serverip|&#039;&#039;&#039;&#039;&#039;serverip&#039;&#039;&#039;&#039;&#039;]] - remote server IP&lt;br /&gt;
    AMC1&amp;gt; setenv serverip 192.168.168.208&lt;br /&gt;
&lt;br /&gt;
==== Load compressed Linux image from TFTP server ====&lt;br /&gt;
If all network settings are correct, a compressed Linux image can be loaded from TFTP server:&lt;br /&gt;
   &#039;&#039;&#039;&#039;&#039;tftpboot ${loadaddr} zImage-dsignt_amc1.bin&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;${loadaddr}&#039;&#039;&#039;&#039;&#039; is a pre-defined environment variable that specifies a free DDR RAM location for general purpose. We use it here as a temporary storage address for the TFTP transfer.&lt;br /&gt;
&lt;br /&gt;
When the TFTP transfer succeeds, each received block (512 bytes) a &#039;#&#039; is printed on the terminal else a &#039;T&#039; for timeout signals a problem connecting the server. A successful transmission can look like this (of course the IP addresses vary depending on your network configuration):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c style=&amp;quot;border:1px dashed blue&amp;quot;&amp;gt;&lt;br /&gt;
MC1&amp;gt; tftpboot ${loadaddr} zImage-dsignt_amc1.bin&lt;br /&gt;
link up on port 1, speed 1000, full duplex&lt;br /&gt;
Using cpsw device&lt;br /&gt;
TFTP from server 192.168.168.208; our IP address is 192.168.168.194&lt;br /&gt;
Filename &#039;zImage-dsignt_amc1.bin&#039;.&lt;br /&gt;
Load address: 0x80200000&lt;br /&gt;
Loading: #################################################################&lt;br /&gt;
         #################################################################&lt;br /&gt;
         #################################################################&lt;br /&gt;
         #################################################################&lt;br /&gt;
         #################################################################&lt;br /&gt;
         #################################################################&lt;br /&gt;
         #################################################################&lt;br /&gt;
         #################################################################&lt;br /&gt;
         #################################################################&lt;br /&gt;
         #################################################################&lt;br /&gt;
         #################################################################&lt;br /&gt;
         ####################&lt;br /&gt;
         1.3 MiB/s&lt;br /&gt;
done&lt;br /&gt;
Bytes transferred = 3759704 (395e58 hex)&lt;br /&gt;
AMC1&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Load DTB from TFTP server ====&lt;br /&gt;
 &#039;&#039;&#039;&#039;&#039;tftpboot ${fdtaddr} amc1.dtb&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;${fdtaddr}&#039;&#039;&#039;&#039;&#039; is a pre-defined environment variable that specifies a free DDR RAM location for general purpose. We use it here as a temporary storage address for the TFTP transfer.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c style=&amp;quot;border:1px dashed blue&amp;quot;&amp;gt;&lt;br /&gt;
AMC1&amp;gt; tftpboot ${fdtaddr} amc1.dtb&lt;br /&gt;
link up on port 1, speed 1000, full duplex&lt;br /&gt;
Using cpsw device&lt;br /&gt;
TFTP from server 192.168.168.208; our IP address is 192.168.168.194&lt;br /&gt;
Filename &#039;amc1.dtb&#039;.&lt;br /&gt;
Load address: 0x88000000&lt;br /&gt;
Loading: #########&lt;br /&gt;
         1.2 MiB/s&lt;br /&gt;
done&lt;br /&gt;
Bytes transferred = 42545 (a631 hex)&lt;br /&gt;
AMC1&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Continue with step 3 [[#Write_Image_and_DTB_to_Flash|Write Image and DTB to Flash]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Use USB Stick ===&lt;br /&gt;
==== &#039;&#039;&#039;&#039;&#039;usb start&#039;&#039;&#039;&#039;&#039; and &#039;&#039;&#039;&#039;&#039;usb info&#039;&#039;&#039;&#039;&#039; ====&lt;br /&gt;
   &#039;&#039;&#039;&#039;&#039;usb start&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
Initialize the USB controler and enumerate all USB devices&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c style=&amp;quot;border:1px dashed blue&amp;quot;&amp;gt;&lt;br /&gt;
AMC1&amp;gt; usb start&lt;br /&gt;
starting USB...&lt;br /&gt;
USB0:   Register 2000440 NbrPorts 2&lt;br /&gt;
Starting the controller&lt;br /&gt;
USB XHCI 1.00&lt;br /&gt;
scanning bus 0 for devices... 2 USB Device(s) found&lt;br /&gt;
AMC1&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
   &#039;&#039;&#039;&#039;&#039;usb info&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
Print detailed information of enumerated devices&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c style=&amp;quot;border:1px dashed blue&amp;quot;&amp;gt;&lt;br /&gt;
AMC1&amp;gt; usb info&lt;br /&gt;
1: Hub,  USB Revision 3.0&lt;br /&gt;
 - U-Boot XHCI Host Controller&lt;br /&gt;
 - Class: Hub&lt;br /&gt;
 - PacketSize: 9  Configurations: 1&lt;br /&gt;
 - Vendor: 0x0000  Product 0x0000 Version 1.0&lt;br /&gt;
   Configuration: 1&lt;br /&gt;
   - Interfaces: 1 Self Powered 0mA&lt;br /&gt;
     Interface: 0&lt;br /&gt;
     - Alternate Setting 0, Endpoints: 1&lt;br /&gt;
     - Class Hub&lt;br /&gt;
     - Endpoint 1 In Interrupt MaxPacket 8 Interval 255ms&lt;br /&gt;
&lt;br /&gt;
2: Mass Storage,  USB Revision 2.0&lt;br /&gt;
 - USBest Technology USB Mass Storage Devie 1009135102477e&lt;br /&gt;
 - Class: (from Interface) Mass Storage&lt;br /&gt;
 - PacketSize: 64  Configurations: 1&lt;br /&gt;
 - Vendor: 0x1307  Product 0x0165 Version 1.0&lt;br /&gt;
   Configuration: 1&lt;br /&gt;
   - Interfaces: 1 Bus Powered 98mA&lt;br /&gt;
     Interface: 0&lt;br /&gt;
     - Alternate Setting 0, Endpoints: 3&lt;br /&gt;
     - Class Mass Storage, Transp. SCSI, Bulk only&lt;br /&gt;
     - Endpoint 1 Out Bulk MaxPacket 512&lt;br /&gt;
     - Endpoint 2 In Bulk MaxPacket 512&lt;br /&gt;
     - Endpoint 3 In Interrupt MaxPacket 64 Interval 8ms&lt;br /&gt;
&lt;br /&gt;
AMC1&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
==== Load compressed Linux image from USB stick ====&lt;br /&gt;
   &#039;&#039;&#039;&#039;&#039;fatload usb 0 ${loadaddr} zimage-dsignt_amc1.bin&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
Load Kernel image from USB mass storage device into RAM&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c style=&amp;quot;border:1px dashed blue&amp;quot;&amp;gt;&lt;br /&gt;
AMC1&amp;gt; fatload usb 0 ${loadaddr} zimage-dsignt_amc1.bin&lt;br /&gt;
reading zimage-dsignt_amc1.bin&lt;br /&gt;
3759704 bytes read in 2080 ms (1.7 MiB/s)&lt;br /&gt;
AMC1&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Load DTB from USB stick ====&lt;br /&gt;
   &#039;&#039;&#039;&#039;&#039;fatload usb 0 ${fdtaddr} amc1.dtb&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
Load DTB from USB mass storage device into RAM&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c style=&amp;quot;border:1px dashed blue&amp;quot;&amp;gt;&lt;br /&gt;
AMC1&amp;gt; fatload usb 0 ${fdtaddr} amc1.dtb&lt;br /&gt;
reading amc1.dtb&lt;br /&gt;
41451 bytes read in 44 ms (919.9 KiB/s)&lt;br /&gt;
AMC1&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Continue with step 3 [[#Write_Image_and_DTB_to_Flash|Write Image and DTB to Flash]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Write Image and DTB to Flash ==&lt;br /&gt;
=== &#039;&#039;&#039;&#039;&#039;sf probe&#039;&#039;&#039;&#039;&#039; ===&lt;br /&gt;
First check if a serial FLASH is available:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c style=&amp;quot;border:1px dashed blue&amp;quot;&amp;gt;&lt;br /&gt;
AMC1&amp;gt; sf probe&lt;br /&gt;
SF: Detected w25q64cv with page size 256 Bytes, erase size 4 KiB, total 8 MiB, m&lt;br /&gt;
apped at 30000000&lt;br /&gt;
AMC1&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=== &#039;&#039;&#039;&#039;&#039;sf erase&#039;&#039;&#039;&#039;&#039; ===&lt;br /&gt;
If the probe command finds a serial FLASH, use the erase command to clear the U-Boot FLASH area:&lt;br /&gt;
&lt;br /&gt;
DTB:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c style=&amp;quot;border:1px dashed blue&amp;quot;&amp;gt;&lt;br /&gt;
AMC1&amp;gt; sf erase 0x120000 0x10000&lt;br /&gt;
SF: 65536 bytes @ 0x120000 Erased: OK&lt;br /&gt;
AMC1&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Linux Kernel (assumed filesize &amp;lt; 0x400000):&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c style=&amp;quot;border:1px dashed blue&amp;quot;&amp;gt;&lt;br /&gt;
AMC1&amp;gt; sf erase 0x200000 0x400000&lt;br /&gt;
SF: 4194304 bytes @ 0x200000 Erased: OK&lt;br /&gt;
AMC1&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=== &#039;&#039;&#039;&#039;&#039;sf write&#039;&#039;&#039;&#039;&#039; ===&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;sf write&#039;&#039;&#039;&#039;&#039; writes a previously loaded image from RAM to serial FLASH&lt;br /&gt;
&lt;br /&gt;
DTB:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c style=&amp;quot;border:1px dashed blue&amp;quot;&amp;gt;&lt;br /&gt;
AMC1&amp;gt; sf write ${fdtaddr} 0x120000 0x10000&lt;br /&gt;
device 0 offset 0x120000, size 0x10000&lt;br /&gt;
SF: 65536 bytes @ 0x120000 Written: OK&lt;br /&gt;
AMC1&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Linux Kernel:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c style=&amp;quot;border:1px dashed blue&amp;quot;&amp;gt;&lt;br /&gt;
AMC1&amp;gt; sf write ${loadaddr} 0x200000 0x400000&lt;br /&gt;
device 0 offset 0x200000, size 0x400000&lt;br /&gt;
SF: 4194304 bytes @ 0x200000 Written: OK&lt;br /&gt;
AMC1&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== re-boot and load the image ==&lt;br /&gt;
After re-boot you need to probe for the SF first:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c style=&amp;quot;border:1px dashed blue&amp;quot;&amp;gt;&lt;br /&gt;
AMC1&amp;gt; sf probe&lt;br /&gt;
SF: Detected w25q64cv with page size 256 Bytes, erase size 4 KiB, total 8 MiB, m&lt;br /&gt;
apped at 30000000&lt;br /&gt;
AMC1&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=== Load Kernel and DTB from QSPI Flash ===&lt;br /&gt;
&lt;br /&gt;
    &#039;&#039;&#039;&#039;&#039;sf read ${loadaddr} 0x200000 0x400000&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
    &#039;&#039;&#039;&#039;&#039;sf read ${fdtaddr} 0x120000 0x10000&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c style=&amp;quot;border:1px dashed blue&amp;quot;&amp;gt;&lt;br /&gt;
AMC1&amp;gt; sf read ${loadaddr} 0x200000 0x400000&lt;br /&gt;
device 0 offset 0x200000, size 0x400000&lt;br /&gt;
SF: 4194304 bytes @ 0x200000 Read: OK&lt;br /&gt;
AMC1&amp;gt; sf read ${fdtaddr} 0x120000 0x10000&lt;br /&gt;
device 0 offset 0x120000, size 0x10000&lt;br /&gt;
SF: 65536 bytes @ 0x120000 Read: OK&lt;br /&gt;
AMC1&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=== Set bootargs ===&lt;br /&gt;
The global environment variable &#039;&#039;&#039;&#039;&#039;bootargs&#039;&#039;&#039;&#039;&#039; is automatically passed to the booting Linux. Make sure &#039;&#039;&#039;&#039;&#039;nfsroot&#039;&#039;&#039;&#039;&#039; points to the valid NFS path on your NFS server:&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;&#039;&#039;setenv bootargs root=/dev/nfs rw rootfstype=ext4 rootwait fixrtc  nfsroot=${serverip}:/home/sitara/ti-processor-sdk-linux-am437x-evm-04.01.00.06/targetNFS,vers=3 ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:${hostname}:${device}:${autoconf}&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In this case with installed SDK 04.01.00.06 tools on server ${serverip} the correct path is:&lt;br /&gt;
 ${serverip}:/home/sitara/ti-processor-sdk-linux-am437x-evm-04.01.00.06/targetNFS&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Boot Linux zImage ===&lt;br /&gt;
   &#039;&#039;&#039;&#039;&#039;bootz ${loadaddr} - ${fdtaddr}&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c style=&amp;quot;border:1px dashed blue&amp;quot;&amp;gt;&lt;br /&gt;
AMC1&amp;gt; bootz ${loadaddr} - ${fdtaddr}&lt;br /&gt;
Kernel image @ 0x80200000 [ 0x000000 - 0x395e58 ]&lt;br /&gt;
## Flattened Device Tree blob at 88000000&lt;br /&gt;
   Booting using the fdt blob at 0x88000000&lt;br /&gt;
   Using Device Tree in place at 88000000, end 8800d630&lt;br /&gt;
&lt;br /&gt;
Starting kernel ...&lt;br /&gt;
&lt;br /&gt;
[    0.000000] Booting Linux on physical CPU 0x0&lt;br /&gt;
[    0.000000] Linux version 4.9.41-ge3a80a1c5c (sitara@sitara-sdk401)&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{pagetop}}&lt;br /&gt;
&lt;br /&gt;
== Additional Tags ==&lt;br /&gt;
 [[Serial FLASH mapping on AMC1]]&lt;br /&gt;
&lt;br /&gt;
 [[category:AMC1]]&lt;/div&gt;</summary>
		<author><name>Claus</name></author>
	</entry>
	<entry>
		<id>https://dsignt.de/support-wiki/index.php?title=Backup_and_restore_U-Boot_environment_on_AMC1&amp;diff=1398</id>
		<title>Backup and restore U-Boot environment on AMC1</title>
		<link rel="alternate" type="text/html" href="https://dsignt.de/support-wiki/index.php?title=Backup_and_restore_U-Boot_environment_on_AMC1&amp;diff=1398"/>
		<updated>2017-11-16T11:24:27Z</updated>

		<summary type="html">&lt;p&gt;Claus: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOINDEX__&lt;br /&gt;
== Preparation ==&lt;br /&gt;
Boot into U-Boot and stop execution by pressing a key &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c style=&amp;quot;border:1px dashed blue&amp;quot;&amp;gt;&lt;br /&gt;
U-Boot 2017.01 (Nov 14 2017 - 13:37:55 +0100)&lt;br /&gt;
&lt;br /&gt;
CPU  : AM437X-GP rev 1.2&lt;br /&gt;
I2C:   ready&lt;br /&gt;
DRAM:  512 MiB&lt;br /&gt;
MMC:   OMAP SD/MMC: 0, OMAP SD/MMC: 1&lt;br /&gt;
SF: Detected w25q64cv with page size 256 Bytes, erase size 4 KiB, total 8 MiB, m&lt;br /&gt;
apped at 30000000&lt;br /&gt;
In:    serial&lt;br /&gt;
Out:   serial&lt;br /&gt;
Err:   serial&lt;br /&gt;
Net:   cpsw&lt;br /&gt;
Hit any key to stop autoboot:  0&lt;br /&gt;
AMC1&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
To access the on-board QSPI Flash you need to execute the &#039;&#039;&#039;&#039;&#039;sf probe&#039;&#039;&#039;&#039;&#039; command at least once:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c style=&amp;quot;border:1px dashed blue&amp;quot;&amp;gt;&lt;br /&gt;
AMC1&amp;gt; sf probe&lt;br /&gt;
SF: Detected w25q64cv with page size 256 Bytes, erase size 4 KiB, total 8 MiB, m&lt;br /&gt;
apped at 30000000&lt;br /&gt;
AMC1&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Backup environment ==&lt;br /&gt;
Load environment from serial FLASH to RAM&lt;br /&gt;
 &#039;&#039;&#039;&#039;&#039;sf read ${loadaddr} 0x100000 0x10000&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Write to backup section&lt;br /&gt;
 &#039;&#039;&#039;&#039;&#039;sf erase 0x110000 0x10000&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
 &#039;&#039;&#039;&#039;&#039;sf write ${loadaddr} 0x110000 0x10000&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Restore environment ==&lt;br /&gt;
Load environment from backup section in serial FLASH to RAM&lt;br /&gt;
 &#039;&#039;&#039;&#039;&#039;sf read ${loadaddr} 0x110000 0x10000&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Write to environment section in serial FLASH&lt;br /&gt;
 &#039;&#039;&#039;&#039;&#039;sf erase 0x100000 0x10000&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
 &#039;&#039;&#039;&#039;&#039;sf write ${loadaddr} 0x100000 0x10000&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{{pagetop}}&lt;br /&gt;
&lt;br /&gt;
== Additional Tags ==&lt;br /&gt;
 [[Serial FLASH mapping on AMC1]]&lt;br /&gt;
 [[Serial FLASH programming via U-Boot on AMC1]]&lt;br /&gt;
 [[Reset U-Boot environment on AMC1]]&lt;br /&gt;
&lt;br /&gt;
 [[category:AMC1]]&lt;/div&gt;</summary>
		<author><name>Claus</name></author>
	</entry>
	<entry>
		<id>https://dsignt.de/support-wiki/index.php?title=Save_DTB_to_serial_FLASH_on_AMC1_via_U-Boot&amp;diff=1397</id>
		<title>Save DTB to serial FLASH on AMC1 via U-Boot</title>
		<link rel="alternate" type="text/html" href="https://dsignt.de/support-wiki/index.php?title=Save_DTB_to_serial_FLASH_on_AMC1_via_U-Boot&amp;diff=1397"/>
		<updated>2017-11-16T10:10:47Z</updated>

		<summary type="html">&lt;p&gt;Claus: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOINDEX__&lt;br /&gt;
&lt;br /&gt;
== Load DTB ==&lt;br /&gt;
=== from TFTP server ===&lt;br /&gt;
Load a DTB image from TFTP server (correct network settings provided: [[Network_settings_for_U-Boot_on_AMC1#Script_AMC1_NetConfig.ser|AMC1_NetConfig.ser]]):&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;&#039;&#039;tftpboot ${fdtaddr} amc1.dtb&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c style=&amp;quot;border:1px blue&amp;quot;&amp;gt;&lt;br /&gt;
AMC1&amp;gt; tftpboot ${fdtaddr} amc1.dtb&lt;br /&gt;
link up on port 1, speed 1000, full duplex&lt;br /&gt;
Using cpsw device&lt;br /&gt;
TFTP from server 192.168.168.158; our IP address is 192.168.168.203&lt;br /&gt;
Filename &#039;amc1.dtb&#039;.&lt;br /&gt;
Load address: 0x88000000&lt;br /&gt;
Loading: #########&lt;br /&gt;
         641.6 KiB/s&lt;br /&gt;
done&lt;br /&gt;
Bytes transferred = 41451 (a1eb hex)&lt;br /&gt;
AMC1&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== from USB memory stick ===&lt;br /&gt;
==== &#039;&#039;&#039;&#039;&#039;usb start&#039;&#039;&#039;&#039;&#039; ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c style=&amp;quot;border:1px blue&amp;quot;&amp;gt;&lt;br /&gt;
MC1&amp;gt; usb start&lt;br /&gt;
starting USB...&lt;br /&gt;
USB0:   Register 2000440 NbrPorts 2&lt;br /&gt;
Starting the controller&lt;br /&gt;
USB XHCI 1.00&lt;br /&gt;
scanning bus 0 for devices... 2 USB Device(s) found&lt;br /&gt;
       scanning usb for storage devices... 1 Storage Device(s) found&lt;br /&gt;
AMC1&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== &#039;&#039;&#039;&#039;&#039;fatload usb 0:1 ${fdtaddr} amc1.dtb&#039;&#039;&#039;&#039;&#039; ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c style=&amp;quot;border:1px blue&amp;quot;&amp;gt;&lt;br /&gt;
AMC1&amp;gt; fatload usb 0:1 ${fdtaddr} amc1.dtb&lt;br /&gt;
reading amc1.dtb&lt;br /&gt;
41451 bytes read in 44 ms (919.9 KiB/s)&lt;br /&gt;
AMC1&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== from serial FLASH ===&lt;br /&gt;
If a DTB was previously saved somewhere in serial FLASH (e.g as backup), this image can be loaded&lt;br /&gt;
==== &#039;&#039;&#039;&#039;&#039;sf probe&#039;&#039;&#039;&#039;&#039; ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c style=&amp;quot;border:1px blue&amp;quot;&amp;gt;&lt;br /&gt;
AMC1&amp;gt; sf probe&lt;br /&gt;
SF: Detected w25q64cv with page size 256 Bytes, erase size 4 KiB, total 8 MiB, mapped at 30000000&lt;br /&gt;
AMC1&amp;gt; &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== &#039;&#039;&#039;&#039;&#039;sf read ${fdtaddr} 0x150000 0x10000&#039;&#039;&#039;&#039;&#039; ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c style=&amp;quot;border:1px blue&amp;quot;&amp;gt;&lt;br /&gt;
AMC1&amp;gt; sf read ${fdtaddr} 0x150000 0x10000&lt;br /&gt;
device 0 offset 0x150000, size 0x10000&lt;br /&gt;
SF: 65536 bytes @ 0x150000 Read: OK&lt;br /&gt;
AMC1&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Verify DTB ==&lt;br /&gt;
configure the fdt tool to point to the fdtaddr:&lt;br /&gt;
 &#039;&#039;&#039;&#039;&#039;fdt addr ${fdtaddr}&#039;&#039;&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
If the DTB image is bad, you should get the error message:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c style=&amp;quot;border:1px blue&amp;quot;&amp;gt;&lt;br /&gt;
AMC1&amp;gt; fdt addr ${fdtaddr}&lt;br /&gt;
libfdt fdt_check_header(): FDT_ERR_BADMAGIC&lt;br /&gt;
AMC1&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In case a valid DTB is found on the address, nothing is printed and you can proceed to list more details.&lt;br /&gt;
Enter &#039;&#039;&#039;&#039;&#039;fdt header&#039;&#039;&#039;&#039;&#039; command:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c style=&amp;quot;border:1px blue&amp;quot;&amp;gt;&lt;br /&gt;
AMC1&amp;gt; fdt header&lt;br /&gt;
magic:                  0xd00dfeed&lt;br /&gt;
totalsize:              0xa1eb (41451)&lt;br /&gt;
off_dt_struct:          0x38&lt;br /&gt;
off_dt_strings:         0x9a60&lt;br /&gt;
off_mem_rsvmap:         0x28&lt;br /&gt;
version:                17&lt;br /&gt;
last_comp_version:      16&lt;br /&gt;
boot_cpuid_phys:        0x0&lt;br /&gt;
size_dt_strings:        0x78b&lt;br /&gt;
size_dt_struct:         0x9a28&lt;br /&gt;
number mem_rsv:         0x0&lt;br /&gt;
&lt;br /&gt;
AMC1&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Save to serial FLASH ==&lt;br /&gt;
=== &#039;&#039;&#039;&#039;&#039;sf probe&#039;&#039;&#039;&#039;&#039; ===&lt;br /&gt;
First step to access the QSPI FLASH is to probe for the SF. If not yet probed, execute probe command&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c style=&amp;quot;border:1px blue&amp;quot;&amp;gt;&lt;br /&gt;
AMC1&amp;gt; sf probe&lt;br /&gt;
SF: Detected w25q64cv with page size 256 Bytes, erase size 4 KiB, total 8 MiB, mapped at 30000000&lt;br /&gt;
AMC1&amp;gt; &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Erase FLASH area ===&lt;br /&gt;
 &#039;&#039;&#039;&#039;&#039;sf erase 0x120000 0x10000&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c style=&amp;quot;border:1px blue&amp;quot;&amp;gt;&lt;br /&gt;
AMC1&amp;gt; sf erase 0x120000 0x10000&lt;br /&gt;
SF: 65536 bytes @ 0x120000 Erased: OK&lt;br /&gt;
AMC1&amp;gt; &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Write DTB to serial FLASH ===&lt;br /&gt;
 &#039;&#039;&#039;&#039;&#039;sf write ${fdtaddr} 0x120000 0x10000&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c style=&amp;quot;border:1px blue&amp;quot;&amp;gt;&lt;br /&gt;
AMC1&amp;gt; sf write ${fdtaddr} 0x120000 0x10000&lt;br /&gt;
device 0 offset 0x120000, size 0x10000&lt;br /&gt;
SF: 65536 bytes @ 0x120000 Written: OK&lt;br /&gt;
AMC1&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
{{pagetop}}&lt;br /&gt;
&lt;br /&gt;
== Additional Tags ==&lt;br /&gt;
 [[Serial FLASH mapping on AMC1]]&lt;br /&gt;
 [[Serial FLASH programming via U-Boot on AMC1]]&lt;br /&gt;
 [[Network settings for U-Boot on AMC1]]&lt;br /&gt;
 [[Save Linux Kernel to serial FLASH on AMC1 via U-Boot]]&lt;br /&gt;
&lt;br /&gt;
 [[category:AMC1]]&lt;/div&gt;</summary>
		<author><name>Claus</name></author>
	</entry>
	<entry>
		<id>https://dsignt.de/support-wiki/index.php?title=Save_Linux_Kernel_to_serial_FLASH_on_AMC1_via_U-Boot&amp;diff=1396</id>
		<title>Save Linux Kernel to serial FLASH on AMC1 via U-Boot</title>
		<link rel="alternate" type="text/html" href="https://dsignt.de/support-wiki/index.php?title=Save_Linux_Kernel_to_serial_FLASH_on_AMC1_via_U-Boot&amp;diff=1396"/>
		<updated>2017-11-16T10:10:22Z</updated>

		<summary type="html">&lt;p&gt;Claus: Created page with &amp;quot;__NOINDEX__  == Load Linux Kernel == === from TFTP server === Load a Kernel image from TFTP server (correct network settings provided: Network_settings_for_U-Boot_on_AMC1#Sc...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOINDEX__&lt;br /&gt;
&lt;br /&gt;
== Load Linux Kernel ==&lt;br /&gt;
=== from TFTP server ===&lt;br /&gt;
Load a Kernel image from TFTP server (correct network settings provided: [[Network_settings_for_U-Boot_on_AMC1#Script_AMC1_NetConfig.ser|AMC1_NetConfig.ser]]):&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;&#039;&#039;tftpboot ${loadaddr} zImage-dsignt_amc1.bin&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c style=&amp;quot;border:1px blue&amp;quot;&amp;gt;&lt;br /&gt;
AMC1&amp;gt; tftpboot ${loadaddr} zImage-dsignt_amc1.bin&lt;br /&gt;
link up on port 1, speed 1000, full duplex&lt;br /&gt;
Using cpsw device&lt;br /&gt;
TFTP from server 192.168.168.208; our IP address is 192.168.168.173&lt;br /&gt;
Filename &#039;zImage-dsignt_amc1.bin&#039;.&lt;br /&gt;
Load address: 0x80200000&lt;br /&gt;
Loading: #################################################################&lt;br /&gt;
         #################################################################&lt;br /&gt;
         #################################################################&lt;br /&gt;
         #################################################################&lt;br /&gt;
         #################################################################&lt;br /&gt;
         #################################################################&lt;br /&gt;
         #################################################################&lt;br /&gt;
         #################################################################&lt;br /&gt;
         #################################################################&lt;br /&gt;
         #################################################################&lt;br /&gt;
         #################################################################&lt;br /&gt;
         ####################&lt;br /&gt;
         1 MiB/s&lt;br /&gt;
done&lt;br /&gt;
Bytes transferred = 3759704 (395e58 hex)&lt;br /&gt;
AMC1&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== from USB memory stick ===&lt;br /&gt;
==== &#039;&#039;&#039;&#039;&#039;usb start&#039;&#039;&#039;&#039;&#039; ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c style=&amp;quot;border:1px blue&amp;quot;&amp;gt;&lt;br /&gt;
MC1&amp;gt; usb start&lt;br /&gt;
starting USB...&lt;br /&gt;
USB0:   Register 2000440 NbrPorts 2&lt;br /&gt;
Starting the controller&lt;br /&gt;
USB XHCI 1.00&lt;br /&gt;
scanning bus 0 for devices... 2 USB Device(s) found&lt;br /&gt;
       scanning usb for storage devices... 1 Storage Device(s) found&lt;br /&gt;
AMC1&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== &#039;&#039;&#039;&#039;&#039;fatload usb 0:1 ${loadaddr} zImage-dsignt_amc1.bin&#039;&#039;&#039;&#039;&#039; ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c style=&amp;quot;border:1px blue&amp;quot;&amp;gt;&lt;br /&gt;
AMC1&amp;gt; fatload usb 0:1 ${loadaddr} zImage-dsignt_amc1.bin&lt;br /&gt;
reading zImage-dsignt_amc1.bin&lt;br /&gt;
3759704 bytes read in 2080 ms (1.7 MiB/s)&lt;br /&gt;
AMC1&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Save to serial FLASH ==&lt;br /&gt;
=== &#039;&#039;&#039;&#039;&#039;sf probe&#039;&#039;&#039;&#039;&#039; ===&lt;br /&gt;
First step to access the QSPI FLASH is to probe for the SF. If not yet probed, execute probe command&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c style=&amp;quot;border:1px blue&amp;quot;&amp;gt;&lt;br /&gt;
AMC1&amp;gt; sf probe&lt;br /&gt;
SF: Detected w25q64cv with page size 256 Bytes, erase size 4 KiB, total 8 MiB, mapped at 30000000&lt;br /&gt;
AMC1&amp;gt; &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Erase FLASH area ===&lt;br /&gt;
 &#039;&#039;&#039;&#039;&#039;sf erase 0x200000 0x400000&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c style=&amp;quot;border:1px blue&amp;quot;&amp;gt;&lt;br /&gt;
AMC1&amp;gt; sf erase 0x200000 0x400000&lt;br /&gt;
AMC1&amp;gt; &lt;br /&gt;
SF: 4194304 bytes @ 0x200000 Erased: OK &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Write Kernel to serial FLASH ===&lt;br /&gt;
 &#039;&#039;&#039;&#039;&#039;sf write ${loadaddr} 0x200000 0x400000&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c style=&amp;quot;border:1px blue&amp;quot;&amp;gt;&lt;br /&gt;
AMC1&amp;gt; sf write ${loadaddr} 0x200000 0x400000&lt;br /&gt;
device 0 offset 0x200000, size 0x400000&lt;br /&gt;
SF: 4194304 bytes @ 0x200000 Written: OK&lt;br /&gt;
AMC1&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
{{pagetop}}&lt;br /&gt;
&lt;br /&gt;
== Additional Tags ==&lt;br /&gt;
 [[Serial FLASH mapping on AMC1]]&lt;br /&gt;
 [[Serial FLASH programming via U-Boot on AMC1]]&lt;br /&gt;
 [[Network settings for U-Boot on AMC1]]&lt;br /&gt;
 [[Save DTB to serial FLASH on AMC1 via U-Boot]]&lt;br /&gt;
&lt;br /&gt;
 [[category:AMC1]]&lt;/div&gt;</summary>
		<author><name>Claus</name></author>
	</entry>
	<entry>
		<id>https://dsignt.de/support-wiki/index.php?title=Save_DTB_to_serial_FLASH_on_AMC1_via_U-Boot&amp;diff=1395</id>
		<title>Save DTB to serial FLASH on AMC1 via U-Boot</title>
		<link rel="alternate" type="text/html" href="https://dsignt.de/support-wiki/index.php?title=Save_DTB_to_serial_FLASH_on_AMC1_via_U-Boot&amp;diff=1395"/>
		<updated>2017-11-16T09:46:03Z</updated>

		<summary type="html">&lt;p&gt;Claus: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOINDEX__&lt;br /&gt;
&lt;br /&gt;
== Load DTB ==&lt;br /&gt;
=== from TFTP server ===&lt;br /&gt;
Load a DTB image from TFTP server (correct network settings provided: [[Network_settings_for_U-Boot_on_AMC1#Script_AMC1_NetConfig.ser|AMC1_NetConfig.ser]]):&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;&#039;&#039;tftpboot ${fdtaddr} amc1.dtb&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c style=&amp;quot;border:1px blue&amp;quot;&amp;gt;&lt;br /&gt;
AMC1&amp;gt; tftpboot ${fdtaddr} amc1.dtb&lt;br /&gt;
link up on port 1, speed 1000, full duplex&lt;br /&gt;
Using cpsw device&lt;br /&gt;
TFTP from server 192.168.168.158; our IP address is 192.168.168.203&lt;br /&gt;
Filename &#039;amc1.dtb&#039;.&lt;br /&gt;
Load address: 0x88000000&lt;br /&gt;
Loading: #########&lt;br /&gt;
         641.6 KiB/s&lt;br /&gt;
done&lt;br /&gt;
Bytes transferred = 41451 (a1eb hex)&lt;br /&gt;
AMC1&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== from USB memory stick ===&lt;br /&gt;
==== &#039;&#039;&#039;&#039;&#039;usb start&#039;&#039;&#039;&#039;&#039; ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c style=&amp;quot;border:1px blue&amp;quot;&amp;gt;&lt;br /&gt;
MC1&amp;gt; usb start&lt;br /&gt;
starting USB...&lt;br /&gt;
USB0:   Register 2000440 NbrPorts 2&lt;br /&gt;
Starting the controller&lt;br /&gt;
USB XHCI 1.00&lt;br /&gt;
scanning bus 0 for devices... 2 USB Device(s) found&lt;br /&gt;
       scanning usb for storage devices... 1 Storage Device(s) found&lt;br /&gt;
AMC1&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== &#039;&#039;&#039;&#039;&#039;fatload usb 0:1 ${fdtaddr} amc1.dtb&#039;&#039;&#039;&#039;&#039; ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c style=&amp;quot;border:1px blue&amp;quot;&amp;gt;&lt;br /&gt;
AMC1&amp;gt; fatload usb 0:1 ${fdtaddr} amc1.dtb&lt;br /&gt;
reading amc1.dtb&lt;br /&gt;
41451 bytes read in 44 ms (919.9 KiB/s)&lt;br /&gt;
AMC1&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== from serial FLASH ===&lt;br /&gt;
If a DTB was previously saved somewhere in serial FLASH (e.g as backup), this image can be loaded&lt;br /&gt;
==== &#039;&#039;&#039;&#039;&#039;sf probe&#039;&#039;&#039;&#039;&#039; ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c style=&amp;quot;border:1px blue&amp;quot;&amp;gt;&lt;br /&gt;
AMC1&amp;gt; sf probe&lt;br /&gt;
SF: Detected w25q64cv with page size 256 Bytes, erase size 4 KiB, total 8 MiB, mapped at 30000000&lt;br /&gt;
AMC1&amp;gt; &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== &#039;&#039;&#039;&#039;&#039;sf read ${fdtaddr} 0x150000 0x10000&#039;&#039;&#039;&#039;&#039; ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c style=&amp;quot;border:1px blue&amp;quot;&amp;gt;&lt;br /&gt;
AMC1&amp;gt; sf read ${fdtaddr} 0x150000 0x10000&lt;br /&gt;
device 0 offset 0x150000, size 0x10000&lt;br /&gt;
SF: 65536 bytes @ 0x150000 Read: OK&lt;br /&gt;
AMC1&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Verify DTB ==&lt;br /&gt;
configure the fdt tool to point to the fdtaddr:&lt;br /&gt;
 &#039;&#039;&#039;&#039;&#039;fdt addr ${fdtaddr}&#039;&#039;&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
If the DTB image is bad, you should get the error message:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c style=&amp;quot;border:1px blue&amp;quot;&amp;gt;&lt;br /&gt;
AMC1&amp;gt; fdt addr ${fdtaddr}&lt;br /&gt;
libfdt fdt_check_header(): FDT_ERR_BADMAGIC&lt;br /&gt;
AMC1&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In case a valid DTB is found on the address, nothing is printed and you can proceed to list more details.&lt;br /&gt;
Enter &#039;&#039;&#039;&#039;&#039;fdt header&#039;&#039;&#039;&#039;&#039; command:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c style=&amp;quot;border:1px blue&amp;quot;&amp;gt;&lt;br /&gt;
AMC1&amp;gt; fdt header&lt;br /&gt;
magic:                  0xd00dfeed&lt;br /&gt;
totalsize:              0xa1eb (41451)&lt;br /&gt;
off_dt_struct:          0x38&lt;br /&gt;
off_dt_strings:         0x9a60&lt;br /&gt;
off_mem_rsvmap:         0x28&lt;br /&gt;
version:                17&lt;br /&gt;
last_comp_version:      16&lt;br /&gt;
boot_cpuid_phys:        0x0&lt;br /&gt;
size_dt_strings:        0x78b&lt;br /&gt;
size_dt_struct:         0x9a28&lt;br /&gt;
number mem_rsv:         0x0&lt;br /&gt;
&lt;br /&gt;
AMC1&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Save to serial FLASH ==&lt;br /&gt;
=== &#039;&#039;&#039;&#039;&#039;sf probe&#039;&#039;&#039;&#039;&#039; ===&lt;br /&gt;
First step to access the QSPI FLASH is to probe for the SF. If not yet probed, execute probe command&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c style=&amp;quot;border:1px blue&amp;quot;&amp;gt;&lt;br /&gt;
AMC1&amp;gt; sf probe&lt;br /&gt;
SF: Detected w25q64cv with page size 256 Bytes, erase size 4 KiB, total 8 MiB, mapped at 30000000&lt;br /&gt;
AMC1&amp;gt; &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Erase FLASH area ===&lt;br /&gt;
 &#039;&#039;&#039;&#039;&#039;sf erase 0x120000 0x10000&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c style=&amp;quot;border:1px blue&amp;quot;&amp;gt;&lt;br /&gt;
AMC1&amp;gt; sf erase 0x120000 0x10000&lt;br /&gt;
SF: 65536 bytes @ 0x120000 Erased: OK&lt;br /&gt;
AMC1&amp;gt; &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Write DTB to serial FLASH ===&lt;br /&gt;
 &#039;&#039;&#039;&#039;&#039;sf write ${fdtaddr} 0x120000 0x10000&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c style=&amp;quot;border:1px blue&amp;quot;&amp;gt;&lt;br /&gt;
AMC1&amp;gt; sf write ${fdtaddr} 0x120000 0x10000&lt;br /&gt;
device 0 offset 0x120000, size 0x10000&lt;br /&gt;
SF: 65536 bytes @ 0x120000 Written: OK&lt;br /&gt;
AMC1&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
{{pagetop}}&lt;br /&gt;
&lt;br /&gt;
== Additional Tags ==&lt;br /&gt;
 [[Serial FLASH mapping on AMC1]]&lt;br /&gt;
 [[Serial FLASH programming via U-Boot on AMC1]]&lt;br /&gt;
 [[Network settings for U-Boot on AMC1]]&lt;br /&gt;
&lt;br /&gt;
 [[category:AMC1]]&lt;/div&gt;</summary>
		<author><name>Claus</name></author>
	</entry>
	<entry>
		<id>https://dsignt.de/support-wiki/index.php?title=Update_U-Boot_Image_via_USB_on_AMC1&amp;diff=1394</id>
		<title>Update U-Boot Image via USB on AMC1</title>
		<link rel="alternate" type="text/html" href="https://dsignt.de/support-wiki/index.php?title=Update_U-Boot_Image_via_USB_on_AMC1&amp;diff=1394"/>
		<updated>2017-11-16T09:28:19Z</updated>

		<summary type="html">&lt;p&gt;Claus: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOINDEX__&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;&#039;&#039;usb start&#039;&#039;&#039;&#039;&#039; ==&lt;br /&gt;
 &#039;&#039;&#039;&#039;&#039;usb start&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
Initialize the USB controler and enumerate all USB devices&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c style=&amp;quot;border:1px dashed blue&amp;quot;&amp;gt;&lt;br /&gt;
AMC1&amp;gt; usb start&lt;br /&gt;
starting USB...&lt;br /&gt;
USB0:   Register 2000440 NbrPorts 2&lt;br /&gt;
Starting the controller&lt;br /&gt;
USB XHCI 1.00&lt;br /&gt;
scanning bus 0 for devices... 2 USB Device(s) found&lt;br /&gt;
AMC1&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
 &#039;&#039;&#039;&#039;&#039;usb info&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
Print detailed information of enumerated devices&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c style=&amp;quot;border:1px dashed blue&amp;quot;&amp;gt;&lt;br /&gt;
AMC1&amp;gt; usb info&lt;br /&gt;
1: Hub,  USB Revision 3.0&lt;br /&gt;
 - U-Boot XHCI Host Controller&lt;br /&gt;
 - Class: Hub&lt;br /&gt;
 - PacketSize: 9  Configurations: 1&lt;br /&gt;
 - Vendor: 0x0000  Product 0x0000 Version 1.0&lt;br /&gt;
   Configuration: 1&lt;br /&gt;
   - Interfaces: 1 Self Powered 0mA&lt;br /&gt;
     Interface: 0&lt;br /&gt;
     - Alternate Setting 0, Endpoints: 1&lt;br /&gt;
     - Class Hub&lt;br /&gt;
     - Endpoint 1 In Interrupt MaxPacket 8 Interval 255ms&lt;br /&gt;
&lt;br /&gt;
2: Mass Storage,  USB Revision 2.0&lt;br /&gt;
 - USBest Technology USB Mass Storage Devie 1009135102477e&lt;br /&gt;
 - Class: (from Interface) Mass Storage&lt;br /&gt;
 - PacketSize: 64  Configurations: 1&lt;br /&gt;
 - Vendor: 0x1307  Product 0x0165 Version 1.0&lt;br /&gt;
   Configuration: 1&lt;br /&gt;
   - Interfaces: 1 Bus Powered 98mA&lt;br /&gt;
     Interface: 0&lt;br /&gt;
     - Alternate Setting 0, Endpoints: 3&lt;br /&gt;
     - Class Mass Storage, Transp. SCSI, Bulk only&lt;br /&gt;
     - Endpoint 1 Out Bulk MaxPacket 512&lt;br /&gt;
     - Endpoint 2 In Bulk MaxPacket 512&lt;br /&gt;
     - Endpoint 3 In Interrupt MaxPacket 64 Interval 8ms&lt;br /&gt;
&lt;br /&gt;
AMC1&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;&#039;&#039;fatload&#039;&#039;&#039;&#039;&#039; ==&lt;br /&gt;
 &#039;&#039;&#039;&#039;&#039;fatload usb 0 ${loadaddr} u-boot.bin&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
Load U-Boot image from USB mass storage device into RAM&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c style=&amp;quot;border:1px dashed blue&amp;quot;&amp;gt;&lt;br /&gt;
AMC1&amp;gt; fatload usb 0 ${loadaddr} u-boot.bin&lt;br /&gt;
reading u-boot.bin&lt;br /&gt;
379008 bytes read in 228 ms (1.6 MiB/s)&lt;br /&gt;
AMC1&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== write to QSPI FLASH ==&lt;br /&gt;
 &#039;&#039;&#039;&#039;&#039;sf probe&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
 &#039;&#039;&#039;&#039;&#039;sf erase 0x0 0x70000&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
 &#039;&#039;&#039;&#039;&#039;sf write ${loadaddr} 0x0 ${filesize}&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
Detect serial QSPI FLASH, erase boot sector and write new image&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c style=&amp;quot;border:1px dashed blue&amp;quot;&amp;gt;&lt;br /&gt;
AMC1&amp;gt; sf probe&lt;br /&gt;
SF: Detected w25q64cv with page size 256 Bytes, erase size 4 KiB, total 8 MiB, m&lt;br /&gt;
apped at 30000000&lt;br /&gt;
AMC1&amp;gt; sf erase 0x0 0x70000&lt;br /&gt;
SF: 458752 bytes @ 0x0 Erased: OK&lt;br /&gt;
AMC1&amp;gt; sf write ${loadaddr} 0x0 ${filesize}&lt;br /&gt;
device 0 offset 0x0, size 0x5c880&lt;br /&gt;
SF: 379008 bytes @ 0x0 Written: OK&lt;br /&gt;
AMC1&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{pagetop}}&lt;br /&gt;
&lt;br /&gt;
== Additional Tags ==&lt;br /&gt;
 [[Serial FLASH mapping on AMC1]]&lt;br /&gt;
 [[Serial FLASH programming via U-Boot on AMC1]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 [[category:AMC1]]&lt;/div&gt;</summary>
		<author><name>Claus</name></author>
	</entry>
	<entry>
		<id>https://dsignt.de/support-wiki/index.php?title=Update_U-Boot_Image_via_TFTP_on_AMC1&amp;diff=1393</id>
		<title>Update U-Boot Image via TFTP on AMC1</title>
		<link rel="alternate" type="text/html" href="https://dsignt.de/support-wiki/index.php?title=Update_U-Boot_Image_via_TFTP_on_AMC1&amp;diff=1393"/>
		<updated>2017-11-16T09:28:05Z</updated>

		<summary type="html">&lt;p&gt;Claus: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
__NOINDEX__&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Preparation ==&lt;br /&gt;
To update the U-Boot image located in serial FLASH via TFTP you need to do a proper network configuration first. Either enter all necessary environment variables manually on the U-Boot command prompt or use script [[Network_settings_for_U-Boot_on_AMC1#Script_AMC1_NetConfig.ser|AMC1_NetConfig.ser]] to make all these settings automatically.&lt;br /&gt;
&lt;br /&gt;
Required network settings:&amp;lt;br&amp;gt;&lt;br /&gt;
[[Network_settings_for_U-Boot_on_AMC1#ethaddr.2C_eth1addr|&#039;&#039;&#039;&#039;&#039;eth1addr&#039;&#039;&#039;&#039;&#039;]] - own MAC address&amp;lt;br&amp;gt;&lt;br /&gt;
    AMC1&amp;gt; setenv eth1addr c4:be:84:cb:1f:ff&lt;br /&gt;
&lt;br /&gt;
[[Network_settings_for_U-Boot_on_AMC1#ipaddr|&#039;&#039;&#039;&#039;&#039;ipaddr&#039;&#039;&#039;&#039;&#039;]] - own IP address&amp;lt;br&amp;gt;&lt;br /&gt;
    AMC1&amp;gt; setenv ipaddr 192.168.168.197&lt;br /&gt;
&lt;br /&gt;
[[Network_settings_for_U-Boot_on_AMC1#serverip|&#039;&#039;&#039;&#039;&#039;serverip&#039;&#039;&#039;&#039;&#039;]] - remote server IP&lt;br /&gt;
    AMC1&amp;gt; setenv serverip 192.168.168.158&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Load U-Boot image from TFTP server ==&lt;br /&gt;
If all network settings are correct, a new U-Boot image can be loaded from TFTP server:&lt;br /&gt;
   tftpboot ${loadaddr} u-boot.bin&lt;br /&gt;
&lt;br /&gt;
${loadaddr} is a pre-defined environment variable that specifies a free DDR RAM location for general purpose. We use it here as a temporary storage address for the TFTP transfer.&lt;br /&gt;
&lt;br /&gt;
When the TFTP transfer succeeds, each received block (512 bytes) a &#039;#&#039; is printed on the terminal else a &#039;T&#039; for timeout signals a problem connecting the server. A successful transmission can look like this (of course the IP addresses vary depending on your network configuration):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c style=&amp;quot;border:1px dashed blue&amp;quot;&amp;gt;&lt;br /&gt;
tftpboot ${loadaddr} u-boot.bin&lt;br /&gt;
link up on port 1, speed 1000, full duplex&lt;br /&gt;
Using cpsw device&lt;br /&gt;
TFTP from server 192.168.168.158; our IP address is 192.168.168.196&lt;br /&gt;
Filename &#039;u-boot.bin&#039;.&lt;br /&gt;
Load address: 0x80200000&lt;br /&gt;
Loading: #################################################################&lt;br /&gt;
         ########&lt;br /&gt;
         981.4 KiB/s&lt;br /&gt;
done&lt;br /&gt;
Bytes transferred = 368880 (5a0f0 hex)&lt;br /&gt;
AMC1&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Serial FLASH programming ==&lt;br /&gt;
=== &#039;&#039;&#039;&#039;&#039;sf probe&#039;&#039;&#039;&#039;&#039; ===&lt;br /&gt;
First check if a serial FLASH is available:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c style=&amp;quot;border:1px dashed blue&amp;quot;&amp;gt;&lt;br /&gt;
AMC1&amp;gt; sf probe&lt;br /&gt;
SF: Detected w25q64cv with page size 256 Bytes, erase size 4 KiB, total 8 MiB, m&lt;br /&gt;
apped at 30000000&lt;br /&gt;
AMC1&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=== &#039;&#039;&#039;&#039;&#039;sf erase&#039;&#039;&#039;&#039;&#039; ===&lt;br /&gt;
If the probe command finds a serial FLASH, use the erase command to clear the U-Boot FLASH area:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c style=&amp;quot;border:1px dashed blue&amp;quot;&amp;gt;&lt;br /&gt;
AMC1&amp;gt; sf erase 0x0 0x70000&lt;br /&gt;
SF: 458752 bytes @ 0x0 Erased: OK&lt;br /&gt;
AMC1&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{warning|After erasing the FLASH boot area the AMC1 will not be bootable until a new boot image is written. Don&#039;t power cycle the board now}}&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=== &#039;&#039;&#039;&#039;&#039;sf write&#039;&#039;&#039;&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c style=&amp;quot;border:1px dashed blue&amp;quot;&amp;gt;&lt;br /&gt;
AMC1&amp;gt; sf write ${loadaddr} 0x0 ${filesize}&lt;br /&gt;
device 0 offset 0x0, size 0x5a0f0&lt;br /&gt;
SF: 368880 bytes @ 0x0 Written: OK&lt;br /&gt;
AMC1&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If the new U-Boot image was successfully written to the serial FLASH, your board will be bootable again.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Script AMC1_UBootTFTPUpdate.ser ==&lt;br /&gt;
Use this script to do the above steps at once. Precondition is to run [[Network_settings_for_U-Boot_on_AMC1#Script_AMC1_NetConfig.ser|AMC1_NetConfig.ser]] first.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c style=&amp;quot;border:1px dashed blue&amp;quot;&amp;gt;&lt;br /&gt;
###################################################################//##&lt;br /&gt;
#&lt;br /&gt;
# @file       AMC1_UBootTFTPUpdate.ser&lt;br /&gt;
# @verbatim                 _         _             _&lt;br /&gt;
#                        __| |    ___(_) ____ _ __ | |_&lt;br /&gt;
#                       / _` |   / __| |/ _` | &#039;_ \| __|&lt;br /&gt;
#                      | (_| | _ \__ \ | (_| | | | | |_&lt;br /&gt;
#                       \__,_|(_) ___/_|\__, |_| |_|\__|&lt;br /&gt;
#                      Signalprocessing |___/ Technology&lt;br /&gt;
# @endverbatim&lt;br /&gt;
# @brief      U-Boot configuration script for UBoot update per TFTP&lt;br /&gt;
# @author     D.SignT GmbH &amp;amp; Co. KG, Claus Hermbusche&lt;br /&gt;
# @date       2017-09-07 12:43 PM&lt;br /&gt;
#&lt;br /&gt;
# Precondition: AMC1_NetConfig.ser must be executed first&lt;br /&gt;
#&lt;br /&gt;
# Environment variables and macros set in this script:&lt;br /&gt;
#   ubootfile       - U-Boot filename to load&lt;br /&gt;
#   tftploaduboot   - macro to execute tftpboot command&lt;br /&gt;
#   tftpupdate      - macro to execute all necessary steps&lt;br /&gt;
#   savetospi       - macro to write new U-Boot file to FLASH&lt;br /&gt;
#   cleanup         - macro to clean up environment&lt;br /&gt;
#&lt;br /&gt;
#######################################################################&lt;br /&gt;
&lt;br /&gt;
# U-Boot filename to load, please change according to your filename&lt;br /&gt;
setenv ubootfile u-boot.bin&lt;br /&gt;
&lt;br /&gt;
# macro to execute tftpboot command&lt;br /&gt;
setenv tftploaduboot &#039;tftpboot \\&amp;quot;${loadaddr}\\&amp;quot; \\&amp;quot;${ubootfile}\\&amp;quot;&#039;&lt;br /&gt;
&lt;br /&gt;
# macro to execute all necessary steps&lt;br /&gt;
setenv tftpupdate &#039;run netconf &amp;amp;&amp;amp;&lt;br /&gt;
if test -n \\&amp;quot;${serverip}\\&amp;quot;; then&lt;br /&gt;
    true;&lt;br /&gt;
else&lt;br /&gt;
    false;&lt;br /&gt;
fi &amp;amp;&amp;amp; run tftploaduboot &amp;amp;&amp;amp; run savetospi&#039;&lt;br /&gt;
&lt;br /&gt;
# macro to write new U-Boot file to FLASH&lt;br /&gt;
setenv savetospi &#039;sf probe &amp;amp;&amp;amp; sf erase 0x0 0x70000 &amp;amp;&amp;amp; sf write \\&amp;quot;${loadaddr}\\&amp;quot; 0x0 \\&amp;quot;${filesize}\\&amp;quot;&#039;&lt;br /&gt;
&lt;br /&gt;
# macro to clean up environment&lt;br /&gt;
setenv cleanup &#039;setenv ubootfile ; setenv tftploaduboot ; setenv tftpupdate ; setenv savetospi ; setenv cleanup ;&#039;&lt;br /&gt;
&lt;br /&gt;
# main script execution&lt;br /&gt;
run tftpupdate cleanup &amp;amp;&amp;amp; echo success&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{pagetop}}&lt;br /&gt;
&lt;br /&gt;
== Additional Tags ==&lt;br /&gt;
 [[Serial FLASH mapping on AMC1]]&lt;br /&gt;
 [[Network settings for U-Boot on AMC1]]&lt;br /&gt;
 [[Serial FLASH programming via U-Boot on AMC1]]&lt;br /&gt;
&lt;br /&gt;
 [[Category:AMC1]]&lt;br /&gt;
 [[category:U-Boot]]&lt;/div&gt;</summary>
		<author><name>Claus</name></author>
	</entry>
	<entry>
		<id>https://dsignt.de/support-wiki/index.php?title=Serial_FLASH_programming_via_U-Boot_on_AMC1&amp;diff=1392</id>
		<title>Serial FLASH programming via U-Boot on AMC1</title>
		<link rel="alternate" type="text/html" href="https://dsignt.de/support-wiki/index.php?title=Serial_FLASH_programming_via_U-Boot_on_AMC1&amp;diff=1392"/>
		<updated>2017-11-16T09:27:49Z</updated>

		<summary type="html">&lt;p&gt;Claus: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOINDEX__&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;&#039;&#039;sf probe&#039;&#039;&#039;&#039;&#039; ==&lt;br /&gt;
First check if a serial FLASH is available:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c style=&amp;quot;border:1px dashed blue&amp;quot;&amp;gt;&lt;br /&gt;
AMC1&amp;gt; sf probe&lt;br /&gt;
SF: Detected w25q64cv with page size 256 Bytes, erase size 4 KiB, total 8 MiB, m&lt;br /&gt;
apped at 30000000&lt;br /&gt;
AMC1&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== &#039;&#039;&#039;&#039;&#039;sf erase&#039;&#039;&#039;&#039;&#039; ==&lt;br /&gt;
If the probe command finds a serial FLASH, use the erase command to clear the U-Boot FLASH area:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c style=&amp;quot;border:1px dashed blue&amp;quot;&amp;gt;&lt;br /&gt;
AMC1&amp;gt; sf erase 0x0 0x70000&lt;br /&gt;
SF: 458752 bytes @ 0x0 Erased: OK&lt;br /&gt;
AMC1&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{warning|After erasing the FLASH boot area the AMC1 will not be bootable. Don&#039;t power cycle the board now}}&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== &#039;&#039;&#039;&#039;&#039;sf write&#039;&#039;&#039;&#039;&#039; ==&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;sf write&#039;&#039;&#039;&#039;&#039; writes a previously loaded image (see [[Update U-Boot Image via TFTP on AMC1]]) from &#039;&#039;&#039;&#039;&#039;${loadaddr}&#039;&#039;&#039;&#039;&#039; in RAM to serial FLASH at address &#039;&#039;&#039;&#039;&#039;0x0&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c style=&amp;quot;border:1px dashed blue&amp;quot;&amp;gt;&lt;br /&gt;
AMC1&amp;gt; sf write ${loadaddr} 0x0 ${filesize}&lt;br /&gt;
device 0 offset 0x0, size 0x5a0f0&lt;br /&gt;
SF: 368880 bytes @ 0x0 Written: OK&lt;br /&gt;
AMC1&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{pagetop}}&lt;br /&gt;
&lt;br /&gt;
== Additional Tags ==&lt;br /&gt;
 [[Serial FLASH mapping on AMC1]]&lt;br /&gt;
 [[Update U-Boot Image via TFTP on AMC1]]&lt;br /&gt;
 on command prompt: AMC1&amp;gt; help sf&lt;br /&gt;
&lt;br /&gt;
 [[category:AMC1]]&lt;/div&gt;</summary>
		<author><name>Claus</name></author>
	</entry>
	<entry>
		<id>https://dsignt.de/support-wiki/index.php?title=Serial_FLASH_mapping_on_AMC1&amp;diff=1391</id>
		<title>Serial FLASH mapping on AMC1</title>
		<link rel="alternate" type="text/html" href="https://dsignt.de/support-wiki/index.php?title=Serial_FLASH_mapping_on_AMC1&amp;diff=1391"/>
		<updated>2017-11-16T09:27:24Z</updated>

		<summary type="html">&lt;p&gt;Claus: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOINDEX__&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;font-weight: bold; font-style: italic;&amp;quot; | Address&lt;br /&gt;
! style=&amp;quot;font-weight: bold; font-style: italic;&amp;quot; | Description&lt;br /&gt;
! style=&amp;quot;font-weight: bold; font-style: italic;&amp;quot; | Notes&lt;br /&gt;
|-&lt;br /&gt;
| 0x000000&lt;br /&gt;
| U-Boot image&lt;br /&gt;
| required boot sector&lt;br /&gt;
|-&lt;br /&gt;
| 0x080000&lt;br /&gt;
| U-Boot image backup&lt;br /&gt;
| optional boot copy&lt;br /&gt;
|-&lt;br /&gt;
| 0x100000&lt;br /&gt;
| Environment&lt;br /&gt;
| used by &#039;&#039;&#039;&#039;&#039;saveenv&#039;&#039;&#039;&#039;&#039; command&lt;br /&gt;
|-&lt;br /&gt;
| 0x110000&lt;br /&gt;
| Environment backup&lt;br /&gt;
| optional backup of environment&lt;br /&gt;
|-&lt;br /&gt;
| 0x120000&lt;br /&gt;
| DTB&lt;br /&gt;
| optional&lt;br /&gt;
|-&lt;br /&gt;
| 0x130000&lt;br /&gt;
| free&lt;br /&gt;
| for general purpose&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| 0x200000 &amp;lt;br&amp;gt; 0x7FFFFF&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| Linux Image&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| optional Linux Image&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{pagetop}}&lt;br /&gt;
== Additional Tags ==&lt;br /&gt;
 [[Update U-Boot Image via TFTP on AMC1]]&lt;br /&gt;
 [[Update U-Boot Image via USB on AMC1]]&lt;br /&gt;
 [[Serial FLASH programming via U-Boot on AMC1]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 [[category:AMC1]]&lt;/div&gt;</summary>
		<author><name>Claus</name></author>
	</entry>
	<entry>
		<id>https://dsignt.de/support-wiki/index.php?title=Save_DTB_to_serial_FLASH_on_AMC1_via_U-Boot&amp;diff=1390</id>
		<title>Save DTB to serial FLASH on AMC1 via U-Boot</title>
		<link rel="alternate" type="text/html" href="https://dsignt.de/support-wiki/index.php?title=Save_DTB_to_serial_FLASH_on_AMC1_via_U-Boot&amp;diff=1390"/>
		<updated>2017-11-16T09:27:05Z</updated>

		<summary type="html">&lt;p&gt;Claus: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOINDEX__&lt;br /&gt;
&lt;br /&gt;
== Load DTB ==&lt;br /&gt;
=== from TFTP server ===&lt;br /&gt;
Load a DTB image from TFTP server (correct network settings provided: [[Network_settings_for_U-Boot_on_AMC1#Script_AMC1_NetConfig.ser|AMC1_NetConfig.ser]]):&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;&#039;&#039;tftpboot ${fdtaddr} amc1.dtb&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c style=&amp;quot;border:1px blue&amp;quot;&amp;gt;&lt;br /&gt;
AMC1&amp;gt; tftpboot ${fdtaddr} amc1.dtb&lt;br /&gt;
link up on port 1, speed 1000, full duplex&lt;br /&gt;
Using cpsw device&lt;br /&gt;
TFTP from server 192.168.168.158; our IP address is 192.168.168.203&lt;br /&gt;
Filename &#039;amc1.dtb&#039;.&lt;br /&gt;
Load address: 0x88000000&lt;br /&gt;
Loading: #########&lt;br /&gt;
         641.6 KiB/s&lt;br /&gt;
done&lt;br /&gt;
Bytes transferred = 41451 (a1eb hex)&lt;br /&gt;
AMC1&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== from USB memory stick ===&lt;br /&gt;
==== &#039;&#039;&#039;&#039;&#039;usb start&#039;&#039;&#039;&#039;&#039; ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c style=&amp;quot;border:1px blue&amp;quot;&amp;gt;&lt;br /&gt;
MC1&amp;gt; usb start&lt;br /&gt;
starting USB...&lt;br /&gt;
USB0:   Register 2000440 NbrPorts 2&lt;br /&gt;
Starting the controller&lt;br /&gt;
USB XHCI 1.00&lt;br /&gt;
scanning bus 0 for devices... 2 USB Device(s) found&lt;br /&gt;
       scanning usb for storage devices... 1 Storage Device(s) found&lt;br /&gt;
AMC1&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== &#039;&#039;&#039;&#039;&#039;fatload usb 0:1 ${fdtaddr} amc1.dtb&#039;&#039;&#039;&#039;&#039; ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c style=&amp;quot;border:1px blue&amp;quot;&amp;gt;&lt;br /&gt;
AMC1&amp;gt; fatload usb 0:1 ${fdtaddr} amc1.dtb&lt;br /&gt;
reading amc1.dtb&lt;br /&gt;
41451 bytes read in 44 ms (919.9 KiB/s)&lt;br /&gt;
AMC1&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== from serial FLASH ===&lt;br /&gt;
If a DTB was previously saved somewhere in serial FLASH (e.g as backup), this image can be loaded&lt;br /&gt;
==== &#039;&#039;&#039;&#039;&#039;sf probe&#039;&#039;&#039;&#039;&#039; ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c style=&amp;quot;border:1px blue&amp;quot;&amp;gt;&lt;br /&gt;
AMC1&amp;gt; sf probe&lt;br /&gt;
SF: Detected w25q64cv with page size 256 Bytes, erase size 4 KiB, total 8 MiB, m&lt;br /&gt;
apped at 30000000&lt;br /&gt;
AMC1&amp;gt; &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
==== &#039;&#039;&#039;&#039;&#039;sf read ${fdtaddr} 0x150000 0x10000&#039;&#039;&#039;&#039;&#039; ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c style=&amp;quot;border:1px blue&amp;quot;&amp;gt;&lt;br /&gt;
AMC1&amp;gt; sf read ${fdtaddr} 0x150000 0x10000&lt;br /&gt;
device 0 offset 0x150000, size 0x10000&lt;br /&gt;
SF: 65536 bytes @ 0x150000 Read: OK&lt;br /&gt;
AMC1&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Verify DTB ==&lt;br /&gt;
configure the fdt tool to point to the fdtaddr:&lt;br /&gt;
 &#039;&#039;&#039;&#039;&#039;fdt addr ${fdtaddr}&#039;&#039;&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
If the DTB image is bad, you should get the error message:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c style=&amp;quot;border:1px blue&amp;quot;&amp;gt;&lt;br /&gt;
AMC1&amp;gt; fdt addr ${fdtaddr}&lt;br /&gt;
libfdt fdt_check_header(): FDT_ERR_BADMAGIC&lt;br /&gt;
AMC1&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In case a valid DTB is found on the address, nothing is printed and you can proceed to list more details.&lt;br /&gt;
Enter &#039;&#039;&#039;&#039;&#039;fdt header&#039;&#039;&#039;&#039;&#039; command:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c style=&amp;quot;border:1px blue&amp;quot;&amp;gt;&lt;br /&gt;
AMC1&amp;gt; fdt header&lt;br /&gt;
magic:                  0xd00dfeed&lt;br /&gt;
totalsize:              0xa1eb (41451)&lt;br /&gt;
off_dt_struct:          0x38&lt;br /&gt;
off_dt_strings:         0x9a60&lt;br /&gt;
off_mem_rsvmap:         0x28&lt;br /&gt;
version:                17&lt;br /&gt;
last_comp_version:      16&lt;br /&gt;
boot_cpuid_phys:        0x0&lt;br /&gt;
size_dt_strings:        0x78b&lt;br /&gt;
size_dt_struct:         0x9a28&lt;br /&gt;
number mem_rsv:         0x0&lt;br /&gt;
&lt;br /&gt;
AMC1&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Save to serial FLASH ==&lt;br /&gt;
=== Erase FLASH area ===&lt;br /&gt;
 &#039;&#039;&#039;&#039;&#039;sf erase 0x120000 0x10000&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c style=&amp;quot;border:1px blue&amp;quot;&amp;gt;&lt;br /&gt;
AMC1&amp;gt; sf erase 0x120000 0x10000&lt;br /&gt;
SF: 65536 bytes @ 0x120000 Erased: OK&lt;br /&gt;
AMC1&amp;gt; &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Write DTB to serial FLASH ===&lt;br /&gt;
 &#039;&#039;&#039;&#039;&#039;sf write ${fdtaddr} 0x120000 0x10000&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c style=&amp;quot;border:1px blue&amp;quot;&amp;gt;&lt;br /&gt;
AMC1&amp;gt; sf write ${fdtaddr} 0x120000 0x10000&lt;br /&gt;
device 0 offset 0x120000, size 0x10000&lt;br /&gt;
SF: 65536 bytes @ 0x120000 Written: OK&lt;br /&gt;
AMC1&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
{{pagetop}}&lt;br /&gt;
&lt;br /&gt;
== Additional Tags ==&lt;br /&gt;
 [[Serial FLASH mapping on AMC1]]&lt;br /&gt;
 [[Serial FLASH programming via U-Boot on AMC1]]&lt;br /&gt;
 [[Network settings for U-Boot on AMC1]]&lt;br /&gt;
&lt;br /&gt;
 [[category:AMC1]]&lt;/div&gt;</summary>
		<author><name>Claus</name></author>
	</entry>
	<entry>
		<id>https://dsignt.de/support-wiki/index.php?title=Reset_U-Boot_environment_on_AMC1&amp;diff=1389</id>
		<title>Reset U-Boot environment on AMC1</title>
		<link rel="alternate" type="text/html" href="https://dsignt.de/support-wiki/index.php?title=Reset_U-Boot_environment_on_AMC1&amp;diff=1389"/>
		<updated>2017-11-16T09:26:51Z</updated>

		<summary type="html">&lt;p&gt;Claus: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOINDEX__&lt;br /&gt;
== Reset AMC1 U-Boot environment ==&lt;br /&gt;
    setenv resetenv &#039;env default -f -a &amp;amp;&amp;amp; saveenv &amp;amp;&amp;amp; reset&#039;&lt;br /&gt;
    run resetenv&lt;br /&gt;
&lt;br /&gt;
The script [[Reset_U-Boot_environment_on_AMC1#Script_AMC1_ClearEnvironment.ser|AMC1_ClearEnvironment.ser]] (s. below) is used to reset the AMC1 U-Boot environment. Use a serial terminal to send this script to your board. The script is executed automatically, no further commands are necessary. After the script succeeds, the AMC1 is re-bootet and you should see the following boot message:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c style=&amp;quot;border:1px blue&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;debug_uart&amp;gt;&lt;br /&gt;
&lt;br /&gt;
U-Boot 2017.01 (Aug 29 2017 - 13:35:23 +0200)&lt;br /&gt;
&lt;br /&gt;
CPU  : AM437X-GP rev 1.2&lt;br /&gt;
I2C:   ready&lt;br /&gt;
DRAM:  512 MiB&lt;br /&gt;
MMC:   OMAP SD/MMC: 0, OMAP SD/MMC: 1&lt;br /&gt;
SF: Detected w25q64cv with page size 256 Bytes, erase size 4 KiB, total 8 MiB, m&lt;br /&gt;
apped at 30000000&lt;br /&gt;
In:    serial&lt;br /&gt;
Out:   serial&lt;br /&gt;
Err:   serial&lt;br /&gt;
Net:   cpsw&lt;br /&gt;
Hit any key to stop autoboot:  0&lt;br /&gt;
========= D.SignT U-Boot first boot ==========&lt;br /&gt;
AMC1&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No further program is booted and the U-Boot command processor is waiting for configuration steps.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you enter the print environment command &#039;&#039;&#039;&#039;&#039;printenv&#039;&#039;&#039;&#039;&#039;, all factory settings will be displayed on your terminal:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c style=&amp;quot;border:1px blue&amp;quot;&amp;gt;&lt;br /&gt;
AMC1&amp;gt; printenv&lt;br /&gt;
arch=arm&lt;br /&gt;
autoconf=off&lt;br /&gt;
autoload=n&lt;br /&gt;
baudrate=115200&lt;br /&gt;
board=amc1&lt;br /&gt;
board_name=amc1&lt;br /&gt;
bootcmd=run firstboot;&lt;br /&gt;
bootdelay=2&lt;br /&gt;
bootm_size=0x20000000&lt;br /&gt;
console=ttyS2,115200n8&lt;br /&gt;
cpu=armv7&lt;br /&gt;
device=eth1&lt;br /&gt;
eth1addr=c4:be:84:cb:1f:ff&lt;br /&gt;
ethact=cpsw&lt;br /&gt;
ethaddr=c4:be:84:cb:1f:fd&lt;br /&gt;
fdt_addr_r=0x88000000&lt;br /&gt;
fdt_high=0xffffffff&lt;br /&gt;
fdtaddr=0x88000000&lt;br /&gt;
firstboot=echo ========= D.SignT U-Boot first boot ==========&lt;br /&gt;
hostname=AMC1-10004&lt;br /&gt;
kernel_addr_r=0x82000000&lt;br /&gt;
loadaddr=0x80200000&lt;br /&gt;
ramdisk_addr_r=0x88080000&lt;br /&gt;
rdaddr=0x88080000&lt;br /&gt;
soc=am33xx&lt;br /&gt;
stderr=serial&lt;br /&gt;
stdin=serial&lt;br /&gt;
stdout=serial&lt;br /&gt;
vendor=D.SignT GmbH &amp;amp; Co. KG&lt;br /&gt;
&lt;br /&gt;
Environment size: 617/65532 bytes&lt;br /&gt;
AMC1&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;{{pagetop}}&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;&#039;&#039;bootcmd&#039;&#039;&#039;&#039;&#039; ==&lt;br /&gt;
The macro &#039;&#039;&#039;&#039;&#039;bootcmd&#039;&#039;&#039;&#039;&#039; is automatically executed when the U-Boot command processor is activated after boot. After executing AMC1_ClearEnvironment.ser the &#039;&#039;&#039;&#039;&#039;bootcmd&#039;&#039;&#039;&#039;&#039; is set to execute the &#039;&#039;&#039;&#039;&#039;firstboot&#039;&#039;&#039;&#039;&#039; macro which in turn prints the &#039;&#039;&#039;&#039;&#039;========= D.SignT U-Boot first boot ==========&#039;&#039;&#039;&#039;&#039; message after booting. To change the boot behaviour, you simply need to change the &#039;&#039;&#039;&#039;&#039;bootcmd&#039;&#039;&#039;&#039;&#039; environment variable to a reasonable boot macro.&lt;br /&gt;
&lt;br /&gt;
{{pagetop}}&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Problems sending the script ==&lt;br /&gt;
You can either enter the commands by hand on your terminal or send the entire script at once via text file upload. Since the serial UART on the AMC1 uses a small cache and each command is interpreted after receiving a CR or LF immediately, it may happen that the one or the other line is broken. This may happen particularly if a long operation is in progress (e.g. a FLASH erase command). To avoid this situation all commands are usually stored as macros via &#039;&#039;&#039;&#039;&#039;setenv&#039;&#039;&#039;&#039;&#039; command and executed at the end of the script with the &#039;&#039;&#039;&#039;&#039;run&#039;&#039;&#039;&#039;&#039; command.&lt;br /&gt;
&lt;br /&gt;
If you observe such broken lines despite this, you can add some delay after sending a line in your terminal. E.g. in TeraTerm:&lt;br /&gt;
&lt;br /&gt;
[[File:TeraTermDelay.png|TeraTerm delay settings]]&lt;br /&gt;
&lt;br /&gt;
{{pagetop}}&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Script AMC1_ClearEnvironment.ser ==&lt;br /&gt;
The full script is listed here:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c style=&amp;quot;border:1px dashed blue&amp;quot;&amp;gt;&lt;br /&gt;
###################################################################//##&lt;br /&gt;
#&lt;br /&gt;
# @file       AMC1_ClearEnvironment.ser&lt;br /&gt;
# @verbatim                 _         _             _&lt;br /&gt;
#                        __| |    ___(_) ____ _ __ | |_&lt;br /&gt;
#                       / _` |   / __| |/ _` | &#039;_ \| __|&lt;br /&gt;
#                      | (_| | _ \__ \ | (_| | | | | |_&lt;br /&gt;
#                       \__,_|(_) ___/_|\__, |_| |_|\__|&lt;br /&gt;
#                      Signalprocessing |___/ Technology&lt;br /&gt;
# @endverbatim&lt;br /&gt;
# @brief      U-Boot script to clear AMC1 U-Boot environment&lt;br /&gt;
# @author     D.SignT GmbH &amp;amp; Co. KG, Claus Hermbusche&lt;br /&gt;
# @date       2017-08-29 01:42 PM&lt;br /&gt;
#&lt;br /&gt;
# This script resets and clears all U-Boot environment variables on the&lt;br /&gt;
# AMC1 to its default values and restarts the board with the clean en-&lt;br /&gt;
# vironment.&lt;br /&gt;
#&lt;br /&gt;
#!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!&lt;br /&gt;
#! Warnings:                                                          !&lt;br /&gt;
#! - your network settings will be cleared and need to be reconfigured!&lt;br /&gt;
#! - your boot settings will be cleared and need to be set            !&lt;br /&gt;
#!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!&lt;br /&gt;
#&lt;br /&gt;
# The environment space on the AMC1 is located in serial QSPI FLASH at&lt;br /&gt;
# address 0x100000 and is 0x10000 bytes large. If this script succeeds,&lt;br /&gt;
# only this specific area is erased and re-written with default values.&lt;br /&gt;
# No other space on eMMC or USB or I2C is affected.&lt;br /&gt;
#&lt;br /&gt;
# Variables after env default command:&lt;br /&gt;
#   arch=arm&lt;br /&gt;
#   autoconf=off&lt;br /&gt;
#   baudrate=115200&lt;br /&gt;
#   board=amc1&lt;br /&gt;
#   board_name=amc1&lt;br /&gt;
#   bootcmd=setenv autoload n; run nfsboot;&lt;br /&gt;
#   bootdelay=2&lt;br /&gt;
#   bootm_size=0x20000000&lt;br /&gt;
#   console=ttyS2,115200n8&lt;br /&gt;
#   cpu=armv7&lt;br /&gt;
#   device=eth1&lt;br /&gt;
#   fdt_addr_r=0x88000000&lt;br /&gt;
#   fdt_high=0xffffffff&lt;br /&gt;
#   fdtaddr=0x88000000&lt;br /&gt;
#   kernel_addr_r=0x82000000&lt;br /&gt;
#   loadaddr=0x80200000&lt;br /&gt;
#   nfsboot=echo Booting from network disabled;&lt;br /&gt;
#   ramdisk_addr_r=0x88080000&lt;br /&gt;
#   rdaddr=0x88080000&lt;br /&gt;
#   soc=am33xx&lt;br /&gt;
#   vendor=D.SignT GmbH &amp;amp; Co. KG&lt;br /&gt;
#&lt;br /&gt;
# After reset some more variables are added:&lt;br /&gt;
#   autoload=n&lt;br /&gt;
#   eth1addr=c4:be:84:cb:1f:ff       &amp;lt;- depends on chip ID&lt;br /&gt;
#   ethact=cpsw&lt;br /&gt;
#   ethaddr=c4:be:84:cb:1f:fd        &amp;lt;- depends on chip ID&lt;br /&gt;
#   hostname=AMC1-10004              &amp;lt;- depends on serial number&lt;br /&gt;
#   stderr=serial&lt;br /&gt;
#   stdin=serial&lt;br /&gt;
#   stdout=serial&lt;br /&gt;
#&lt;br /&gt;
#######################################################################&lt;br /&gt;
&lt;br /&gt;
setenv resetenv &#039;env default -f -a &amp;amp;&amp;amp; saveenv &amp;amp;&amp;amp; reset&#039;&lt;br /&gt;
run resetenv&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;{{pagetop}}&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Additional Tags ==&lt;br /&gt;
 [[Serial FLASH mapping on AMC1]]&lt;br /&gt;
 [[Serial FLASH programming via U-Boot on AMC1]]&lt;br /&gt;
 http://www.denx.de/wiki/U-Boot/TaskSetEnvironmentDefaults&lt;br /&gt;
 http://processors.wiki.ti.com/index.php/Modifying_U-boot&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 [[category:U-Boot]]&lt;br /&gt;
 [[Category:AMC1]]&lt;/div&gt;</summary>
		<author><name>Claus</name></author>
	</entry>
	<entry>
		<id>https://dsignt.de/support-wiki/index.php?title=Network_settings_for_U-Boot_on_AMC1&amp;diff=1388</id>
		<title>Network settings for U-Boot on AMC1</title>
		<link rel="alternate" type="text/html" href="https://dsignt.de/support-wiki/index.php?title=Network_settings_for_U-Boot_on_AMC1&amp;diff=1388"/>
		<updated>2017-11-16T09:26:36Z</updated>

		<summary type="html">&lt;p&gt;Claus: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOINDEX__&lt;br /&gt;
== U-Boot default network environment variables ==&lt;br /&gt;
=== &#039;&#039;&#039;&#039;&#039;ethact&#039;&#039;&#039;&#039;&#039; ===&lt;br /&gt;
Must be set to &#039;&#039;&#039;&#039;&#039;cpsw&#039;&#039;&#039;&#039;&#039; to enable the integrated switch. If this environment variable is cleared or set to anything else, the network will not be available.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;&#039;&#039;ethaddr, eth1addr&#039;&#039;&#039;&#039;&#039; ===&lt;br /&gt;
MAC address for port 0 and port 1. During boot and if environment variable [[#ethact|&#039;&#039;&#039;&#039;&#039;ethact&#039;&#039;&#039;&#039;&#039;]] is set to &#039;&#039;&#039;&#039;&#039;cpsw&#039;&#039;&#039;&#039;&#039; the chip internal MAC addresses are read and stored into these variables. If one of these variables is already set during boot, this variable will not be changed. Useful if a different MAC than the chip internal MAC address should be used (e.g a local administrated MAC starting with 02-00...).&lt;br /&gt;
&lt;br /&gt;
If a Linux is booted from U-Boot, &#039;&#039;&#039;&#039;&#039;ethaddr&#039;&#039;&#039;&#039;&#039; and &#039;&#039;&#039;&#039;&#039;eth1addr&#039;&#039;&#039;&#039;&#039; are passed to Linux.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;&#039;&#039;ipaddr&#039;&#039;&#039;&#039;&#039; ===&lt;br /&gt;
The local IP address used for all U-Boot Ethernet communication.&lt;br /&gt;
{{note|Command &#039;&#039;&#039;&#039;&#039;dhcp&#039;&#039;&#039;&#039;&#039; will set this variable automatically, if a DHCP server is available and a vaild IP address was assigned.}}&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;&#039;&#039;netmask&#039;&#039;&#039;&#039;&#039; ===&lt;br /&gt;
Local subnet mask.&lt;br /&gt;
{{note|Command &#039;&#039;&#039;&#039;&#039;dhcp&#039;&#039;&#039;&#039;&#039; will set this variable automatically, if a DHCP server is available and a vaild IP address was assigned.}}&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;&#039;&#039;gatewayip&#039;&#039;&#039;&#039;&#039; ===&lt;br /&gt;
Gateway IP address.&lt;br /&gt;
{{note|Command &#039;&#039;&#039;&#039;&#039;dhcp&#039;&#039;&#039;&#039;&#039; will set this variable automatically, if a DHCP server is available and a vaild IP address was assigned.}}&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;&#039;&#039;dnsip&#039;&#039;&#039;&#039;&#039; ===&lt;br /&gt;
DNS server IP for name resolution.&lt;br /&gt;
{{note|Command &#039;&#039;&#039;&#039;&#039;dhcp&#039;&#039;&#039;&#039;&#039; will set this variable automatically, if a DHCP server is available and a vaild IP address was assigned.}}&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;&#039;&#039;serverip&#039;&#039;&#039;&#039;&#039; ===&lt;br /&gt;
Used for &#039;&#039;&#039;&#039;&#039;tftpboot&#039;&#039;&#039;&#039;&#039; command to identify the TFTP server.&lt;br /&gt;
{{note|Command &#039;&#039;&#039;&#039;&#039;dhcp&#039;&#039;&#039;&#039;&#039; will set this variable automatically, if a DHCP server is available and a vaild IP address was assigned.}}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{warning| The &#039;&#039;&#039;&#039;&#039;dhcp&#039;&#039;&#039;&#039;&#039; command will set this variable to the DHCP server address, &#039;&#039;&#039;NOT&#039;&#039;&#039; to your desired TFTP server address. Any time a &#039;&#039;&#039;&#039;&#039;dhcp&#039;&#039;&#039;&#039;&#039; command is executed, the &#039;&#039;&#039;&#039;&#039;serverip&#039;&#039;&#039;&#039;&#039; must be corrected to match your TFTP server address.}}&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
{{pagetop}}&lt;br /&gt;
&lt;br /&gt;
== D.SignT network specific environment variables ==&lt;br /&gt;
=== &#039;&#039;&#039;&#039;&#039;ipconfig&#039;&#039;&#039;&#039;&#039; ===&lt;br /&gt;
A custom variable to distinguish a fix IP address setting from DHCP assigned addresses. Use value &#039;&#039;&#039;&#039;&#039;fix&#039;&#039;&#039;&#039;&#039; for a fixed IP address and &#039;&#039;&#039;&#039;&#039;dhcp&#039;&#039;&#039;&#039;&#039; for a dynamically assigned address.&lt;br /&gt;
&lt;br /&gt;
Used in macro [[#netconf|&#039;&#039;&#039;&#039;&#039;netconf&#039;&#039;&#039;&#039;&#039;]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;&#039;&#039;tftpservername&#039;&#039;&#039;&#039;&#039; ===&lt;br /&gt;
A optional custom variable to identify a TFTP server by its name. Requires a vaild DNS server Ip setting (s. [[#dnsip|&#039;&#039;&#039;&#039;&#039;dnsip&#039;&#039;&#039;&#039;&#039;]] above).&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;&#039;&#039;tftpserverip&#039;&#039;&#039;&#039;&#039; ===&lt;br /&gt;
If the TFTP server IP address is known and will not change, this variable can be used to identify the TFTP server. Deactivate [[#tftpservername|&#039;&#039;&#039;&#039;&#039;tftpservername&#039;&#039;&#039;&#039;&#039;]] in this case.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;&#039;&#039;nfsserverip&#039;&#039;&#039;&#039;&#039; ===&lt;br /&gt;
If the NFS server IP address is known and will not change, this variable can be used to identify the NFS server. Deactivate [[#nfsservername|&#039;&#039;&#039;&#039;&#039;nfsservername&#039;&#039;&#039;&#039;&#039;]] in this case.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
{{pagetop}}&lt;br /&gt;
&lt;br /&gt;
== D.SignT network specific macros ==&lt;br /&gt;
=== &#039;&#039;&#039;&#039;&#039;netconf&#039;&#039;&#039;&#039;&#039; ===&lt;br /&gt;
Macro &#039;&#039;&#039;&#039;&#039;netconf&#039;&#039;&#039;&#039;&#039; checks variable [[#ipconfig|&#039;&#039;&#039;&#039;&#039;ipconfig&#039;&#039;&#039;&#039;&#039;]] and performs a DHCP request if configured for DHCP. If no IP address is assigned, a warning is issued.&lt;br /&gt;
&lt;br /&gt;
If IP address assignment was successful, macros [[#settftpserver|&#039;&#039;&#039;&#039;&#039;settftpserver&#039;&#039;&#039;&#039;&#039;]] and [[#setnfsserver|&#039;&#039;&#039;&#039;&#039;setnfsserver&#039;&#039;&#039;&#039;&#039;]] are executed.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;&#039;&#039;settftpserver&#039;&#039;&#039;&#039;&#039; ===&lt;br /&gt;
When a TFTP server is identified by its name via variable [[#tftpservername|&#039;&#039;&#039;&#039;&#039;tftpservername&#039;&#039;&#039;&#039;&#039;]], this macro tries to resolve the IP address and if it succeeds variable [[#tftpserverip|&#039;&#039;&#039;&#039;&#039;tftpserverip&#039;&#039;&#039;&#039;&#039;]] is set to the resolved address. &lt;br /&gt;
Additionally when this macro succeeds environment variable [[#serverip|&#039;&#039;&#039;&#039;&#039;serverip&#039;&#039;&#039;&#039;&#039;]] is set to the resolved address and a &#039;&#039;&#039;&#039;&#039;tftpboot&#039;&#039;&#039;&#039;&#039; command should work.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;&#039;&#039;setnfsserver&#039;&#039;&#039;&#039;&#039; ===&lt;br /&gt;
When a NFS server is identified by its name via variable [[#nfsservername|&#039;&#039;&#039;&#039;&#039;nfsservername&#039;&#039;&#039;&#039;&#039;]], this macro tries to resolve the IP address and if it succeeds variable [[#nfsserverip|&#039;&#039;&#039;&#039;&#039;nfsserverip&#039;&#039;&#039;&#039;&#039;]] is set to the resolved address.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
{{pagetop}}&lt;br /&gt;
== Script AMC1_NetConfig.ser ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c style=&amp;quot;border:1px dashed blue&amp;quot;&amp;gt;&lt;br /&gt;
###################################################################//##&lt;br /&gt;
#&lt;br /&gt;
# @file       AMC1_NetConfig.ser&lt;br /&gt;
# @verbatim                 _         _             _&lt;br /&gt;
#                        __| |    ___(_) ____ _ __ | |_&lt;br /&gt;
#                       / _` |   / __| |/ _` | &#039;_ \| __|&lt;br /&gt;
#                      | (_| | _ \__ \ | (_| | | | | |_&lt;br /&gt;
#                       \__,_|(_) ___/_|\__, |_| |_|\__|&lt;br /&gt;
#                      Signalprocessing |___/ Technology&lt;br /&gt;
# @endverbatim&lt;br /&gt;
# @brief      U-Boot configuration script for network settings&lt;br /&gt;
# @author     D.SignT GmbH &amp;amp; Co. KG, Claus Hermbusche&lt;br /&gt;
# @date       2017-08-29 09:33 AM&lt;br /&gt;
#&lt;br /&gt;
# Change this script according to your network settings. It is re-&lt;br /&gt;
# commended to execute environment script AMC1_ClearEnvironment.ser to&lt;br /&gt;
# get a clean environment before.&lt;br /&gt;
#&lt;br /&gt;
#!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!&lt;br /&gt;
#! Warning:                                                           !&lt;br /&gt;
#! - your network settings will be re-set                             !&lt;br /&gt;
#! - macro bootcmd is changed to execute netconf macro after boot     !&lt;br /&gt;
#!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!&lt;br /&gt;
#&lt;br /&gt;
# Environment variables set in this script:&lt;br /&gt;
#   ipaddr          - either fix (192.168.168.77) or #dhcp&lt;br /&gt;
#   tftpservername  - TFTP server name (needs DNS resolution) or&lt;br /&gt;
#   tftpserverip    - TFTP server IP address&lt;br /&gt;
#   ipconfig        - fix or dhcp&lt;br /&gt;
#   netmask         - if IP address is fix&lt;br /&gt;
#   gatewayip       - if IP address is fix&lt;br /&gt;
#   dnsip           - if IP address is fix&lt;br /&gt;
#   settftpserver   - resolve TFTP server IP&lt;br /&gt;
#   setnfsserver    - resolve NFS server IP&lt;br /&gt;
#   autosave        - temporary variable to save environment&lt;br /&gt;
#   netconf         - macro to configure network environment&lt;br /&gt;
#   bootcmd         - is set to execute netconf&lt;br /&gt;
#&lt;br /&gt;
#######################################################################&lt;br /&gt;
&lt;br /&gt;
# set ipaddr to #dhcp if dhcp is used else enter your desired IP:&lt;br /&gt;
# setenv ipaddr 192.168.168.77&lt;br /&gt;
setenv ipaddr #dhcp&lt;br /&gt;
&lt;br /&gt;
# either set tftpservername or tftpserverip&lt;br /&gt;
setenv tftpservername sitara-sdk400&lt;br /&gt;
#setenv tftpserverip 192.168.168.158&lt;br /&gt;
&lt;br /&gt;
# either set nfsservername or nfsserverip&lt;br /&gt;
setenv nfsservername sitara-sdk400&lt;br /&gt;
#setenv nfsserverip 192.168.168.158&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# if ipaddr not configured for dhcp, set netmask and gateway manually&lt;br /&gt;
if test -n ${ipaddr}; then&lt;br /&gt;
   setenv netmask 255.255.255.0;&lt;br /&gt;
   setenv gatewayip 192.168.168.100;&lt;br /&gt;
   setenv dnsip 192.168.168.100;&lt;br /&gt;
   setenv ipconfig fix&lt;br /&gt;
else&lt;br /&gt;
   setenv ipconfig dhcp&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
setenv settftpserver &#039;&lt;br /&gt;
if test -n \\&amp;quot;${tftpservername}\\&amp;quot;; then&lt;br /&gt;
    dns \\&amp;quot;${tftpservername}\\&amp;quot; tftpserverip; true;&lt;br /&gt;
else&lt;br /&gt;
    if test -z \\&amp;quot;${tftpserverip}\\&amp;quot;; then&lt;br /&gt;
        echo TFTP server address could not be resolved; false;&lt;br /&gt;
    else&lt;br /&gt;
        true;&lt;br /&gt;
    fi;&lt;br /&gt;
fi &amp;amp;&amp;amp; setenv serverip \\&amp;quot;${tftpserverip}\\&amp;quot;&#039;&lt;br /&gt;
&lt;br /&gt;
setenv setnfsserver &#039;&lt;br /&gt;
if test -n \\&amp;quot;${nfsservername}\\&amp;quot;; then&lt;br /&gt;
    dns \\&amp;quot;${nfsservername}\\&amp;quot; nfsserverip; true;&lt;br /&gt;
else&lt;br /&gt;
    if test -z \\&amp;quot;${nfsserverip}\\&amp;quot;; then&lt;br /&gt;
        echo NFS server address could not be resolved; false;&lt;br /&gt;
    else&lt;br /&gt;
        true;&lt;br /&gt;
    fi;&lt;br /&gt;
fi &amp;amp;&amp;amp; setenv nfsserver \\&amp;quot;${nfsserverip}\\&amp;quot;&#039;&lt;br /&gt;
&lt;br /&gt;
setenv autosave &#039;setenv autosave ; setenv bootcmd run netconf; setenv firstboot ; saveenv&#039;&lt;br /&gt;
setenv netconf &#039;&lt;br /&gt;
if test \\&amp;quot;${ipconfig}\\&amp;quot; = dhcp; then&lt;br /&gt;
    dhcp;&lt;br /&gt;
elif test -z ${ipaddr}; then&lt;br /&gt;
    echo missing IP address settings; false;&lt;br /&gt;
else&lt;br /&gt;
    true;&lt;br /&gt;
fi &amp;amp;&amp;amp; run settftpserver setnfsserver&#039;&lt;br /&gt;
&lt;br /&gt;
run autosave netconf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;{{pagetop}}&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Additional Tags ==&lt;br /&gt;
 [[Reset U-Boot environment on AMC1]]&lt;br /&gt;
 [[Backup and restore U-Boot environment on AMC1]]&lt;br /&gt;
&lt;br /&gt;
 [[category:U-Boot]]&lt;br /&gt;
 [[Category:AMC1]]&lt;/div&gt;</summary>
		<author><name>Claus</name></author>
	</entry>
	<entry>
		<id>https://dsignt.de/support-wiki/index.php?title=Booting_Linux_from_TFTP_server_on_AMC1_with_RFS_on_NFS&amp;diff=1387</id>
		<title>Booting Linux from TFTP server on AMC1 with RFS on NFS</title>
		<link rel="alternate" type="text/html" href="https://dsignt.de/support-wiki/index.php?title=Booting_Linux_from_TFTP_server_on_AMC1_with_RFS_on_NFS&amp;diff=1387"/>
		<updated>2017-11-16T09:26:17Z</updated>

		<summary type="html">&lt;p&gt;Claus: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOINDEX__&lt;br /&gt;
== Preparation ==&lt;br /&gt;
To boot Linux via TFTP you need to do a proper network configuration first. Either enter all necessary environment variables manually on the U-Boot command prompt or use script [[Network_settings_for_U-Boot_on_AMC1#Script_AMC1_NetConfig.ser|AMC1_NetConfig.ser]] to make all these settings automatically.&lt;br /&gt;
&lt;br /&gt;
Required network settings:&amp;lt;br&amp;gt;&lt;br /&gt;
[[Network_settings_for_U-Boot_on_AMC1#ethaddr.2C_eth1addr|&#039;&#039;&#039;&#039;&#039;eth1addr&#039;&#039;&#039;&#039;&#039;]] - own MAC address&amp;lt;br&amp;gt;&lt;br /&gt;
    AMC1&amp;gt; setenv eth1addr c4:be:84:cb:1f:ff&lt;br /&gt;
&lt;br /&gt;
[[Network_settings_for_U-Boot_on_AMC1#ipaddr|&#039;&#039;&#039;&#039;&#039;ipaddr&#039;&#039;&#039;&#039;&#039;]] - own IP address&amp;lt;br&amp;gt;&lt;br /&gt;
    AMC1&amp;gt; setenv ipaddr 192.168.168.197&lt;br /&gt;
&lt;br /&gt;
[[Network_settings_for_U-Boot_on_AMC1#serverip|&#039;&#039;&#039;&#039;&#039;serverip&#039;&#039;&#039;&#039;&#039;]] - remote server IP&lt;br /&gt;
    AMC1&amp;gt; setenv serverip 192.168.168.158&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Load compressed Linux image from TFTP server ==&lt;br /&gt;
If all network settings are correct, a compressed Linux image can be loaded from TFTP server:&lt;br /&gt;
   &#039;&#039;&#039;&#039;&#039;tftpboot ${loadaddr} zImage-dsignt_amc1.bin&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
${loadaddr} is a pre-defined environment variable that specifies a free DDR RAM location for general purpose. We use it here as a temporary storage address for the TFTP transfer.&lt;br /&gt;
&lt;br /&gt;
When the TFTP transfer succeeds, each received block (512 bytes) a &#039;#&#039; is printed on the terminal else a &#039;T&#039; for timeout signals a problem connecting the server. A successful transmission can look like this (of course the IP addresses vary depending on your network configuration):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c style=&amp;quot;border:1px dashed blue&amp;quot;&amp;gt;&lt;br /&gt;
AMC1&amp;gt; tftpboot ${loadaddr} zImage-dsignt_amc1.bin&lt;br /&gt;
link up on port 1, speed 1000, full duplex&lt;br /&gt;
Using cpsw device&lt;br /&gt;
TFTP from server 192.168.168.158; our IP address is 192.168.168.208&lt;br /&gt;
Filename &#039;zImage-dsignt_amc1.bin&#039;.&lt;br /&gt;
Load address: 0x80200000&lt;br /&gt;
Loading: #################################################################&lt;br /&gt;
         #################################################################&lt;br /&gt;
         #################################################################&lt;br /&gt;
         #################################################################&lt;br /&gt;
         #################################################################&lt;br /&gt;
         #################################################################&lt;br /&gt;
         #################################################################&lt;br /&gt;
         #################################################################&lt;br /&gt;
         #################################################################&lt;br /&gt;
         #################################################################&lt;br /&gt;
         #############################################&lt;br /&gt;
         1.3 MiB/s&lt;br /&gt;
done&lt;br /&gt;
Bytes transferred = 3555800 (3641d8 hex)&lt;br /&gt;
AMC1&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Load DTB from TFTP server ==&lt;br /&gt;
 &#039;&#039;&#039;&#039;&#039;tftpboot ${fdtaddr} amc1.dtb&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c style=&amp;quot;border:1px dashed blue&amp;quot;&amp;gt;&lt;br /&gt;
AMC1&amp;gt; tftpboot ${fdtaddr} amc1.dtb&lt;br /&gt;
link up on port 1, speed 1000, full duplex&lt;br /&gt;
Using cpsw device&lt;br /&gt;
TFTP from server 192.168.168.158; our IP address is 192.168.168.208&lt;br /&gt;
Filename &#039;amc1.dtb&#039;.&lt;br /&gt;
Load address: 0x88000000&lt;br /&gt;
Loading: #########&lt;br /&gt;
         663.1 KiB/s&lt;br /&gt;
done&lt;br /&gt;
Bytes transferred = 41451 (a1eb hex)&lt;br /&gt;
AMC1&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Set bootargs ==&lt;br /&gt;
The global environment variable &#039;&#039;&#039;&#039;&#039;bootargs&#039;&#039;&#039;&#039;&#039; is automatically passed to the booting Linux. Make sure &#039;&#039;&#039;&#039;&#039;nfsroot&#039;&#039;&#039;&#039;&#039; points to the valid NFS path on your NFS server:&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;&#039;&#039;setenv bootargs root=/dev/nfs rw rootfstype=ext4 rootwait fixrtc  nfsroot=${serverip}:/home/sitara/ti-processor-sdk-linux-am437x-evm-04.00.00.04/targetNFS,vers=3 ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:${hostname}:${device}:${autoconf}&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In this case with installed SDK 04.00.00.04 tools on server ${serverip} the correct path is:&lt;br /&gt;
 ${serverip}:/home/sitara/ti-processor-sdk-linux-am437x-evm-04.00.00.04/targetNFS&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== boot image ==&lt;br /&gt;
Boot Linux zImage:&lt;br /&gt;
 &#039;&#039;&#039;&#039;&#039;bootz ${loadaddr} - ${fdtaddr}&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{pagetop}}&lt;br /&gt;
&lt;br /&gt;
== Additional Tags ==&lt;br /&gt;
 [[Network settings for U-Boot on AMC1]]&lt;br /&gt;
&lt;br /&gt;
 [[category:AMC1]]&lt;/div&gt;</summary>
		<author><name>Claus</name></author>
	</entry>
	<entry>
		<id>https://dsignt.de/support-wiki/index.php?title=Backup_and_restore_U-Boot_image_on_AMC1&amp;diff=1386</id>
		<title>Backup and restore U-Boot image on AMC1</title>
		<link rel="alternate" type="text/html" href="https://dsignt.de/support-wiki/index.php?title=Backup_and_restore_U-Boot_image_on_AMC1&amp;diff=1386"/>
		<updated>2017-11-16T09:26:00Z</updated>

		<summary type="html">&lt;p&gt;Claus: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOINDEX__&lt;br /&gt;
== Backup U-Boot image ==&lt;br /&gt;
Load U-Boot image to memory &lt;br /&gt;
 &#039;&#039;&#039;&#039;&#039;sf read ${loadaddr} 0x000000 0x80000&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Write to backup section&lt;br /&gt;
 &#039;&#039;&#039;&#039;&#039;sf write ${loadaddr} 0x080000 0x80000&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Restore U-Boot image ==&lt;br /&gt;
Load U-Boot image from backup section&lt;br /&gt;
 &#039;&#039;&#039;&#039;&#039;sf read ${loadaddr} 0x080000 0x80000&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Write to U-Boot boot section section&lt;br /&gt;
 &#039;&#039;&#039;&#039;&#039;sf write ${loadaddr} 0x000000 0x80000&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{{pagetop}}&lt;br /&gt;
&lt;br /&gt;
== Additional Tags ==&lt;br /&gt;
 [[Serial FLASH mapping on AMC1]]&lt;br /&gt;
 [[Serial FLASH programming via U-Boot on AMC1]]&lt;br /&gt;
&lt;br /&gt;
 [[category:AMC1]]&lt;/div&gt;</summary>
		<author><name>Claus</name></author>
	</entry>
	<entry>
		<id>https://dsignt.de/support-wiki/index.php?title=Backup_and_restore_U-Boot_environment_on_AMC1&amp;diff=1385</id>
		<title>Backup and restore U-Boot environment on AMC1</title>
		<link rel="alternate" type="text/html" href="https://dsignt.de/support-wiki/index.php?title=Backup_and_restore_U-Boot_environment_on_AMC1&amp;diff=1385"/>
		<updated>2017-11-16T09:25:42Z</updated>

		<summary type="html">&lt;p&gt;Claus: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOINDEX__&lt;br /&gt;
== Backup environment ==&lt;br /&gt;
Load environment from serial FLASH to RAM&lt;br /&gt;
 &#039;&#039;&#039;&#039;&#039;sf read ${loadaddr} 0x100000 0x10000&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Write to backup section&lt;br /&gt;
 &#039;&#039;&#039;&#039;&#039;sf erase 0x110000 0x10000&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
 &#039;&#039;&#039;&#039;&#039;sf write ${loadaddr} 0x110000 0x10000&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Restore environment ==&lt;br /&gt;
Load environment from backup section in serial FLASH to RAM&lt;br /&gt;
 &#039;&#039;&#039;&#039;&#039;sf read ${loadaddr} 0x110000 0x10000&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Write to environment section in serial FLASH&lt;br /&gt;
 &#039;&#039;&#039;&#039;&#039;sf erase 0x100000 0x10000&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
 &#039;&#039;&#039;&#039;&#039;sf write ${loadaddr} 0x100000 0x10000&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{{pagetop}}&lt;br /&gt;
&lt;br /&gt;
== Additional Tags ==&lt;br /&gt;
 [[Serial FLASH mapping on AMC1]]&lt;br /&gt;
 [[Serial FLASH programming via U-Boot on AMC1]]&lt;br /&gt;
 [[Reset U-Boot environment on AMC1]]&lt;br /&gt;
&lt;br /&gt;
 [[category:AMC1]]&lt;/div&gt;</summary>
		<author><name>Claus</name></author>
	</entry>
	<entry>
		<id>https://dsignt.de/support-wiki/index.php?title=Booting_Linux_from_TFTP_server_on_AMC1_with_RFS_on_NFS&amp;diff=1384</id>
		<title>Booting Linux from TFTP server on AMC1 with RFS on NFS</title>
		<link rel="alternate" type="text/html" href="https://dsignt.de/support-wiki/index.php?title=Booting_Linux_from_TFTP_server_on_AMC1_with_RFS_on_NFS&amp;diff=1384"/>
		<updated>2017-11-16T09:21:46Z</updated>

		<summary type="html">&lt;p&gt;Claus: Claus moved page Booting Linux from TFTP server on AMC1 to Booting Linux from TFTP server on AMC1 with RFS on NFS without leaving a redirect&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Preparation ==&lt;br /&gt;
To boot Linux via TFTP you need to do a proper network configuration first. Either enter all necessary environment variables manually on the U-Boot command prompt or use script [[Network_settings_for_U-Boot_on_AMC1#Script_AMC1_NetConfig.ser|AMC1_NetConfig.ser]] to make all these settings automatically.&lt;br /&gt;
&lt;br /&gt;
Required network settings:&amp;lt;br&amp;gt;&lt;br /&gt;
[[Network_settings_for_U-Boot_on_AMC1#ethaddr.2C_eth1addr|&#039;&#039;&#039;&#039;&#039;eth1addr&#039;&#039;&#039;&#039;&#039;]] - own MAC address&amp;lt;br&amp;gt;&lt;br /&gt;
    AMC1&amp;gt; setenv eth1addr c4:be:84:cb:1f:ff&lt;br /&gt;
&lt;br /&gt;
[[Network_settings_for_U-Boot_on_AMC1#ipaddr|&#039;&#039;&#039;&#039;&#039;ipaddr&#039;&#039;&#039;&#039;&#039;]] - own IP address&amp;lt;br&amp;gt;&lt;br /&gt;
    AMC1&amp;gt; setenv ipaddr 192.168.168.197&lt;br /&gt;
&lt;br /&gt;
[[Network_settings_for_U-Boot_on_AMC1#serverip|&#039;&#039;&#039;&#039;&#039;serverip&#039;&#039;&#039;&#039;&#039;]] - remote server IP&lt;br /&gt;
    AMC1&amp;gt; setenv serverip 192.168.168.158&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Load compressed Linux image from TFTP server ==&lt;br /&gt;
If all network settings are correct, a compressed Linux image can be loaded from TFTP server:&lt;br /&gt;
   &#039;&#039;&#039;&#039;&#039;tftpboot ${loadaddr} zImage-dsignt_amc1.bin&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
${loadaddr} is a pre-defined environment variable that specifies a free DDR RAM location for general purpose. We use it here as a temporary storage address for the TFTP transfer.&lt;br /&gt;
&lt;br /&gt;
When the TFTP transfer succeeds, each received block (512 bytes) a &#039;#&#039; is printed on the terminal else a &#039;T&#039; for timeout signals a problem connecting the server. A successful transmission can look like this (of course the IP addresses vary depending on your network configuration):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c style=&amp;quot;border:1px dashed blue&amp;quot;&amp;gt;&lt;br /&gt;
AMC1&amp;gt; tftpboot ${loadaddr} zImage-dsignt_amc1.bin&lt;br /&gt;
link up on port 1, speed 1000, full duplex&lt;br /&gt;
Using cpsw device&lt;br /&gt;
TFTP from server 192.168.168.158; our IP address is 192.168.168.208&lt;br /&gt;
Filename &#039;zImage-dsignt_amc1.bin&#039;.&lt;br /&gt;
Load address: 0x80200000&lt;br /&gt;
Loading: #################################################################&lt;br /&gt;
         #################################################################&lt;br /&gt;
         #################################################################&lt;br /&gt;
         #################################################################&lt;br /&gt;
         #################################################################&lt;br /&gt;
         #################################################################&lt;br /&gt;
         #################################################################&lt;br /&gt;
         #################################################################&lt;br /&gt;
         #################################################################&lt;br /&gt;
         #################################################################&lt;br /&gt;
         #############################################&lt;br /&gt;
         1.3 MiB/s&lt;br /&gt;
done&lt;br /&gt;
Bytes transferred = 3555800 (3641d8 hex)&lt;br /&gt;
AMC1&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Load DTB from TFTP server ==&lt;br /&gt;
 &#039;&#039;&#039;&#039;&#039;tftpboot ${fdtaddr} amc1.dtb&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c style=&amp;quot;border:1px dashed blue&amp;quot;&amp;gt;&lt;br /&gt;
AMC1&amp;gt; tftpboot ${fdtaddr} amc1.dtb&lt;br /&gt;
link up on port 1, speed 1000, full duplex&lt;br /&gt;
Using cpsw device&lt;br /&gt;
TFTP from server 192.168.168.158; our IP address is 192.168.168.208&lt;br /&gt;
Filename &#039;amc1.dtb&#039;.&lt;br /&gt;
Load address: 0x88000000&lt;br /&gt;
Loading: #########&lt;br /&gt;
         663.1 KiB/s&lt;br /&gt;
done&lt;br /&gt;
Bytes transferred = 41451 (a1eb hex)&lt;br /&gt;
AMC1&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Set bootargs ==&lt;br /&gt;
The global environment variable &#039;&#039;&#039;&#039;&#039;bootargs&#039;&#039;&#039;&#039;&#039; is automatically passed to the booting Linux. Make sure &#039;&#039;&#039;&#039;&#039;nfsroot&#039;&#039;&#039;&#039;&#039; points to the valid NFS path on your NFS server:&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;&#039;&#039;setenv bootargs root=/dev/nfs rw rootfstype=ext4 rootwait fixrtc  nfsroot=${serverip}:/home/sitara/ti-processor-sdk-linux-am437x-evm-04.00.00.04/targetNFS,vers=3 ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:${hostname}:${device}:${autoconf}&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In this case with installed SDK 04.00.00.04 tools on server ${serverip} the correct path is:&lt;br /&gt;
 ${serverip}:/home/sitara/ti-processor-sdk-linux-am437x-evm-04.00.00.04/targetNFS&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== boot image ==&lt;br /&gt;
Boot Linux zImage:&lt;br /&gt;
 &#039;&#039;&#039;&#039;&#039;bootz ${loadaddr} - ${fdtaddr}&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{pagetop}}&lt;br /&gt;
&lt;br /&gt;
== Additional Tags ==&lt;br /&gt;
 [[Network settings for U-Boot on AMC1]]&lt;br /&gt;
&lt;br /&gt;
 [[category:AMC1]]&lt;/div&gt;</summary>
		<author><name>Claus</name></author>
	</entry>
	<entry>
		<id>https://dsignt.de/support-wiki/index.php?title=Category:AMC1&amp;diff=1383</id>
		<title>Category:AMC1</title>
		<link rel="alternate" type="text/html" href="https://dsignt.de/support-wiki/index.php?title=Category:AMC1&amp;diff=1383"/>
		<updated>2017-11-15T11:43:36Z</updated>

		<summary type="html">&lt;p&gt;Claus: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__HIDDENCAT__&lt;br /&gt;
__NOINDEX__&lt;br /&gt;
&lt;br /&gt;
[[file:AMC1_main.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== TI&#039;s starting portal ==&lt;br /&gt;
http://processors.wiki.ti.com/index.php/Sitara_AM437x_Portal&lt;br /&gt;
&lt;br /&gt;
 [[category:AMC]]&lt;/div&gt;</summary>
		<author><name>Claus</name></author>
	</entry>
	<entry>
		<id>https://dsignt.de/support-wiki/index.php?title=Backup_and_restore_U-Boot_environment_on_AMC1&amp;diff=1382</id>
		<title>Backup and restore U-Boot environment on AMC1</title>
		<link rel="alternate" type="text/html" href="https://dsignt.de/support-wiki/index.php?title=Backup_and_restore_U-Boot_environment_on_AMC1&amp;diff=1382"/>
		<updated>2017-11-15T09:20:03Z</updated>

		<summary type="html">&lt;p&gt;Claus: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Backup environment ==&lt;br /&gt;
Load environment from serial FLASH to RAM&lt;br /&gt;
 &#039;&#039;&#039;&#039;&#039;sf read ${loadaddr} 0x100000 0x10000&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Write to backup section&lt;br /&gt;
 &#039;&#039;&#039;&#039;&#039;sf erase 0x110000 0x10000&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
 &#039;&#039;&#039;&#039;&#039;sf write ${loadaddr} 0x110000 0x10000&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Restore environment ==&lt;br /&gt;
Load environment from backup section in serial FLASH to RAM&lt;br /&gt;
 &#039;&#039;&#039;&#039;&#039;sf read ${loadaddr} 0x110000 0x10000&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Write to environment section in serial FLASH&lt;br /&gt;
 &#039;&#039;&#039;&#039;&#039;sf erase 0x100000 0x10000&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
 &#039;&#039;&#039;&#039;&#039;sf write ${loadaddr} 0x100000 0x10000&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{{pagetop}}&lt;br /&gt;
&lt;br /&gt;
== Additional Tags ==&lt;br /&gt;
 [[Serial FLASH mapping on AMC1]]&lt;br /&gt;
 [[Serial FLASH programming via U-Boot on AMC1]]&lt;br /&gt;
 [[Reset U-Boot environment on AMC1]]&lt;br /&gt;
&lt;br /&gt;
 [[category:AMC1]]&lt;/div&gt;</summary>
		<author><name>Claus</name></author>
	</entry>
	<entry>
		<id>https://dsignt.de/support-wiki/index.php?title=Backup_and_restore_U-Boot_environment_on_AMC1&amp;diff=1381</id>
		<title>Backup and restore U-Boot environment on AMC1</title>
		<link rel="alternate" type="text/html" href="https://dsignt.de/support-wiki/index.php?title=Backup_and_restore_U-Boot_environment_on_AMC1&amp;diff=1381"/>
		<updated>2017-11-15T09:19:40Z</updated>

		<summary type="html">&lt;p&gt;Claus: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Backup environment ==&lt;br /&gt;
Load environment from serial FLASH to RAM&lt;br /&gt;
 &#039;&#039;&#039;&#039;&#039;sf read ${loadaddr} 0x100000 0x10000&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Write to backup section&lt;br /&gt;
 &#039;&#039;&#039;&#039;&#039;sf erase 0x110000 0x10000&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
 &#039;&#039;&#039;&#039;&#039;sf write ${loadaddr} 0x110000 0x10000&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Restore environment ==&lt;br /&gt;
Load environment from backup section in serial FLASH to RAM&lt;br /&gt;
 &#039;&#039;&#039;&#039;&#039;sf read ${loadaddr} 0x110000 0x10000&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Write to environment section in serial FLASH&lt;br /&gt;
 &#039;&#039;&#039;&#039;&#039;sf erase 0x100000 0x10000&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
 &#039;&#039;&#039;&#039;&#039;sf write ${loadaddr} 0x100000 0x10000&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{{pagetop}}&lt;br /&gt;
&lt;br /&gt;
== Additional Tags ==&lt;br /&gt;
 [[Serial FLASH mapping on AMC1]]&lt;br /&gt;
 [[Serial_FLASH_programming_via_U-Boot_on_AMC1]]&lt;br /&gt;
 [[Reset U-Boot environment on AMC1]]&lt;br /&gt;
&lt;br /&gt;
 [[category:AMC1]]&lt;/div&gt;</summary>
		<author><name>Claus</name></author>
	</entry>
	<entry>
		<id>https://dsignt.de/support-wiki/index.php?title=Update_U-Boot_Image_via_USB_on_AMC1&amp;diff=1380</id>
		<title>Update U-Boot Image via USB on AMC1</title>
		<link rel="alternate" type="text/html" href="https://dsignt.de/support-wiki/index.php?title=Update_U-Boot_Image_via_USB_on_AMC1&amp;diff=1380"/>
		<updated>2017-11-15T09:16:13Z</updated>

		<summary type="html">&lt;p&gt;Claus: Created page with &amp;quot; == &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;usb start&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; ==  &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;usb start&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; Initialize the USB controler and enumerate all USB devices &amp;lt;syntaxhighlight lang=c style=&amp;quot;border:1px dashed blue&amp;quot;&amp;gt; AMC1&amp;gt; usb st...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== &#039;&#039;&#039;&#039;&#039;usb start&#039;&#039;&#039;&#039;&#039; ==&lt;br /&gt;
 &#039;&#039;&#039;&#039;&#039;usb start&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
Initialize the USB controler and enumerate all USB devices&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c style=&amp;quot;border:1px dashed blue&amp;quot;&amp;gt;&lt;br /&gt;
AMC1&amp;gt; usb start&lt;br /&gt;
starting USB...&lt;br /&gt;
USB0:   Register 2000440 NbrPorts 2&lt;br /&gt;
Starting the controller&lt;br /&gt;
USB XHCI 1.00&lt;br /&gt;
scanning bus 0 for devices... 2 USB Device(s) found&lt;br /&gt;
AMC1&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
 &#039;&#039;&#039;&#039;&#039;usb info&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
Print detailed information of enumerated devices&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c style=&amp;quot;border:1px dashed blue&amp;quot;&amp;gt;&lt;br /&gt;
AMC1&amp;gt; usb info&lt;br /&gt;
1: Hub,  USB Revision 3.0&lt;br /&gt;
 - U-Boot XHCI Host Controller&lt;br /&gt;
 - Class: Hub&lt;br /&gt;
 - PacketSize: 9  Configurations: 1&lt;br /&gt;
 - Vendor: 0x0000  Product 0x0000 Version 1.0&lt;br /&gt;
   Configuration: 1&lt;br /&gt;
   - Interfaces: 1 Self Powered 0mA&lt;br /&gt;
     Interface: 0&lt;br /&gt;
     - Alternate Setting 0, Endpoints: 1&lt;br /&gt;
     - Class Hub&lt;br /&gt;
     - Endpoint 1 In Interrupt MaxPacket 8 Interval 255ms&lt;br /&gt;
&lt;br /&gt;
2: Mass Storage,  USB Revision 2.0&lt;br /&gt;
 - USBest Technology USB Mass Storage Devie 1009135102477e&lt;br /&gt;
 - Class: (from Interface) Mass Storage&lt;br /&gt;
 - PacketSize: 64  Configurations: 1&lt;br /&gt;
 - Vendor: 0x1307  Product 0x0165 Version 1.0&lt;br /&gt;
   Configuration: 1&lt;br /&gt;
   - Interfaces: 1 Bus Powered 98mA&lt;br /&gt;
     Interface: 0&lt;br /&gt;
     - Alternate Setting 0, Endpoints: 3&lt;br /&gt;
     - Class Mass Storage, Transp. SCSI, Bulk only&lt;br /&gt;
     - Endpoint 1 Out Bulk MaxPacket 512&lt;br /&gt;
     - Endpoint 2 In Bulk MaxPacket 512&lt;br /&gt;
     - Endpoint 3 In Interrupt MaxPacket 64 Interval 8ms&lt;br /&gt;
&lt;br /&gt;
AMC1&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;&#039;&#039;fatload&#039;&#039;&#039;&#039;&#039; ==&lt;br /&gt;
 &#039;&#039;&#039;&#039;&#039;fatload usb 0 ${loadaddr} u-boot.bin&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
Load U-Boot image from USB mass storage device into RAM&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c style=&amp;quot;border:1px dashed blue&amp;quot;&amp;gt;&lt;br /&gt;
AMC1&amp;gt; fatload usb 0 ${loadaddr} u-boot.bin&lt;br /&gt;
reading u-boot.bin&lt;br /&gt;
379008 bytes read in 228 ms (1.6 MiB/s)&lt;br /&gt;
AMC1&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== write to QSPI FLASH ==&lt;br /&gt;
 &#039;&#039;&#039;&#039;&#039;sf probe&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
 &#039;&#039;&#039;&#039;&#039;sf erase 0x0 0x70000&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
 &#039;&#039;&#039;&#039;&#039;sf write ${loadaddr} 0x0 ${filesize}&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
Detect serial QSPI FLASH, erase boot sector and write new image&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c style=&amp;quot;border:1px dashed blue&amp;quot;&amp;gt;&lt;br /&gt;
AMC1&amp;gt; sf probe&lt;br /&gt;
SF: Detected w25q64cv with page size 256 Bytes, erase size 4 KiB, total 8 MiB, m&lt;br /&gt;
apped at 30000000&lt;br /&gt;
AMC1&amp;gt; sf erase 0x0 0x70000&lt;br /&gt;
SF: 458752 bytes @ 0x0 Erased: OK&lt;br /&gt;
AMC1&amp;gt; sf write ${loadaddr} 0x0 ${filesize}&lt;br /&gt;
device 0 offset 0x0, size 0x5c880&lt;br /&gt;
SF: 379008 bytes @ 0x0 Written: OK&lt;br /&gt;
AMC1&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{pagetop}}&lt;br /&gt;
&lt;br /&gt;
== Additional Tags ==&lt;br /&gt;
 [[Serial FLASH mapping on AMC1]]&lt;br /&gt;
 [[Serial FLASH programming via U-Boot on AMC1]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 [[category:AMC1]]&lt;/div&gt;</summary>
		<author><name>Claus</name></author>
	</entry>
	<entry>
		<id>https://dsignt.de/support-wiki/index.php?title=Update_U-Boot_Image_via_TFTP_on_AMC1&amp;diff=1379</id>
		<title>Update U-Boot Image via TFTP on AMC1</title>
		<link rel="alternate" type="text/html" href="https://dsignt.de/support-wiki/index.php?title=Update_U-Boot_Image_via_TFTP_on_AMC1&amp;diff=1379"/>
		<updated>2017-11-15T09:15:37Z</updated>

		<summary type="html">&lt;p&gt;Claus: Created page with &amp;quot;__TOC__ &amp;lt;br&amp;gt; == Preparation == To update the U-Boot image located in serial FLASH via TFTP you need to do a proper network configuration first. Either enter all necessary envi...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Preparation ==&lt;br /&gt;
To update the U-Boot image located in serial FLASH via TFTP you need to do a proper network configuration first. Either enter all necessary environment variables manually on the U-Boot command prompt or use script [[Network_settings_for_U-Boot_on_AMC1#Script_AMC1_NetConfig.ser|AMC1_NetConfig.ser]] to make all these settings automatically.&lt;br /&gt;
&lt;br /&gt;
Required network settings:&amp;lt;br&amp;gt;&lt;br /&gt;
[[Network_settings_for_U-Boot_on_AMC1#ethaddr.2C_eth1addr|&#039;&#039;&#039;&#039;&#039;eth1addr&#039;&#039;&#039;&#039;&#039;]] - own MAC address&amp;lt;br&amp;gt;&lt;br /&gt;
    AMC1&amp;gt; setenv eth1addr c4:be:84:cb:1f:ff&lt;br /&gt;
&lt;br /&gt;
[[Network_settings_for_U-Boot_on_AMC1#ipaddr|&#039;&#039;&#039;&#039;&#039;ipaddr&#039;&#039;&#039;&#039;&#039;]] - own IP address&amp;lt;br&amp;gt;&lt;br /&gt;
    AMC1&amp;gt; setenv ipaddr 192.168.168.197&lt;br /&gt;
&lt;br /&gt;
[[Network_settings_for_U-Boot_on_AMC1#serverip|&#039;&#039;&#039;&#039;&#039;serverip&#039;&#039;&#039;&#039;&#039;]] - remote server IP&lt;br /&gt;
    AMC1&amp;gt; setenv serverip 192.168.168.158&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Load U-Boot image from TFTP server ==&lt;br /&gt;
If all network settings are correct, a new U-Boot image can be loaded from TFTP server:&lt;br /&gt;
   tftpboot ${loadaddr} u-boot.bin&lt;br /&gt;
&lt;br /&gt;
${loadaddr} is a pre-defined environment variable that specifies a free DDR RAM location for general purpose. We use it here as a temporary storage address for the TFTP transfer.&lt;br /&gt;
&lt;br /&gt;
When the TFTP transfer succeeds, each received block (512 bytes) a &#039;#&#039; is printed on the terminal else a &#039;T&#039; for timeout signals a problem connecting the server. A successful transmission can look like this (of course the IP addresses vary depending on your network configuration):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c style=&amp;quot;border:1px dashed blue&amp;quot;&amp;gt;&lt;br /&gt;
tftpboot ${loadaddr} u-boot.bin&lt;br /&gt;
link up on port 1, speed 1000, full duplex&lt;br /&gt;
Using cpsw device&lt;br /&gt;
TFTP from server 192.168.168.158; our IP address is 192.168.168.196&lt;br /&gt;
Filename &#039;u-boot.bin&#039;.&lt;br /&gt;
Load address: 0x80200000&lt;br /&gt;
Loading: #################################################################&lt;br /&gt;
         ########&lt;br /&gt;
         981.4 KiB/s&lt;br /&gt;
done&lt;br /&gt;
Bytes transferred = 368880 (5a0f0 hex)&lt;br /&gt;
AMC1&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Serial FLASH programming ==&lt;br /&gt;
=== &#039;&#039;&#039;&#039;&#039;sf probe&#039;&#039;&#039;&#039;&#039; ===&lt;br /&gt;
First check if a serial FLASH is available:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c style=&amp;quot;border:1px dashed blue&amp;quot;&amp;gt;&lt;br /&gt;
AMC1&amp;gt; sf probe&lt;br /&gt;
SF: Detected w25q64cv with page size 256 Bytes, erase size 4 KiB, total 8 MiB, m&lt;br /&gt;
apped at 30000000&lt;br /&gt;
AMC1&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=== &#039;&#039;&#039;&#039;&#039;sf erase&#039;&#039;&#039;&#039;&#039; ===&lt;br /&gt;
If the probe command finds a serial FLASH, use the erase command to clear the U-Boot FLASH area:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c style=&amp;quot;border:1px dashed blue&amp;quot;&amp;gt;&lt;br /&gt;
AMC1&amp;gt; sf erase 0x0 0x70000&lt;br /&gt;
SF: 458752 bytes @ 0x0 Erased: OK&lt;br /&gt;
AMC1&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{warning|After erasing the FLASH boot area the AMC1 will not be bootable until a new boot image is written. Don&#039;t power cycle the board now}}&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=== &#039;&#039;&#039;&#039;&#039;sf write&#039;&#039;&#039;&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c style=&amp;quot;border:1px dashed blue&amp;quot;&amp;gt;&lt;br /&gt;
AMC1&amp;gt; sf write ${loadaddr} 0x0 ${filesize}&lt;br /&gt;
device 0 offset 0x0, size 0x5a0f0&lt;br /&gt;
SF: 368880 bytes @ 0x0 Written: OK&lt;br /&gt;
AMC1&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If the new U-Boot image was successfully written to the serial FLASH, your board will be bootable again.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Script AMC1_UBootTFTPUpdate.ser ==&lt;br /&gt;
Use this script to do the above steps at once. Precondition is to run [[Network_settings_for_U-Boot_on_AMC1#Script_AMC1_NetConfig.ser|AMC1_NetConfig.ser]] first.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c style=&amp;quot;border:1px dashed blue&amp;quot;&amp;gt;&lt;br /&gt;
###################################################################//##&lt;br /&gt;
#&lt;br /&gt;
# @file       AMC1_UBootTFTPUpdate.ser&lt;br /&gt;
# @verbatim                 _         _             _&lt;br /&gt;
#                        __| |    ___(_) ____ _ __ | |_&lt;br /&gt;
#                       / _` |   / __| |/ _` | &#039;_ \| __|&lt;br /&gt;
#                      | (_| | _ \__ \ | (_| | | | | |_&lt;br /&gt;
#                       \__,_|(_) ___/_|\__, |_| |_|\__|&lt;br /&gt;
#                      Signalprocessing |___/ Technology&lt;br /&gt;
# @endverbatim&lt;br /&gt;
# @brief      U-Boot configuration script for UBoot update per TFTP&lt;br /&gt;
# @author     D.SignT GmbH &amp;amp; Co. KG, Claus Hermbusche&lt;br /&gt;
# @date       2017-09-07 12:43 PM&lt;br /&gt;
#&lt;br /&gt;
# Precondition: AMC1_NetConfig.ser must be executed first&lt;br /&gt;
#&lt;br /&gt;
# Environment variables and macros set in this script:&lt;br /&gt;
#   ubootfile       - U-Boot filename to load&lt;br /&gt;
#   tftploaduboot   - macro to execute tftpboot command&lt;br /&gt;
#   tftpupdate      - macro to execute all necessary steps&lt;br /&gt;
#   savetospi       - macro to write new U-Boot file to FLASH&lt;br /&gt;
#   cleanup         - macro to clean up environment&lt;br /&gt;
#&lt;br /&gt;
#######################################################################&lt;br /&gt;
&lt;br /&gt;
# U-Boot filename to load, please change according to your filename&lt;br /&gt;
setenv ubootfile u-boot.bin&lt;br /&gt;
&lt;br /&gt;
# macro to execute tftpboot command&lt;br /&gt;
setenv tftploaduboot &#039;tftpboot \\&amp;quot;${loadaddr}\\&amp;quot; \\&amp;quot;${ubootfile}\\&amp;quot;&#039;&lt;br /&gt;
&lt;br /&gt;
# macro to execute all necessary steps&lt;br /&gt;
setenv tftpupdate &#039;run netconf &amp;amp;&amp;amp;&lt;br /&gt;
if test -n \\&amp;quot;${serverip}\\&amp;quot;; then&lt;br /&gt;
    true;&lt;br /&gt;
else&lt;br /&gt;
    false;&lt;br /&gt;
fi &amp;amp;&amp;amp; run tftploaduboot &amp;amp;&amp;amp; run savetospi&#039;&lt;br /&gt;
&lt;br /&gt;
# macro to write new U-Boot file to FLASH&lt;br /&gt;
setenv savetospi &#039;sf probe &amp;amp;&amp;amp; sf erase 0x0 0x70000 &amp;amp;&amp;amp; sf write \\&amp;quot;${loadaddr}\\&amp;quot; 0x0 \\&amp;quot;${filesize}\\&amp;quot;&#039;&lt;br /&gt;
&lt;br /&gt;
# macro to clean up environment&lt;br /&gt;
setenv cleanup &#039;setenv ubootfile ; setenv tftploaduboot ; setenv tftpupdate ; setenv savetospi ; setenv cleanup ;&#039;&lt;br /&gt;
&lt;br /&gt;
# main script execution&lt;br /&gt;
run tftpupdate cleanup &amp;amp;&amp;amp; echo success&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{pagetop}}&lt;br /&gt;
&lt;br /&gt;
== Additional Tags ==&lt;br /&gt;
 [[Serial FLASH mapping on AMC1]]&lt;br /&gt;
 [[Network settings for U-Boot on AMC1]]&lt;br /&gt;
 [[Serial FLASH programming via U-Boot on AMC1]]&lt;br /&gt;
&lt;br /&gt;
 [[Category:AMC1]]&lt;br /&gt;
 [[category:U-Boot]]&lt;/div&gt;</summary>
		<author><name>Claus</name></author>
	</entry>
	<entry>
		<id>https://dsignt.de/support-wiki/index.php?title=Serial_FLASH_programming_via_U-Boot_on_AMC1&amp;diff=1378</id>
		<title>Serial FLASH programming via U-Boot on AMC1</title>
		<link rel="alternate" type="text/html" href="https://dsignt.de/support-wiki/index.php?title=Serial_FLASH_programming_via_U-Boot_on_AMC1&amp;diff=1378"/>
		<updated>2017-11-15T09:14:42Z</updated>

		<summary type="html">&lt;p&gt;Claus: Created page with &amp;quot;== &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;sf probe&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; == First check if a serial FLASH is available:  &amp;lt;syntaxhighlight lang=c style=&amp;quot;border:1px dashed blue&amp;quot;&amp;gt; AMC1&amp;gt; sf probe SF: Detected w25q64cv with page si...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== &#039;&#039;&#039;&#039;&#039;sf probe&#039;&#039;&#039;&#039;&#039; ==&lt;br /&gt;
First check if a serial FLASH is available:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c style=&amp;quot;border:1px dashed blue&amp;quot;&amp;gt;&lt;br /&gt;
AMC1&amp;gt; sf probe&lt;br /&gt;
SF: Detected w25q64cv with page size 256 Bytes, erase size 4 KiB, total 8 MiB, m&lt;br /&gt;
apped at 30000000&lt;br /&gt;
AMC1&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== &#039;&#039;&#039;&#039;&#039;sf erase&#039;&#039;&#039;&#039;&#039; ==&lt;br /&gt;
If the probe command finds a serial FLASH, use the erase command to clear the U-Boot FLASH area:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c style=&amp;quot;border:1px dashed blue&amp;quot;&amp;gt;&lt;br /&gt;
AMC1&amp;gt; sf erase 0x0 0x70000&lt;br /&gt;
SF: 458752 bytes @ 0x0 Erased: OK&lt;br /&gt;
AMC1&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{warning|After erasing the FLASH boot area the AMC1 will not be bootable. Don&#039;t power cycle the board now}}&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== &#039;&#039;&#039;&#039;&#039;sf write&#039;&#039;&#039;&#039;&#039; ==&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;sf write&#039;&#039;&#039;&#039;&#039; writes a previously loaded image (see [[Update U-Boot Image via TFTP on AMC1]]) from &#039;&#039;&#039;&#039;&#039;${loadaddr}&#039;&#039;&#039;&#039;&#039; in RAM to serial FLASH at address &#039;&#039;&#039;&#039;&#039;0x0&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c style=&amp;quot;border:1px dashed blue&amp;quot;&amp;gt;&lt;br /&gt;
AMC1&amp;gt; sf write ${loadaddr} 0x0 ${filesize}&lt;br /&gt;
device 0 offset 0x0, size 0x5a0f0&lt;br /&gt;
SF: 368880 bytes @ 0x0 Written: OK&lt;br /&gt;
AMC1&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{pagetop}}&lt;br /&gt;
&lt;br /&gt;
== Additional Tags ==&lt;br /&gt;
 [[Serial FLASH mapping on AMC1]]&lt;br /&gt;
 [[Update U-Boot Image via TFTP on AMC1]]&lt;br /&gt;
 on command prompt: AMC1&amp;gt; help sf&lt;br /&gt;
&lt;br /&gt;
 [[category:AMC1]]&lt;/div&gt;</summary>
		<author><name>Claus</name></author>
	</entry>
	<entry>
		<id>https://dsignt.de/support-wiki/index.php?title=Save_DTB_to_serial_FLASH_on_AMC1_via_U-Boot&amp;diff=1377</id>
		<title>Save DTB to serial FLASH on AMC1 via U-Boot</title>
		<link rel="alternate" type="text/html" href="https://dsignt.de/support-wiki/index.php?title=Save_DTB_to_serial_FLASH_on_AMC1_via_U-Boot&amp;diff=1377"/>
		<updated>2017-11-15T09:13:50Z</updated>

		<summary type="html">&lt;p&gt;Claus: Created page with &amp;quot; == Load DTB == === from TFTP server === Load a DTB image from TFTP server (correct network settings provided: Network_settings_for_U-Boot_on_AMC1#Script_AMC1_NetConfig.ser|...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Load DTB ==&lt;br /&gt;
=== from TFTP server ===&lt;br /&gt;
Load a DTB image from TFTP server (correct network settings provided: [[Network_settings_for_U-Boot_on_AMC1#Script_AMC1_NetConfig.ser|AMC1_NetConfig.ser]]):&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;&#039;&#039;tftpboot ${fdtaddr} amc1.dtb&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c style=&amp;quot;border:1px blue&amp;quot;&amp;gt;&lt;br /&gt;
AMC1&amp;gt; tftpboot ${fdtaddr} amc1.dtb&lt;br /&gt;
link up on port 1, speed 1000, full duplex&lt;br /&gt;
Using cpsw device&lt;br /&gt;
TFTP from server 192.168.168.158; our IP address is 192.168.168.203&lt;br /&gt;
Filename &#039;amc1.dtb&#039;.&lt;br /&gt;
Load address: 0x88000000&lt;br /&gt;
Loading: #########&lt;br /&gt;
         641.6 KiB/s&lt;br /&gt;
done&lt;br /&gt;
Bytes transferred = 41451 (a1eb hex)&lt;br /&gt;
AMC1&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== from USB memory stick ===&lt;br /&gt;
==== &#039;&#039;&#039;&#039;&#039;usb start&#039;&#039;&#039;&#039;&#039; ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c style=&amp;quot;border:1px blue&amp;quot;&amp;gt;&lt;br /&gt;
MC1&amp;gt; usb start&lt;br /&gt;
starting USB...&lt;br /&gt;
USB0:   Register 2000440 NbrPorts 2&lt;br /&gt;
Starting the controller&lt;br /&gt;
USB XHCI 1.00&lt;br /&gt;
scanning bus 0 for devices... 2 USB Device(s) found&lt;br /&gt;
       scanning usb for storage devices... 1 Storage Device(s) found&lt;br /&gt;
AMC1&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== &#039;&#039;&#039;&#039;&#039;fatload usb 0:1 ${fdtaddr} amc1.dtb&#039;&#039;&#039;&#039;&#039; ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c style=&amp;quot;border:1px blue&amp;quot;&amp;gt;&lt;br /&gt;
AMC1&amp;gt; fatload usb 0:1 ${fdtaddr} amc1.dtb&lt;br /&gt;
reading amc1.dtb&lt;br /&gt;
41451 bytes read in 44 ms (919.9 KiB/s)&lt;br /&gt;
AMC1&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== from serial FLASH ===&lt;br /&gt;
If a DTB was previously saved somewhere in serial FLASH (e.g as backup), this image can be loaded&lt;br /&gt;
==== &#039;&#039;&#039;&#039;&#039;sf probe&#039;&#039;&#039;&#039;&#039; ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c style=&amp;quot;border:1px blue&amp;quot;&amp;gt;&lt;br /&gt;
AMC1&amp;gt; sf probe&lt;br /&gt;
SF: Detected w25q64cv with page size 256 Bytes, erase size 4 KiB, total 8 MiB, m&lt;br /&gt;
apped at 30000000&lt;br /&gt;
AMC1&amp;gt; &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
==== &#039;&#039;&#039;&#039;&#039;sf read ${fdtaddr} 0x150000 0x10000&#039;&#039;&#039;&#039;&#039; ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c style=&amp;quot;border:1px blue&amp;quot;&amp;gt;&lt;br /&gt;
AMC1&amp;gt; sf read ${fdtaddr} 0x150000 0x10000&lt;br /&gt;
device 0 offset 0x150000, size 0x10000&lt;br /&gt;
SF: 65536 bytes @ 0x150000 Read: OK&lt;br /&gt;
AMC1&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Verify DTB ==&lt;br /&gt;
configure the fdt tool to point to the fdtaddr:&lt;br /&gt;
 &#039;&#039;&#039;&#039;&#039;fdt addr ${fdtaddr}&#039;&#039;&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
If the DTB image is bad, you should get the error message:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c style=&amp;quot;border:1px blue&amp;quot;&amp;gt;&lt;br /&gt;
AMC1&amp;gt; fdt addr ${fdtaddr}&lt;br /&gt;
libfdt fdt_check_header(): FDT_ERR_BADMAGIC&lt;br /&gt;
AMC1&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In case a valid DTB is found on the address, nothing is printed and you can proceed to list more details.&lt;br /&gt;
Enter &#039;&#039;&#039;&#039;&#039;fdt header&#039;&#039;&#039;&#039;&#039; command:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c style=&amp;quot;border:1px blue&amp;quot;&amp;gt;&lt;br /&gt;
AMC1&amp;gt; fdt header&lt;br /&gt;
magic:                  0xd00dfeed&lt;br /&gt;
totalsize:              0xa1eb (41451)&lt;br /&gt;
off_dt_struct:          0x38&lt;br /&gt;
off_dt_strings:         0x9a60&lt;br /&gt;
off_mem_rsvmap:         0x28&lt;br /&gt;
version:                17&lt;br /&gt;
last_comp_version:      16&lt;br /&gt;
boot_cpuid_phys:        0x0&lt;br /&gt;
size_dt_strings:        0x78b&lt;br /&gt;
size_dt_struct:         0x9a28&lt;br /&gt;
number mem_rsv:         0x0&lt;br /&gt;
&lt;br /&gt;
AMC1&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Save to serial FLASH ==&lt;br /&gt;
=== Erase FLASH area ===&lt;br /&gt;
 &#039;&#039;&#039;&#039;&#039;sf erase 0x120000 0x10000&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c style=&amp;quot;border:1px blue&amp;quot;&amp;gt;&lt;br /&gt;
AMC1&amp;gt; sf erase 0x120000 0x10000&lt;br /&gt;
SF: 65536 bytes @ 0x120000 Erased: OK&lt;br /&gt;
AMC1&amp;gt; &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Write DTB to serial FLASH ===&lt;br /&gt;
 &#039;&#039;&#039;&#039;&#039;sf write ${fdtaddr} 0x120000 0x10000&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c style=&amp;quot;border:1px blue&amp;quot;&amp;gt;&lt;br /&gt;
AMC1&amp;gt; sf write ${fdtaddr} 0x120000 0x10000&lt;br /&gt;
device 0 offset 0x120000, size 0x10000&lt;br /&gt;
SF: 65536 bytes @ 0x120000 Written: OK&lt;br /&gt;
AMC1&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
{{pagetop}}&lt;br /&gt;
&lt;br /&gt;
== Additional Tags ==&lt;br /&gt;
 [[Serial FLASH mapping on AMC1]]&lt;br /&gt;
 [[Serial FLASH programming via U-Boot on AMC1]]&lt;br /&gt;
 [[Network settings for U-Boot on AMC1]]&lt;br /&gt;
&lt;br /&gt;
 [[category:AMC1]]&lt;/div&gt;</summary>
		<author><name>Claus</name></author>
	</entry>
	<entry>
		<id>https://dsignt.de/support-wiki/index.php?title=Network_settings_for_U-Boot_on_AMC1&amp;diff=1376</id>
		<title>Network settings for U-Boot on AMC1</title>
		<link rel="alternate" type="text/html" href="https://dsignt.de/support-wiki/index.php?title=Network_settings_for_U-Boot_on_AMC1&amp;diff=1376"/>
		<updated>2017-11-15T09:13:05Z</updated>

		<summary type="html">&lt;p&gt;Claus: Created page with &amp;quot;== U-Boot default network environment variables == === &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;ethact&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; === Must be set to &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;cpsw&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; to enable the integrated switch. If this environment variable is clea...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== U-Boot default network environment variables ==&lt;br /&gt;
=== &#039;&#039;&#039;&#039;&#039;ethact&#039;&#039;&#039;&#039;&#039; ===&lt;br /&gt;
Must be set to &#039;&#039;&#039;&#039;&#039;cpsw&#039;&#039;&#039;&#039;&#039; to enable the integrated switch. If this environment variable is cleared or set to anything else, the network will not be available.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;&#039;&#039;ethaddr, eth1addr&#039;&#039;&#039;&#039;&#039; ===&lt;br /&gt;
MAC address for port 0 and port 1. During boot and if environment variable [[#ethact|&#039;&#039;&#039;&#039;&#039;ethact&#039;&#039;&#039;&#039;&#039;]] is set to &#039;&#039;&#039;&#039;&#039;cpsw&#039;&#039;&#039;&#039;&#039; the chip internal MAC addresses are read and stored into these variables. If one of these variables is already set during boot, this variable will not be changed. Useful if a different MAC than the chip internal MAC address should be used (e.g a local administrated MAC starting with 02-00...).&lt;br /&gt;
&lt;br /&gt;
If a Linux is booted from U-Boot, &#039;&#039;&#039;&#039;&#039;ethaddr&#039;&#039;&#039;&#039;&#039; and &#039;&#039;&#039;&#039;&#039;eth1addr&#039;&#039;&#039;&#039;&#039; are passed to Linux.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;&#039;&#039;ipaddr&#039;&#039;&#039;&#039;&#039; ===&lt;br /&gt;
The local IP address used for all U-Boot Ethernet communication.&lt;br /&gt;
{{note|Command &#039;&#039;&#039;&#039;&#039;dhcp&#039;&#039;&#039;&#039;&#039; will set this variable automatically, if a DHCP server is available and a vaild IP address was assigned.}}&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;&#039;&#039;netmask&#039;&#039;&#039;&#039;&#039; ===&lt;br /&gt;
Local subnet mask.&lt;br /&gt;
{{note|Command &#039;&#039;&#039;&#039;&#039;dhcp&#039;&#039;&#039;&#039;&#039; will set this variable automatically, if a DHCP server is available and a vaild IP address was assigned.}}&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;&#039;&#039;gatewayip&#039;&#039;&#039;&#039;&#039; ===&lt;br /&gt;
Gateway IP address.&lt;br /&gt;
{{note|Command &#039;&#039;&#039;&#039;&#039;dhcp&#039;&#039;&#039;&#039;&#039; will set this variable automatically, if a DHCP server is available and a vaild IP address was assigned.}}&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;&#039;&#039;dnsip&#039;&#039;&#039;&#039;&#039; ===&lt;br /&gt;
DNS server IP for name resolution.&lt;br /&gt;
{{note|Command &#039;&#039;&#039;&#039;&#039;dhcp&#039;&#039;&#039;&#039;&#039; will set this variable automatically, if a DHCP server is available and a vaild IP address was assigned.}}&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;&#039;&#039;serverip&#039;&#039;&#039;&#039;&#039; ===&lt;br /&gt;
Used for &#039;&#039;&#039;&#039;&#039;tftpboot&#039;&#039;&#039;&#039;&#039; command to identify the TFTP server.&lt;br /&gt;
{{note|Command &#039;&#039;&#039;&#039;&#039;dhcp&#039;&#039;&#039;&#039;&#039; will set this variable automatically, if a DHCP server is available and a vaild IP address was assigned.}}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{warning| The &#039;&#039;&#039;&#039;&#039;dhcp&#039;&#039;&#039;&#039;&#039; command will set this variable to the DHCP server address, &#039;&#039;&#039;NOT&#039;&#039;&#039; to your desired TFTP server address. Any time a &#039;&#039;&#039;&#039;&#039;dhcp&#039;&#039;&#039;&#039;&#039; command is executed, the &#039;&#039;&#039;&#039;&#039;serverip&#039;&#039;&#039;&#039;&#039; must be corrected to match your TFTP server address.}}&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
{{pagetop}}&lt;br /&gt;
&lt;br /&gt;
== D.SignT network specific environment variables ==&lt;br /&gt;
=== &#039;&#039;&#039;&#039;&#039;ipconfig&#039;&#039;&#039;&#039;&#039; ===&lt;br /&gt;
A custom variable to distinguish a fix IP address setting from DHCP assigned addresses. Use value &#039;&#039;&#039;&#039;&#039;fix&#039;&#039;&#039;&#039;&#039; for a fixed IP address and &#039;&#039;&#039;&#039;&#039;dhcp&#039;&#039;&#039;&#039;&#039; for a dynamically assigned address.&lt;br /&gt;
&lt;br /&gt;
Used in macro [[#netconf|&#039;&#039;&#039;&#039;&#039;netconf&#039;&#039;&#039;&#039;&#039;]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;&#039;&#039;tftpservername&#039;&#039;&#039;&#039;&#039; ===&lt;br /&gt;
A optional custom variable to identify a TFTP server by its name. Requires a vaild DNS server Ip setting (s. [[#dnsip|&#039;&#039;&#039;&#039;&#039;dnsip&#039;&#039;&#039;&#039;&#039;]] above).&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;&#039;&#039;tftpserverip&#039;&#039;&#039;&#039;&#039; ===&lt;br /&gt;
If the TFTP server IP address is known and will not change, this variable can be used to identify the TFTP server. Deactivate [[#tftpservername|&#039;&#039;&#039;&#039;&#039;tftpservername&#039;&#039;&#039;&#039;&#039;]] in this case.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;&#039;&#039;nfsserverip&#039;&#039;&#039;&#039;&#039; ===&lt;br /&gt;
If the NFS server IP address is known and will not change, this variable can be used to identify the NFS server. Deactivate [[#nfsservername|&#039;&#039;&#039;&#039;&#039;nfsservername&#039;&#039;&#039;&#039;&#039;]] in this case.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
{{pagetop}}&lt;br /&gt;
&lt;br /&gt;
== D.SignT network specific macros ==&lt;br /&gt;
=== &#039;&#039;&#039;&#039;&#039;netconf&#039;&#039;&#039;&#039;&#039; ===&lt;br /&gt;
Macro &#039;&#039;&#039;&#039;&#039;netconf&#039;&#039;&#039;&#039;&#039; checks variable [[#ipconfig|&#039;&#039;&#039;&#039;&#039;ipconfig&#039;&#039;&#039;&#039;&#039;]] and performs a DHCP request if configured for DHCP. If no IP address is assigned, a warning is issued.&lt;br /&gt;
&lt;br /&gt;
If IP address assignment was successful, macros [[#settftpserver|&#039;&#039;&#039;&#039;&#039;settftpserver&#039;&#039;&#039;&#039;&#039;]] and [[#setnfsserver|&#039;&#039;&#039;&#039;&#039;setnfsserver&#039;&#039;&#039;&#039;&#039;]] are executed.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;&#039;&#039;settftpserver&#039;&#039;&#039;&#039;&#039; ===&lt;br /&gt;
When a TFTP server is identified by its name via variable [[#tftpservername|&#039;&#039;&#039;&#039;&#039;tftpservername&#039;&#039;&#039;&#039;&#039;]], this macro tries to resolve the IP address and if it succeeds variable [[#tftpserverip|&#039;&#039;&#039;&#039;&#039;tftpserverip&#039;&#039;&#039;&#039;&#039;]] is set to the resolved address. &lt;br /&gt;
Additionally when this macro succeeds environment variable [[#serverip|&#039;&#039;&#039;&#039;&#039;serverip&#039;&#039;&#039;&#039;&#039;]] is set to the resolved address and a &#039;&#039;&#039;&#039;&#039;tftpboot&#039;&#039;&#039;&#039;&#039; command should work.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;&#039;&#039;setnfsserver&#039;&#039;&#039;&#039;&#039; ===&lt;br /&gt;
When a NFS server is identified by its name via variable [[#nfsservername|&#039;&#039;&#039;&#039;&#039;nfsservername&#039;&#039;&#039;&#039;&#039;]], this macro tries to resolve the IP address and if it succeeds variable [[#nfsserverip|&#039;&#039;&#039;&#039;&#039;nfsserverip&#039;&#039;&#039;&#039;&#039;]] is set to the resolved address.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
{{pagetop}}&lt;br /&gt;
== Script AMC1_NetConfig.ser ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c style=&amp;quot;border:1px dashed blue&amp;quot;&amp;gt;&lt;br /&gt;
###################################################################//##&lt;br /&gt;
#&lt;br /&gt;
# @file       AMC1_NetConfig.ser&lt;br /&gt;
# @verbatim                 _         _             _&lt;br /&gt;
#                        __| |    ___(_) ____ _ __ | |_&lt;br /&gt;
#                       / _` |   / __| |/ _` | &#039;_ \| __|&lt;br /&gt;
#                      | (_| | _ \__ \ | (_| | | | | |_&lt;br /&gt;
#                       \__,_|(_) ___/_|\__, |_| |_|\__|&lt;br /&gt;
#                      Signalprocessing |___/ Technology&lt;br /&gt;
# @endverbatim&lt;br /&gt;
# @brief      U-Boot configuration script for network settings&lt;br /&gt;
# @author     D.SignT GmbH &amp;amp; Co. KG, Claus Hermbusche&lt;br /&gt;
# @date       2017-08-29 09:33 AM&lt;br /&gt;
#&lt;br /&gt;
# Change this script according to your network settings. It is re-&lt;br /&gt;
# commended to execute environment script AMC1_ClearEnvironment.ser to&lt;br /&gt;
# get a clean environment before.&lt;br /&gt;
#&lt;br /&gt;
#!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!&lt;br /&gt;
#! Warning:                                                           !&lt;br /&gt;
#! - your network settings will be re-set                             !&lt;br /&gt;
#! - macro bootcmd is changed to execute netconf macro after boot     !&lt;br /&gt;
#!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!&lt;br /&gt;
#&lt;br /&gt;
# Environment variables set in this script:&lt;br /&gt;
#   ipaddr          - either fix (192.168.168.77) or #dhcp&lt;br /&gt;
#   tftpservername  - TFTP server name (needs DNS resolution) or&lt;br /&gt;
#   tftpserverip    - TFTP server IP address&lt;br /&gt;
#   ipconfig        - fix or dhcp&lt;br /&gt;
#   netmask         - if IP address is fix&lt;br /&gt;
#   gatewayip       - if IP address is fix&lt;br /&gt;
#   dnsip           - if IP address is fix&lt;br /&gt;
#   settftpserver   - resolve TFTP server IP&lt;br /&gt;
#   setnfsserver    - resolve NFS server IP&lt;br /&gt;
#   autosave        - temporary variable to save environment&lt;br /&gt;
#   netconf         - macro to configure network environment&lt;br /&gt;
#   bootcmd         - is set to execute netconf&lt;br /&gt;
#&lt;br /&gt;
#######################################################################&lt;br /&gt;
&lt;br /&gt;
# set ipaddr to #dhcp if dhcp is used else enter your desired IP:&lt;br /&gt;
# setenv ipaddr 192.168.168.77&lt;br /&gt;
setenv ipaddr #dhcp&lt;br /&gt;
&lt;br /&gt;
# either set tftpservername or tftpserverip&lt;br /&gt;
setenv tftpservername sitara-sdk400&lt;br /&gt;
#setenv tftpserverip 192.168.168.158&lt;br /&gt;
&lt;br /&gt;
# either set nfsservername or nfsserverip&lt;br /&gt;
setenv nfsservername sitara-sdk400&lt;br /&gt;
#setenv nfsserverip 192.168.168.158&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# if ipaddr not configured for dhcp, set netmask and gateway manually&lt;br /&gt;
if test -n ${ipaddr}; then&lt;br /&gt;
   setenv netmask 255.255.255.0;&lt;br /&gt;
   setenv gatewayip 192.168.168.100;&lt;br /&gt;
   setenv dnsip 192.168.168.100;&lt;br /&gt;
   setenv ipconfig fix&lt;br /&gt;
else&lt;br /&gt;
   setenv ipconfig dhcp&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
setenv settftpserver &#039;&lt;br /&gt;
if test -n \\&amp;quot;${tftpservername}\\&amp;quot;; then&lt;br /&gt;
    dns \\&amp;quot;${tftpservername}\\&amp;quot; tftpserverip; true;&lt;br /&gt;
else&lt;br /&gt;
    if test -z \\&amp;quot;${tftpserverip}\\&amp;quot;; then&lt;br /&gt;
        echo TFTP server address could not be resolved; false;&lt;br /&gt;
    else&lt;br /&gt;
        true;&lt;br /&gt;
    fi;&lt;br /&gt;
fi &amp;amp;&amp;amp; setenv serverip \\&amp;quot;${tftpserverip}\\&amp;quot;&#039;&lt;br /&gt;
&lt;br /&gt;
setenv setnfsserver &#039;&lt;br /&gt;
if test -n \\&amp;quot;${nfsservername}\\&amp;quot;; then&lt;br /&gt;
    dns \\&amp;quot;${nfsservername}\\&amp;quot; nfsserverip; true;&lt;br /&gt;
else&lt;br /&gt;
    if test -z \\&amp;quot;${nfsserverip}\\&amp;quot;; then&lt;br /&gt;
        echo NFS server address could not be resolved; false;&lt;br /&gt;
    else&lt;br /&gt;
        true;&lt;br /&gt;
    fi;&lt;br /&gt;
fi &amp;amp;&amp;amp; setenv nfsserver \\&amp;quot;${nfsserverip}\\&amp;quot;&#039;&lt;br /&gt;
&lt;br /&gt;
setenv autosave &#039;setenv autosave ; setenv bootcmd run netconf; setenv firstboot ; saveenv&#039;&lt;br /&gt;
setenv netconf &#039;&lt;br /&gt;
if test \\&amp;quot;${ipconfig}\\&amp;quot; = dhcp; then&lt;br /&gt;
    dhcp;&lt;br /&gt;
elif test -z ${ipaddr}; then&lt;br /&gt;
    echo missing IP address settings; false;&lt;br /&gt;
else&lt;br /&gt;
    true;&lt;br /&gt;
fi &amp;amp;&amp;amp; run settftpserver setnfsserver&#039;&lt;br /&gt;
&lt;br /&gt;
run autosave netconf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;{{pagetop}}&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Additional Tags ==&lt;br /&gt;
 [[Reset U-Boot environment on AMC1]]&lt;br /&gt;
 [[Backup and restore U-Boot environment on AMC1]]&lt;br /&gt;
&lt;br /&gt;
 [[category:U-Boot]]&lt;br /&gt;
 [[Category:AMC1]]&lt;/div&gt;</summary>
		<author><name>Claus</name></author>
	</entry>
	<entry>
		<id>https://dsignt.de/support-wiki/index.php?title=Booting_Linux_from_TFTP_server_on_AMC1_with_RFS_on_NFS&amp;diff=1375</id>
		<title>Booting Linux from TFTP server on AMC1 with RFS on NFS</title>
		<link rel="alternate" type="text/html" href="https://dsignt.de/support-wiki/index.php?title=Booting_Linux_from_TFTP_server_on_AMC1_with_RFS_on_NFS&amp;diff=1375"/>
		<updated>2017-11-15T09:12:21Z</updated>

		<summary type="html">&lt;p&gt;Claus: Created page with &amp;quot;== Preparation == To boot Linux via TFTP you need to do a proper network configuration first. Either enter all necessary environment variables manually on the U-Boot command p...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Preparation ==&lt;br /&gt;
To boot Linux via TFTP you need to do a proper network configuration first. Either enter all necessary environment variables manually on the U-Boot command prompt or use script [[Network_settings_for_U-Boot_on_AMC1#Script_AMC1_NetConfig.ser|AMC1_NetConfig.ser]] to make all these settings automatically.&lt;br /&gt;
&lt;br /&gt;
Required network settings:&amp;lt;br&amp;gt;&lt;br /&gt;
[[Network_settings_for_U-Boot_on_AMC1#ethaddr.2C_eth1addr|&#039;&#039;&#039;&#039;&#039;eth1addr&#039;&#039;&#039;&#039;&#039;]] - own MAC address&amp;lt;br&amp;gt;&lt;br /&gt;
    AMC1&amp;gt; setenv eth1addr c4:be:84:cb:1f:ff&lt;br /&gt;
&lt;br /&gt;
[[Network_settings_for_U-Boot_on_AMC1#ipaddr|&#039;&#039;&#039;&#039;&#039;ipaddr&#039;&#039;&#039;&#039;&#039;]] - own IP address&amp;lt;br&amp;gt;&lt;br /&gt;
    AMC1&amp;gt; setenv ipaddr 192.168.168.197&lt;br /&gt;
&lt;br /&gt;
[[Network_settings_for_U-Boot_on_AMC1#serverip|&#039;&#039;&#039;&#039;&#039;serverip&#039;&#039;&#039;&#039;&#039;]] - remote server IP&lt;br /&gt;
    AMC1&amp;gt; setenv serverip 192.168.168.158&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Load compressed Linux image from TFTP server ==&lt;br /&gt;
If all network settings are correct, a compressed Linux image can be loaded from TFTP server:&lt;br /&gt;
   &#039;&#039;&#039;&#039;&#039;tftpboot ${loadaddr} zImage-dsignt_amc1.bin&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
${loadaddr} is a pre-defined environment variable that specifies a free DDR RAM location for general purpose. We use it here as a temporary storage address for the TFTP transfer.&lt;br /&gt;
&lt;br /&gt;
When the TFTP transfer succeeds, each received block (512 bytes) a &#039;#&#039; is printed on the terminal else a &#039;T&#039; for timeout signals a problem connecting the server. A successful transmission can look like this (of course the IP addresses vary depending on your network configuration):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c style=&amp;quot;border:1px dashed blue&amp;quot;&amp;gt;&lt;br /&gt;
AMC1&amp;gt; tftpboot ${loadaddr} zImage-dsignt_amc1.bin&lt;br /&gt;
link up on port 1, speed 1000, full duplex&lt;br /&gt;
Using cpsw device&lt;br /&gt;
TFTP from server 192.168.168.158; our IP address is 192.168.168.208&lt;br /&gt;
Filename &#039;zImage-dsignt_amc1.bin&#039;.&lt;br /&gt;
Load address: 0x80200000&lt;br /&gt;
Loading: #################################################################&lt;br /&gt;
         #################################################################&lt;br /&gt;
         #################################################################&lt;br /&gt;
         #################################################################&lt;br /&gt;
         #################################################################&lt;br /&gt;
         #################################################################&lt;br /&gt;
         #################################################################&lt;br /&gt;
         #################################################################&lt;br /&gt;
         #################################################################&lt;br /&gt;
         #################################################################&lt;br /&gt;
         #############################################&lt;br /&gt;
         1.3 MiB/s&lt;br /&gt;
done&lt;br /&gt;
Bytes transferred = 3555800 (3641d8 hex)&lt;br /&gt;
AMC1&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Load DTB from TFTP server ==&lt;br /&gt;
 &#039;&#039;&#039;&#039;&#039;tftpboot ${fdtaddr} amc1.dtb&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c style=&amp;quot;border:1px dashed blue&amp;quot;&amp;gt;&lt;br /&gt;
AMC1&amp;gt; tftpboot ${fdtaddr} amc1.dtb&lt;br /&gt;
link up on port 1, speed 1000, full duplex&lt;br /&gt;
Using cpsw device&lt;br /&gt;
TFTP from server 192.168.168.158; our IP address is 192.168.168.208&lt;br /&gt;
Filename &#039;amc1.dtb&#039;.&lt;br /&gt;
Load address: 0x88000000&lt;br /&gt;
Loading: #########&lt;br /&gt;
         663.1 KiB/s&lt;br /&gt;
done&lt;br /&gt;
Bytes transferred = 41451 (a1eb hex)&lt;br /&gt;
AMC1&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Set bootargs ==&lt;br /&gt;
The global environment variable &#039;&#039;&#039;&#039;&#039;bootargs&#039;&#039;&#039;&#039;&#039; is automatically passed to the booting Linux. Make sure &#039;&#039;&#039;&#039;&#039;nfsroot&#039;&#039;&#039;&#039;&#039; points to the valid NFS path on your NFS server:&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;&#039;&#039;setenv bootargs root=/dev/nfs rw rootfstype=ext4 rootwait fixrtc  nfsroot=${serverip}:/home/sitara/ti-processor-sdk-linux-am437x-evm-04.00.00.04/targetNFS,vers=3 ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:${hostname}:${device}:${autoconf}&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In this case with installed SDK 04.00.00.04 tools on server ${serverip} the correct path is:&lt;br /&gt;
 ${serverip}:/home/sitara/ti-processor-sdk-linux-am437x-evm-04.00.00.04/targetNFS&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== boot image ==&lt;br /&gt;
Boot Linux zImage:&lt;br /&gt;
 &#039;&#039;&#039;&#039;&#039;bootz ${loadaddr} - ${fdtaddr}&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{pagetop}}&lt;br /&gt;
&lt;br /&gt;
== Additional Tags ==&lt;br /&gt;
 [[Network settings for U-Boot on AMC1]]&lt;br /&gt;
&lt;br /&gt;
 [[category:AMC1]]&lt;/div&gt;</summary>
		<author><name>Claus</name></author>
	</entry>
	<entry>
		<id>https://dsignt.de/support-wiki/index.php?title=Backup_and_restore_U-Boot_image_on_AMC1&amp;diff=1374</id>
		<title>Backup and restore U-Boot image on AMC1</title>
		<link rel="alternate" type="text/html" href="https://dsignt.de/support-wiki/index.php?title=Backup_and_restore_U-Boot_image_on_AMC1&amp;diff=1374"/>
		<updated>2017-11-15T09:11:27Z</updated>

		<summary type="html">&lt;p&gt;Claus: Created page with &amp;quot;== Backup U-Boot image == Load U-Boot image to memory   &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;sf read ${loadaddr} 0x000000 0x80000&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;  Write to backup section  &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;sf write ${loadaddr} 0x080000 0x80000&amp;#039;&amp;#039;&amp;#039;&amp;#039;...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Backup U-Boot image ==&lt;br /&gt;
Load U-Boot image to memory &lt;br /&gt;
 &#039;&#039;&#039;&#039;&#039;sf read ${loadaddr} 0x000000 0x80000&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Write to backup section&lt;br /&gt;
 &#039;&#039;&#039;&#039;&#039;sf write ${loadaddr} 0x080000 0x80000&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Restore U-Boot image ==&lt;br /&gt;
Load U-Boot image from backup section&lt;br /&gt;
 &#039;&#039;&#039;&#039;&#039;sf read ${loadaddr} 0x080000 0x80000&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Write to U-Boot boot section section&lt;br /&gt;
 &#039;&#039;&#039;&#039;&#039;sf write ${loadaddr} 0x000000 0x80000&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{{pagetop}}&lt;br /&gt;
&lt;br /&gt;
== Additional Tags ==&lt;br /&gt;
 [[Serial FLASH mapping on AMC1]]&lt;br /&gt;
 [[Serial FLASH programming via U-Boot on AMC1]]&lt;br /&gt;
&lt;br /&gt;
 [[category:AMC1]]&lt;/div&gt;</summary>
		<author><name>Claus</name></author>
	</entry>
	<entry>
		<id>https://dsignt.de/support-wiki/index.php?title=Reset_U-Boot_environment_on_AMC1&amp;diff=1373</id>
		<title>Reset U-Boot environment on AMC1</title>
		<link rel="alternate" type="text/html" href="https://dsignt.de/support-wiki/index.php?title=Reset_U-Boot_environment_on_AMC1&amp;diff=1373"/>
		<updated>2017-11-15T09:10:10Z</updated>

		<summary type="html">&lt;p&gt;Claus: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Reset AMC1 U-Boot environment ==&lt;br /&gt;
    setenv resetenv &#039;env default -f -a &amp;amp;&amp;amp; saveenv &amp;amp;&amp;amp; reset&#039;&lt;br /&gt;
    run resetenv&lt;br /&gt;
&lt;br /&gt;
The script [[Reset_U-Boot_environment_on_AMC1#Script_AMC1_ClearEnvironment.ser|AMC1_ClearEnvironment.ser]] (s. below) is used to reset the AMC1 U-Boot environment. Use a serial terminal to send this script to your board. The script is executed automatically, no further commands are necessary. After the script succeeds, the AMC1 is re-bootet and you should see the following boot message:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c style=&amp;quot;border:1px blue&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;debug_uart&amp;gt;&lt;br /&gt;
&lt;br /&gt;
U-Boot 2017.01 (Aug 29 2017 - 13:35:23 +0200)&lt;br /&gt;
&lt;br /&gt;
CPU  : AM437X-GP rev 1.2&lt;br /&gt;
I2C:   ready&lt;br /&gt;
DRAM:  512 MiB&lt;br /&gt;
MMC:   OMAP SD/MMC: 0, OMAP SD/MMC: 1&lt;br /&gt;
SF: Detected w25q64cv with page size 256 Bytes, erase size 4 KiB, total 8 MiB, m&lt;br /&gt;
apped at 30000000&lt;br /&gt;
In:    serial&lt;br /&gt;
Out:   serial&lt;br /&gt;
Err:   serial&lt;br /&gt;
Net:   cpsw&lt;br /&gt;
Hit any key to stop autoboot:  0&lt;br /&gt;
========= D.SignT U-Boot first boot ==========&lt;br /&gt;
AMC1&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No further program is booted and the U-Boot command processor is waiting for configuration steps.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you enter the print environment command &#039;&#039;&#039;&#039;&#039;printenv&#039;&#039;&#039;&#039;&#039;, all factory settings will be displayed on your terminal:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c style=&amp;quot;border:1px blue&amp;quot;&amp;gt;&lt;br /&gt;
AMC1&amp;gt; printenv&lt;br /&gt;
arch=arm&lt;br /&gt;
autoconf=off&lt;br /&gt;
autoload=n&lt;br /&gt;
baudrate=115200&lt;br /&gt;
board=amc1&lt;br /&gt;
board_name=amc1&lt;br /&gt;
bootcmd=run firstboot;&lt;br /&gt;
bootdelay=2&lt;br /&gt;
bootm_size=0x20000000&lt;br /&gt;
console=ttyS2,115200n8&lt;br /&gt;
cpu=armv7&lt;br /&gt;
device=eth1&lt;br /&gt;
eth1addr=c4:be:84:cb:1f:ff&lt;br /&gt;
ethact=cpsw&lt;br /&gt;
ethaddr=c4:be:84:cb:1f:fd&lt;br /&gt;
fdt_addr_r=0x88000000&lt;br /&gt;
fdt_high=0xffffffff&lt;br /&gt;
fdtaddr=0x88000000&lt;br /&gt;
firstboot=echo ========= D.SignT U-Boot first boot ==========&lt;br /&gt;
hostname=AMC1-10004&lt;br /&gt;
kernel_addr_r=0x82000000&lt;br /&gt;
loadaddr=0x80200000&lt;br /&gt;
ramdisk_addr_r=0x88080000&lt;br /&gt;
rdaddr=0x88080000&lt;br /&gt;
soc=am33xx&lt;br /&gt;
stderr=serial&lt;br /&gt;
stdin=serial&lt;br /&gt;
stdout=serial&lt;br /&gt;
vendor=D.SignT GmbH &amp;amp; Co. KG&lt;br /&gt;
&lt;br /&gt;
Environment size: 617/65532 bytes&lt;br /&gt;
AMC1&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;{{pagetop}}&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;&#039;&#039;bootcmd&#039;&#039;&#039;&#039;&#039; ==&lt;br /&gt;
The macro &#039;&#039;&#039;&#039;&#039;bootcmd&#039;&#039;&#039;&#039;&#039; is automatically executed when the U-Boot command processor is activated after boot. After executing AMC1_ClearEnvironment.ser the &#039;&#039;&#039;&#039;&#039;bootcmd&#039;&#039;&#039;&#039;&#039; is set to execute the &#039;&#039;&#039;&#039;&#039;firstboot&#039;&#039;&#039;&#039;&#039; macro which in turn prints the &#039;&#039;&#039;&#039;&#039;========= D.SignT U-Boot first boot ==========&#039;&#039;&#039;&#039;&#039; message after booting. To change the boot behaviour, you simply need to change the &#039;&#039;&#039;&#039;&#039;bootcmd&#039;&#039;&#039;&#039;&#039; environment variable to a reasonable boot macro.&lt;br /&gt;
&lt;br /&gt;
{{pagetop}}&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Problems sending the script ==&lt;br /&gt;
You can either enter the commands by hand on your terminal or send the entire script at once via text file upload. Since the serial UART on the AMC1 uses a small cache and each command is interpreted after receiving a CR or LF immediately, it may happen that the one or the other line is broken. This may happen particularly if a long operation is in progress (e.g. a FLASH erase command). To avoid this situation all commands are usually stored as macros via &#039;&#039;&#039;&#039;&#039;setenv&#039;&#039;&#039;&#039;&#039; command and executed at the end of the script with the &#039;&#039;&#039;&#039;&#039;run&#039;&#039;&#039;&#039;&#039; command.&lt;br /&gt;
&lt;br /&gt;
If you observe such broken lines despite this, you can add some delay after sending a line in your terminal. E.g. in TeraTerm:&lt;br /&gt;
&lt;br /&gt;
[[File:TeraTermDelay.png|TeraTerm delay settings]]&lt;br /&gt;
&lt;br /&gt;
{{pagetop}}&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Script AMC1_ClearEnvironment.ser ==&lt;br /&gt;
The full script is listed here:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c style=&amp;quot;border:1px dashed blue&amp;quot;&amp;gt;&lt;br /&gt;
###################################################################//##&lt;br /&gt;
#&lt;br /&gt;
# @file       AMC1_ClearEnvironment.ser&lt;br /&gt;
# @verbatim                 _         _             _&lt;br /&gt;
#                        __| |    ___(_) ____ _ __ | |_&lt;br /&gt;
#                       / _` |   / __| |/ _` | &#039;_ \| __|&lt;br /&gt;
#                      | (_| | _ \__ \ | (_| | | | | |_&lt;br /&gt;
#                       \__,_|(_) ___/_|\__, |_| |_|\__|&lt;br /&gt;
#                      Signalprocessing |___/ Technology&lt;br /&gt;
# @endverbatim&lt;br /&gt;
# @brief      U-Boot script to clear AMC1 U-Boot environment&lt;br /&gt;
# @author     D.SignT GmbH &amp;amp; Co. KG, Claus Hermbusche&lt;br /&gt;
# @date       2017-08-29 01:42 PM&lt;br /&gt;
#&lt;br /&gt;
# This script resets and clears all U-Boot environment variables on the&lt;br /&gt;
# AMC1 to its default values and restarts the board with the clean en-&lt;br /&gt;
# vironment.&lt;br /&gt;
#&lt;br /&gt;
#!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!&lt;br /&gt;
#! Warnings:                                                          !&lt;br /&gt;
#! - your network settings will be cleared and need to be reconfigured!&lt;br /&gt;
#! - your boot settings will be cleared and need to be set            !&lt;br /&gt;
#!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!&lt;br /&gt;
#&lt;br /&gt;
# The environment space on the AMC1 is located in serial QSPI FLASH at&lt;br /&gt;
# address 0x100000 and is 0x10000 bytes large. If this script succeeds,&lt;br /&gt;
# only this specific area is erased and re-written with default values.&lt;br /&gt;
# No other space on eMMC or USB or I2C is affected.&lt;br /&gt;
#&lt;br /&gt;
# Variables after env default command:&lt;br /&gt;
#   arch=arm&lt;br /&gt;
#   autoconf=off&lt;br /&gt;
#   baudrate=115200&lt;br /&gt;
#   board=amc1&lt;br /&gt;
#   board_name=amc1&lt;br /&gt;
#   bootcmd=setenv autoload n; run nfsboot;&lt;br /&gt;
#   bootdelay=2&lt;br /&gt;
#   bootm_size=0x20000000&lt;br /&gt;
#   console=ttyS2,115200n8&lt;br /&gt;
#   cpu=armv7&lt;br /&gt;
#   device=eth1&lt;br /&gt;
#   fdt_addr_r=0x88000000&lt;br /&gt;
#   fdt_high=0xffffffff&lt;br /&gt;
#   fdtaddr=0x88000000&lt;br /&gt;
#   kernel_addr_r=0x82000000&lt;br /&gt;
#   loadaddr=0x80200000&lt;br /&gt;
#   nfsboot=echo Booting from network disabled;&lt;br /&gt;
#   ramdisk_addr_r=0x88080000&lt;br /&gt;
#   rdaddr=0x88080000&lt;br /&gt;
#   soc=am33xx&lt;br /&gt;
#   vendor=D.SignT GmbH &amp;amp; Co. KG&lt;br /&gt;
#&lt;br /&gt;
# After reset some more variables are added:&lt;br /&gt;
#   autoload=n&lt;br /&gt;
#   eth1addr=c4:be:84:cb:1f:ff       &amp;lt;- depends on chip ID&lt;br /&gt;
#   ethact=cpsw&lt;br /&gt;
#   ethaddr=c4:be:84:cb:1f:fd        &amp;lt;- depends on chip ID&lt;br /&gt;
#   hostname=AMC1-10004              &amp;lt;- depends on serial number&lt;br /&gt;
#   stderr=serial&lt;br /&gt;
#   stdin=serial&lt;br /&gt;
#   stdout=serial&lt;br /&gt;
#&lt;br /&gt;
#######################################################################&lt;br /&gt;
&lt;br /&gt;
setenv resetenv &#039;env default -f -a &amp;amp;&amp;amp; saveenv &amp;amp;&amp;amp; reset&#039;&lt;br /&gt;
run resetenv&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;{{pagetop}}&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Additional Tags ==&lt;br /&gt;
 [[Serial FLASH mapping on AMC1]]&lt;br /&gt;
 [[Serial FLASH programming via U-Boot on AMC1]]&lt;br /&gt;
 http://www.denx.de/wiki/U-Boot/TaskSetEnvironmentDefaults&lt;br /&gt;
 http://processors.wiki.ti.com/index.php/Modifying_U-boot&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 [[category:U-Boot]]&lt;br /&gt;
 [[Category:AMC1]]&lt;/div&gt;</summary>
		<author><name>Claus</name></author>
	</entry>
	<entry>
		<id>https://dsignt.de/support-wiki/index.php?title=Reset_U-Boot_environment_on_AMC1&amp;diff=1372</id>
		<title>Reset U-Boot environment on AMC1</title>
		<link rel="alternate" type="text/html" href="https://dsignt.de/support-wiki/index.php?title=Reset_U-Boot_environment_on_AMC1&amp;diff=1372"/>
		<updated>2017-11-15T09:09:47Z</updated>

		<summary type="html">&lt;p&gt;Claus: Claus moved page Reset U-Boot environment to Reset U-Boot environment on AMC1 without leaving a redirect&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Reset AMC1 U-Boot environment ==&lt;br /&gt;
    setenv resetenv &#039;env default -f -a &amp;amp;&amp;amp; saveenv &amp;amp;&amp;amp; reset&#039;&lt;br /&gt;
    run resetenv&lt;br /&gt;
&lt;br /&gt;
The script [[Reset_U-Boot_environment#Script AMC1_ClearEnvironment.ser|AMC1_ClearEnvironment.ser]] (s. below) is used to reset the AMC1 U-Boot environment. Use a serial terminal to send this script to your board. The script is executed automatically, no further commands are necessary. After the script succeeds, the AMC1 is re-bootet and you should see the following boot message:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c style=&amp;quot;border:1px blue&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;debug_uart&amp;gt;&lt;br /&gt;
&lt;br /&gt;
U-Boot 2017.01 (Aug 29 2017 - 13:35:23 +0200)&lt;br /&gt;
&lt;br /&gt;
CPU  : AM437X-GP rev 1.2&lt;br /&gt;
I2C:   ready&lt;br /&gt;
DRAM:  512 MiB&lt;br /&gt;
MMC:   OMAP SD/MMC: 0, OMAP SD/MMC: 1&lt;br /&gt;
SF: Detected w25q64cv with page size 256 Bytes, erase size 4 KiB, total 8 MiB, m&lt;br /&gt;
apped at 30000000&lt;br /&gt;
In:    serial&lt;br /&gt;
Out:   serial&lt;br /&gt;
Err:   serial&lt;br /&gt;
Net:   cpsw&lt;br /&gt;
Hit any key to stop autoboot:  0&lt;br /&gt;
========= D.SignT U-Boot first boot ==========&lt;br /&gt;
AMC1&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No further program is booted and the U-Boot command processor is waiting for configuration steps.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you enter the print environment command &#039;&#039;&#039;&#039;&#039;printenv&#039;&#039;&#039;&#039;&#039;, all factory settings will be displayed on your terminal:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c style=&amp;quot;border:1px blue&amp;quot;&amp;gt;&lt;br /&gt;
AMC1&amp;gt; printenv&lt;br /&gt;
arch=arm&lt;br /&gt;
autoconf=off&lt;br /&gt;
autoload=n&lt;br /&gt;
baudrate=115200&lt;br /&gt;
board=amc1&lt;br /&gt;
board_name=amc1&lt;br /&gt;
bootcmd=run firstboot;&lt;br /&gt;
bootdelay=2&lt;br /&gt;
bootm_size=0x20000000&lt;br /&gt;
console=ttyS2,115200n8&lt;br /&gt;
cpu=armv7&lt;br /&gt;
device=eth1&lt;br /&gt;
eth1addr=c4:be:84:cb:1f:ff&lt;br /&gt;
ethact=cpsw&lt;br /&gt;
ethaddr=c4:be:84:cb:1f:fd&lt;br /&gt;
fdt_addr_r=0x88000000&lt;br /&gt;
fdt_high=0xffffffff&lt;br /&gt;
fdtaddr=0x88000000&lt;br /&gt;
firstboot=echo ========= D.SignT U-Boot first boot ==========&lt;br /&gt;
hostname=AMC1-10004&lt;br /&gt;
kernel_addr_r=0x82000000&lt;br /&gt;
loadaddr=0x80200000&lt;br /&gt;
ramdisk_addr_r=0x88080000&lt;br /&gt;
rdaddr=0x88080000&lt;br /&gt;
soc=am33xx&lt;br /&gt;
stderr=serial&lt;br /&gt;
stdin=serial&lt;br /&gt;
stdout=serial&lt;br /&gt;
vendor=D.SignT GmbH &amp;amp; Co. KG&lt;br /&gt;
&lt;br /&gt;
Environment size: 617/65532 bytes&lt;br /&gt;
AMC1&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;{{pagetop}}&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;&#039;&#039;bootcmd&#039;&#039;&#039;&#039;&#039; ==&lt;br /&gt;
The macro &#039;&#039;&#039;&#039;&#039;bootcmd&#039;&#039;&#039;&#039;&#039; is automatically executed when the U-Boot command processor is activated after boot. After executing AMC1_ClearEnvironment.ser the &#039;&#039;&#039;&#039;&#039;bootcmd&#039;&#039;&#039;&#039;&#039; is set to execute the &#039;&#039;&#039;&#039;&#039;firstboot&#039;&#039;&#039;&#039;&#039; macro which in turn prints the &#039;&#039;&#039;&#039;&#039;========= D.SignT U-Boot first boot ==========&#039;&#039;&#039;&#039;&#039; message after booting. To change the boot behaviour, you simply need to change the &#039;&#039;&#039;&#039;&#039;bootcmd&#039;&#039;&#039;&#039;&#039; environment variable to a reasonable boot macro.&lt;br /&gt;
&lt;br /&gt;
{{pagetop}}&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Problems sending the script ==&lt;br /&gt;
You can either enter the commands by hand on your terminal or send the entire script at once via text file upload. Since the serial UART on the AMC1 uses a small cache and each command is interpreted after receiving a CR or LF immediately, it may happen that the one or the other line is broken. This may happen particularly if a long operation is in progress (e.g. a FLASH erase command). To avoid this situation all commands are usually stored as macros via &#039;&#039;&#039;&#039;&#039;setenv&#039;&#039;&#039;&#039;&#039; command and executed at the end of the script with the &#039;&#039;&#039;&#039;&#039;run&#039;&#039;&#039;&#039;&#039; command.&lt;br /&gt;
&lt;br /&gt;
If you observe such broken lines despite this, you can add some delay after sending a line in your terminal. E.g. in TeraTerm:&lt;br /&gt;
&lt;br /&gt;
[[File:TeraTermDelay.png|TeraTerm delay settings]]&lt;br /&gt;
&lt;br /&gt;
{{pagetop}}&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Script AMC1_ClearEnvironment.ser ==&lt;br /&gt;
The full script is listed here:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c style=&amp;quot;border:1px dashed blue&amp;quot;&amp;gt;&lt;br /&gt;
###################################################################//##&lt;br /&gt;
#&lt;br /&gt;
# @file       AMC1_ClearEnvironment.ser&lt;br /&gt;
# @verbatim                 _         _             _&lt;br /&gt;
#                        __| |    ___(_) ____ _ __ | |_&lt;br /&gt;
#                       / _` |   / __| |/ _` | &#039;_ \| __|&lt;br /&gt;
#                      | (_| | _ \__ \ | (_| | | | | |_&lt;br /&gt;
#                       \__,_|(_) ___/_|\__, |_| |_|\__|&lt;br /&gt;
#                      Signalprocessing |___/ Technology&lt;br /&gt;
# @endverbatim&lt;br /&gt;
# @brief      U-Boot script to clear AMC1 U-Boot environment&lt;br /&gt;
# @author     D.SignT GmbH &amp;amp; Co. KG, Claus Hermbusche&lt;br /&gt;
# @date       2017-08-29 01:42 PM&lt;br /&gt;
#&lt;br /&gt;
# This script resets and clears all U-Boot environment variables on the&lt;br /&gt;
# AMC1 to its default values and restarts the board with the clean en-&lt;br /&gt;
# vironment.&lt;br /&gt;
#&lt;br /&gt;
#!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!&lt;br /&gt;
#! Warnings:                                                          !&lt;br /&gt;
#! - your network settings will be cleared and need to be reconfigured!&lt;br /&gt;
#! - your boot settings will be cleared and need to be set            !&lt;br /&gt;
#!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!&lt;br /&gt;
#&lt;br /&gt;
# The environment space on the AMC1 is located in serial QSPI FLASH at&lt;br /&gt;
# address 0x100000 and is 0x10000 bytes large. If this script succeeds,&lt;br /&gt;
# only this specific area is erased and re-written with default values.&lt;br /&gt;
# No other space on eMMC or USB or I2C is affected.&lt;br /&gt;
#&lt;br /&gt;
# Variables after env default command:&lt;br /&gt;
#   arch=arm&lt;br /&gt;
#   autoconf=off&lt;br /&gt;
#   baudrate=115200&lt;br /&gt;
#   board=amc1&lt;br /&gt;
#   board_name=amc1&lt;br /&gt;
#   bootcmd=setenv autoload n; run nfsboot;&lt;br /&gt;
#   bootdelay=2&lt;br /&gt;
#   bootm_size=0x20000000&lt;br /&gt;
#   console=ttyS2,115200n8&lt;br /&gt;
#   cpu=armv7&lt;br /&gt;
#   device=eth1&lt;br /&gt;
#   fdt_addr_r=0x88000000&lt;br /&gt;
#   fdt_high=0xffffffff&lt;br /&gt;
#   fdtaddr=0x88000000&lt;br /&gt;
#   kernel_addr_r=0x82000000&lt;br /&gt;
#   loadaddr=0x80200000&lt;br /&gt;
#   nfsboot=echo Booting from network disabled;&lt;br /&gt;
#   ramdisk_addr_r=0x88080000&lt;br /&gt;
#   rdaddr=0x88080000&lt;br /&gt;
#   soc=am33xx&lt;br /&gt;
#   vendor=D.SignT GmbH &amp;amp; Co. KG&lt;br /&gt;
#&lt;br /&gt;
# After reset some more variables are added:&lt;br /&gt;
#   autoload=n&lt;br /&gt;
#   eth1addr=c4:be:84:cb:1f:ff       &amp;lt;- depends on chip ID&lt;br /&gt;
#   ethact=cpsw&lt;br /&gt;
#   ethaddr=c4:be:84:cb:1f:fd        &amp;lt;- depends on chip ID&lt;br /&gt;
#   hostname=AMC1-10004              &amp;lt;- depends on serial number&lt;br /&gt;
#   stderr=serial&lt;br /&gt;
#   stdin=serial&lt;br /&gt;
#   stdout=serial&lt;br /&gt;
#&lt;br /&gt;
#######################################################################&lt;br /&gt;
&lt;br /&gt;
setenv resetenv &#039;env default -f -a &amp;amp;&amp;amp; saveenv &amp;amp;&amp;amp; reset&#039;&lt;br /&gt;
run resetenv&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;{{pagetop}}&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Additional Tags ==&lt;br /&gt;
 [[AMC1 serial FLASH mapping]]&lt;br /&gt;
 [[AMC1 U-Boot: serial FLASH programming]]&lt;br /&gt;
 http://www.denx.de/wiki/U-Boot/TaskSetEnvironmentDefaults&lt;br /&gt;
 http://processors.wiki.ti.com/index.php/Modifying_U-boot&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 [[category:U-Boot]]&lt;br /&gt;
 [[Category:AMC1]]&lt;/div&gt;</summary>
		<author><name>Claus</name></author>
	</entry>
	<entry>
		<id>https://dsignt.de/support-wiki/index.php?title=Backup_and_restore_U-Boot_environment_on_AMC1&amp;diff=1371</id>
		<title>Backup and restore U-Boot environment on AMC1</title>
		<link rel="alternate" type="text/html" href="https://dsignt.de/support-wiki/index.php?title=Backup_and_restore_U-Boot_environment_on_AMC1&amp;diff=1371"/>
		<updated>2017-11-15T09:09:02Z</updated>

		<summary type="html">&lt;p&gt;Claus: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Backup environment ==&lt;br /&gt;
Load environment from serial FLASH to RAM&lt;br /&gt;
 &#039;&#039;&#039;&#039;&#039;sf read ${loadaddr} 0x100000 0x10000&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Write to backup section&lt;br /&gt;
 &#039;&#039;&#039;&#039;&#039;sf erase 0x110000 0x10000&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
 &#039;&#039;&#039;&#039;&#039;sf write ${loadaddr} 0x110000 0x10000&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Restore environment ==&lt;br /&gt;
Load environment from backup section in serial FLASH to RAM&lt;br /&gt;
 &#039;&#039;&#039;&#039;&#039;sf read ${loadaddr} 0x110000 0x10000&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Write to environment section in serial FLASH&lt;br /&gt;
 &#039;&#039;&#039;&#039;&#039;sf erase 0x100000 0x10000&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
 &#039;&#039;&#039;&#039;&#039;sf write ${loadaddr} 0x100000 0x10000&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{{pagetop}}&lt;br /&gt;
&lt;br /&gt;
== Additional Tags ==&lt;br /&gt;
 [[Serial FLASH mapping on AMC1]]&lt;br /&gt;
 [[Serial FLASH programming via U-Boot on AMC1]]&lt;br /&gt;
 [[Reset U-Boot environment on AMC1]]&lt;br /&gt;
&lt;br /&gt;
 [[category:AMC1]]&lt;/div&gt;</summary>
		<author><name>Claus</name></author>
	</entry>
	<entry>
		<id>https://dsignt.de/support-wiki/index.php?title=Backup_and_restore_U-Boot_environment_on_AMC1&amp;diff=1370</id>
		<title>Backup and restore U-Boot environment on AMC1</title>
		<link rel="alternate" type="text/html" href="https://dsignt.de/support-wiki/index.php?title=Backup_and_restore_U-Boot_environment_on_AMC1&amp;diff=1370"/>
		<updated>2017-11-15T09:08:44Z</updated>

		<summary type="html">&lt;p&gt;Claus: Claus moved page Backup and restore AMC1 U-Boot environment to Backup and restore U-Boot environment on AMC1 without leaving a redirect&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Backup environment ==&lt;br /&gt;
Load environment from serial FLASH to RAM&lt;br /&gt;
 &#039;&#039;&#039;&#039;&#039;sf read ${loadaddr} 0x100000 0x10000&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Write to backup section&lt;br /&gt;
 &#039;&#039;&#039;&#039;&#039;sf erase 0x110000 0x10000&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
 &#039;&#039;&#039;&#039;&#039;sf write ${loadaddr} 0x110000 0x10000&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Restore environment ==&lt;br /&gt;
Load environment from backup section in serial FLASH to RAM&lt;br /&gt;
 &#039;&#039;&#039;&#039;&#039;sf read ${loadaddr} 0x110000 0x10000&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Write to environment section in serial FLASH&lt;br /&gt;
 &#039;&#039;&#039;&#039;&#039;sf erase 0x100000 0x10000&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
 &#039;&#039;&#039;&#039;&#039;sf write ${loadaddr} 0x100000 0x10000&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{{pagetop}}&lt;br /&gt;
&lt;br /&gt;
== Additional Tags ==&lt;br /&gt;
 [[AMC1 serial FLASH mapping]]&lt;br /&gt;
 [[AMC1 U-Boot: serial FLASH programming]]&lt;br /&gt;
 [[Reset U-Boot environment]]&lt;br /&gt;
&lt;br /&gt;
 [[category:AMC1]]&lt;/div&gt;</summary>
		<author><name>Claus</name></author>
	</entry>
	<entry>
		<id>https://dsignt.de/support-wiki/index.php?title=Serial_FLASH_mapping_on_AMC1&amp;diff=1369</id>
		<title>Serial FLASH mapping on AMC1</title>
		<link rel="alternate" type="text/html" href="https://dsignt.de/support-wiki/index.php?title=Serial_FLASH_mapping_on_AMC1&amp;diff=1369"/>
		<updated>2017-11-15T09:07:45Z</updated>

		<summary type="html">&lt;p&gt;Claus: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;font-weight: bold; font-style: italic;&amp;quot; | Address&lt;br /&gt;
! style=&amp;quot;font-weight: bold; font-style: italic;&amp;quot; | Description&lt;br /&gt;
! style=&amp;quot;font-weight: bold; font-style: italic;&amp;quot; | Notes&lt;br /&gt;
|-&lt;br /&gt;
| 0x000000&lt;br /&gt;
| U-Boot image&lt;br /&gt;
| required boot sector&lt;br /&gt;
|-&lt;br /&gt;
| 0x080000&lt;br /&gt;
| U-Boot image backup&lt;br /&gt;
| optional boot copy&lt;br /&gt;
|-&lt;br /&gt;
| 0x100000&lt;br /&gt;
| Environment&lt;br /&gt;
| used by &#039;&#039;&#039;&#039;&#039;saveenv&#039;&#039;&#039;&#039;&#039; command&lt;br /&gt;
|-&lt;br /&gt;
| 0x110000&lt;br /&gt;
| Environment backup&lt;br /&gt;
| optional backup of environment&lt;br /&gt;
|-&lt;br /&gt;
| 0x120000&lt;br /&gt;
| DTB&lt;br /&gt;
| optional&lt;br /&gt;
|-&lt;br /&gt;
| 0x130000&lt;br /&gt;
| free&lt;br /&gt;
| for general purpose&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| 0x200000 &amp;lt;br&amp;gt; 0x7FFFFF&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| Linux Image&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| optional Linux Image&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{pagetop}}&lt;br /&gt;
== Additional Tags ==&lt;br /&gt;
 [[Update U-Boot Image via TFTP on AMC1]]&lt;br /&gt;
 [[Update U-Boot Image via USB on AMC1]]&lt;br /&gt;
 [[Serial FLASH programming via U-Boot on AMC1]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 [[category:AMC1]]&lt;/div&gt;</summary>
		<author><name>Claus</name></author>
	</entry>
	<entry>
		<id>https://dsignt.de/support-wiki/index.php?title=Serial_FLASH_mapping_on_AMC1&amp;diff=1368</id>
		<title>Serial FLASH mapping on AMC1</title>
		<link rel="alternate" type="text/html" href="https://dsignt.de/support-wiki/index.php?title=Serial_FLASH_mapping_on_AMC1&amp;diff=1368"/>
		<updated>2017-11-15T09:07:25Z</updated>

		<summary type="html">&lt;p&gt;Claus: Claus moved page AMC1 serial FLASH mapping to Serial FLASH mapping on AMC1 without leaving a redirect&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;font-weight: bold; font-style: italic;&amp;quot; | Address&lt;br /&gt;
! style=&amp;quot;font-weight: bold; font-style: italic;&amp;quot; | Description&lt;br /&gt;
! style=&amp;quot;font-weight: bold; font-style: italic;&amp;quot; | Notes&lt;br /&gt;
|-&lt;br /&gt;
| 0x000000&lt;br /&gt;
| U-Boot image&lt;br /&gt;
| required boot sector&lt;br /&gt;
|-&lt;br /&gt;
| 0x080000&lt;br /&gt;
| U-Boot image backup&lt;br /&gt;
| optional boot copy&lt;br /&gt;
|-&lt;br /&gt;
| 0x100000&lt;br /&gt;
| Environment&lt;br /&gt;
| used by &#039;&#039;&#039;&#039;&#039;saveenv&#039;&#039;&#039;&#039;&#039; command&lt;br /&gt;
|-&lt;br /&gt;
| 0x110000&lt;br /&gt;
| Environment backup&lt;br /&gt;
| optional backup of environment&lt;br /&gt;
|-&lt;br /&gt;
| 0x120000&lt;br /&gt;
| DTB&lt;br /&gt;
| optional&lt;br /&gt;
|-&lt;br /&gt;
| 0x130000&lt;br /&gt;
| free&lt;br /&gt;
| for general purpose&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| 0x200000 &amp;lt;br&amp;gt; 0x7FFFFF&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| Linux Image&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| optional Linux Image&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{pagetop}}&lt;br /&gt;
== Additional Tags ==&lt;br /&gt;
 [[AMC1 U-Boot: Update via TFTP]]&lt;br /&gt;
 [[AMC1 U-Boot: Update via USB]]&lt;br /&gt;
 [[AMC1 U-Boot: serial FLASH programming]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 [[category:AMC1]]&lt;/div&gt;</summary>
		<author><name>Claus</name></author>
	</entry>
	<entry>
		<id>https://dsignt.de/support-wiki/index.php?title=Backup_and_restore_U-Boot_environment_on_AMC1&amp;diff=1367</id>
		<title>Backup and restore U-Boot environment on AMC1</title>
		<link rel="alternate" type="text/html" href="https://dsignt.de/support-wiki/index.php?title=Backup_and_restore_U-Boot_environment_on_AMC1&amp;diff=1367"/>
		<updated>2017-11-15T08:18:30Z</updated>

		<summary type="html">&lt;p&gt;Claus: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Backup environment ==&lt;br /&gt;
Load environment from serial FLASH to RAM&lt;br /&gt;
 &#039;&#039;&#039;&#039;&#039;sf read ${loadaddr} 0x100000 0x10000&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Write to backup section&lt;br /&gt;
 &#039;&#039;&#039;&#039;&#039;sf erase 0x110000 0x10000&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
 &#039;&#039;&#039;&#039;&#039;sf write ${loadaddr} 0x110000 0x10000&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Restore environment ==&lt;br /&gt;
Load environment from backup section in serial FLASH to RAM&lt;br /&gt;
 &#039;&#039;&#039;&#039;&#039;sf read ${loadaddr} 0x110000 0x10000&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Write to environment section in serial FLASH&lt;br /&gt;
 &#039;&#039;&#039;&#039;&#039;sf erase 0x100000 0x10000&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
 &#039;&#039;&#039;&#039;&#039;sf write ${loadaddr} 0x100000 0x10000&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{{pagetop}}&lt;br /&gt;
&lt;br /&gt;
== Additional Tags ==&lt;br /&gt;
 [[AMC1 serial FLASH mapping]]&lt;br /&gt;
 [[AMC1 U-Boot: serial FLASH programming]]&lt;br /&gt;
 [[Reset U-Boot environment]]&lt;br /&gt;
&lt;br /&gt;
 [[category:AMC1]]&lt;/div&gt;</summary>
		<author><name>Claus</name></author>
	</entry>
	<entry>
		<id>https://dsignt.de/support-wiki/index.php?title=Backup_and_restore_U-Boot_environment_on_AMC1&amp;diff=1366</id>
		<title>Backup and restore U-Boot environment on AMC1</title>
		<link rel="alternate" type="text/html" href="https://dsignt.de/support-wiki/index.php?title=Backup_and_restore_U-Boot_environment_on_AMC1&amp;diff=1366"/>
		<updated>2017-11-15T08:17:26Z</updated>

		<summary type="html">&lt;p&gt;Claus: Created page with &amp;quot;== Backup environment == Load environment from serial FLASH to RAM  &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;sf read ${loadaddr} 0x100000 0x10000&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;  Write to backup section  &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;sf erase 0x110000 0x10000&amp;#039;&amp;#039;&amp;#039;&amp;#039;...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Backup environment ==&lt;br /&gt;
Load environment from serial FLASH to RAM&lt;br /&gt;
 &#039;&#039;&#039;&#039;&#039;sf read ${loadaddr} 0x100000 0x10000&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Write to backup section&lt;br /&gt;
 &#039;&#039;&#039;&#039;&#039;sf erase 0x110000 0x10000&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
 &#039;&#039;&#039;&#039;&#039;sf write ${loadaddr} 0x110000 0x10000&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Restore environment ==&lt;br /&gt;
Load environment from backup section in serial FLASH to RAM&lt;br /&gt;
 &#039;&#039;&#039;&#039;&#039;sf read ${loadaddr} 0x110000 0x10000&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Write to environment section in serial FLASH&lt;br /&gt;
 &#039;&#039;&#039;&#039;&#039;sf erase 0x100000 0x10000&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
 &#039;&#039;&#039;&#039;&#039;sf write ${loadaddr} 0x100000 0x10000&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{{pagetop}}&lt;br /&gt;
&lt;br /&gt;
== Additional Tags ==&lt;br /&gt;
 [[AMC1 U-Boot: serial FLASH mapping]]&lt;br /&gt;
 [[AMC1 U-Boot: serial FLASH programming]]&lt;br /&gt;
 [[AMC1 U-Boot: Reset U-Boot environment]]&lt;br /&gt;
&lt;br /&gt;
 [[category:AMC1]]&lt;/div&gt;</summary>
		<author><name>Claus</name></author>
	</entry>
	<entry>
		<id>https://dsignt.de/support-wiki/index.php?title=Reset_U-Boot_environment_on_AMC1&amp;diff=1365</id>
		<title>Reset U-Boot environment on AMC1</title>
		<link rel="alternate" type="text/html" href="https://dsignt.de/support-wiki/index.php?title=Reset_U-Boot_environment_on_AMC1&amp;diff=1365"/>
		<updated>2017-11-15T08:15:39Z</updated>

		<summary type="html">&lt;p&gt;Claus: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Reset AMC1 U-Boot environment ==&lt;br /&gt;
    setenv resetenv &#039;env default -f -a &amp;amp;&amp;amp; saveenv &amp;amp;&amp;amp; reset&#039;&lt;br /&gt;
    run resetenv&lt;br /&gt;
&lt;br /&gt;
The script [[Reset_U-Boot_environment#Script AMC1_ClearEnvironment.ser|AMC1_ClearEnvironment.ser]] (s. below) is used to reset the AMC1 U-Boot environment. Use a serial terminal to send this script to your board. The script is executed automatically, no further commands are necessary. After the script succeeds, the AMC1 is re-bootet and you should see the following boot message:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c style=&amp;quot;border:1px blue&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;debug_uart&amp;gt;&lt;br /&gt;
&lt;br /&gt;
U-Boot 2017.01 (Aug 29 2017 - 13:35:23 +0200)&lt;br /&gt;
&lt;br /&gt;
CPU  : AM437X-GP rev 1.2&lt;br /&gt;
I2C:   ready&lt;br /&gt;
DRAM:  512 MiB&lt;br /&gt;
MMC:   OMAP SD/MMC: 0, OMAP SD/MMC: 1&lt;br /&gt;
SF: Detected w25q64cv with page size 256 Bytes, erase size 4 KiB, total 8 MiB, m&lt;br /&gt;
apped at 30000000&lt;br /&gt;
In:    serial&lt;br /&gt;
Out:   serial&lt;br /&gt;
Err:   serial&lt;br /&gt;
Net:   cpsw&lt;br /&gt;
Hit any key to stop autoboot:  0&lt;br /&gt;
========= D.SignT U-Boot first boot ==========&lt;br /&gt;
AMC1&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No further program is booted and the U-Boot command processor is waiting for configuration steps.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you enter the print environment command &#039;&#039;&#039;&#039;&#039;printenv&#039;&#039;&#039;&#039;&#039;, all factory settings will be displayed on your terminal:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c style=&amp;quot;border:1px blue&amp;quot;&amp;gt;&lt;br /&gt;
AMC1&amp;gt; printenv&lt;br /&gt;
arch=arm&lt;br /&gt;
autoconf=off&lt;br /&gt;
autoload=n&lt;br /&gt;
baudrate=115200&lt;br /&gt;
board=amc1&lt;br /&gt;
board_name=amc1&lt;br /&gt;
bootcmd=run firstboot;&lt;br /&gt;
bootdelay=2&lt;br /&gt;
bootm_size=0x20000000&lt;br /&gt;
console=ttyS2,115200n8&lt;br /&gt;
cpu=armv7&lt;br /&gt;
device=eth1&lt;br /&gt;
eth1addr=c4:be:84:cb:1f:ff&lt;br /&gt;
ethact=cpsw&lt;br /&gt;
ethaddr=c4:be:84:cb:1f:fd&lt;br /&gt;
fdt_addr_r=0x88000000&lt;br /&gt;
fdt_high=0xffffffff&lt;br /&gt;
fdtaddr=0x88000000&lt;br /&gt;
firstboot=echo ========= D.SignT U-Boot first boot ==========&lt;br /&gt;
hostname=AMC1-10004&lt;br /&gt;
kernel_addr_r=0x82000000&lt;br /&gt;
loadaddr=0x80200000&lt;br /&gt;
ramdisk_addr_r=0x88080000&lt;br /&gt;
rdaddr=0x88080000&lt;br /&gt;
soc=am33xx&lt;br /&gt;
stderr=serial&lt;br /&gt;
stdin=serial&lt;br /&gt;
stdout=serial&lt;br /&gt;
vendor=D.SignT GmbH &amp;amp; Co. KG&lt;br /&gt;
&lt;br /&gt;
Environment size: 617/65532 bytes&lt;br /&gt;
AMC1&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;{{pagetop}}&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;&#039;&#039;bootcmd&#039;&#039;&#039;&#039;&#039; ==&lt;br /&gt;
The macro &#039;&#039;&#039;&#039;&#039;bootcmd&#039;&#039;&#039;&#039;&#039; is automatically executed when the U-Boot command processor is activated after boot. After executing AMC1_ClearEnvironment.ser the &#039;&#039;&#039;&#039;&#039;bootcmd&#039;&#039;&#039;&#039;&#039; is set to execute the &#039;&#039;&#039;&#039;&#039;firstboot&#039;&#039;&#039;&#039;&#039; macro which in turn prints the &#039;&#039;&#039;&#039;&#039;========= D.SignT U-Boot first boot ==========&#039;&#039;&#039;&#039;&#039; message after booting. To change the boot behaviour, you simply need to change the &#039;&#039;&#039;&#039;&#039;bootcmd&#039;&#039;&#039;&#039;&#039; environment variable to a reasonable boot macro.&lt;br /&gt;
&lt;br /&gt;
{{pagetop}}&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Problems sending the script ==&lt;br /&gt;
You can either enter the commands by hand on your terminal or send the entire script at once via text file upload. Since the serial UART on the AMC1 uses a small cache and each command is interpreted after receiving a CR or LF immediately, it may happen that the one or the other line is broken. This may happen particularly if a long operation is in progress (e.g. a FLASH erase command). To avoid this situation all commands are usually stored as macros via &#039;&#039;&#039;&#039;&#039;setenv&#039;&#039;&#039;&#039;&#039; command and executed at the end of the script with the &#039;&#039;&#039;&#039;&#039;run&#039;&#039;&#039;&#039;&#039; command.&lt;br /&gt;
&lt;br /&gt;
If you observe such broken lines despite this, you can add some delay after sending a line in your terminal. E.g. in TeraTerm:&lt;br /&gt;
&lt;br /&gt;
[[File:TeraTermDelay.png|TeraTerm delay settings]]&lt;br /&gt;
&lt;br /&gt;
{{pagetop}}&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Script AMC1_ClearEnvironment.ser ==&lt;br /&gt;
The full script is listed here:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c style=&amp;quot;border:1px dashed blue&amp;quot;&amp;gt;&lt;br /&gt;
###################################################################//##&lt;br /&gt;
#&lt;br /&gt;
# @file       AMC1_ClearEnvironment.ser&lt;br /&gt;
# @verbatim                 _         _             _&lt;br /&gt;
#                        __| |    ___(_) ____ _ __ | |_&lt;br /&gt;
#                       / _` |   / __| |/ _` | &#039;_ \| __|&lt;br /&gt;
#                      | (_| | _ \__ \ | (_| | | | | |_&lt;br /&gt;
#                       \__,_|(_) ___/_|\__, |_| |_|\__|&lt;br /&gt;
#                      Signalprocessing |___/ Technology&lt;br /&gt;
# @endverbatim&lt;br /&gt;
# @brief      U-Boot script to clear AMC1 U-Boot environment&lt;br /&gt;
# @author     D.SignT GmbH &amp;amp; Co. KG, Claus Hermbusche&lt;br /&gt;
# @date       2017-08-29 01:42 PM&lt;br /&gt;
#&lt;br /&gt;
# This script resets and clears all U-Boot environment variables on the&lt;br /&gt;
# AMC1 to its default values and restarts the board with the clean en-&lt;br /&gt;
# vironment.&lt;br /&gt;
#&lt;br /&gt;
#!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!&lt;br /&gt;
#! Warnings:                                                          !&lt;br /&gt;
#! - your network settings will be cleared and need to be reconfigured!&lt;br /&gt;
#! - your boot settings will be cleared and need to be set            !&lt;br /&gt;
#!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!&lt;br /&gt;
#&lt;br /&gt;
# The environment space on the AMC1 is located in serial QSPI FLASH at&lt;br /&gt;
# address 0x100000 and is 0x10000 bytes large. If this script succeeds,&lt;br /&gt;
# only this specific area is erased and re-written with default values.&lt;br /&gt;
# No other space on eMMC or USB or I2C is affected.&lt;br /&gt;
#&lt;br /&gt;
# Variables after env default command:&lt;br /&gt;
#   arch=arm&lt;br /&gt;
#   autoconf=off&lt;br /&gt;
#   baudrate=115200&lt;br /&gt;
#   board=amc1&lt;br /&gt;
#   board_name=amc1&lt;br /&gt;
#   bootcmd=setenv autoload n; run nfsboot;&lt;br /&gt;
#   bootdelay=2&lt;br /&gt;
#   bootm_size=0x20000000&lt;br /&gt;
#   console=ttyS2,115200n8&lt;br /&gt;
#   cpu=armv7&lt;br /&gt;
#   device=eth1&lt;br /&gt;
#   fdt_addr_r=0x88000000&lt;br /&gt;
#   fdt_high=0xffffffff&lt;br /&gt;
#   fdtaddr=0x88000000&lt;br /&gt;
#   kernel_addr_r=0x82000000&lt;br /&gt;
#   loadaddr=0x80200000&lt;br /&gt;
#   nfsboot=echo Booting from network disabled;&lt;br /&gt;
#   ramdisk_addr_r=0x88080000&lt;br /&gt;
#   rdaddr=0x88080000&lt;br /&gt;
#   soc=am33xx&lt;br /&gt;
#   vendor=D.SignT GmbH &amp;amp; Co. KG&lt;br /&gt;
#&lt;br /&gt;
# After reset some more variables are added:&lt;br /&gt;
#   autoload=n&lt;br /&gt;
#   eth1addr=c4:be:84:cb:1f:ff       &amp;lt;- depends on chip ID&lt;br /&gt;
#   ethact=cpsw&lt;br /&gt;
#   ethaddr=c4:be:84:cb:1f:fd        &amp;lt;- depends on chip ID&lt;br /&gt;
#   hostname=AMC1-10004              &amp;lt;- depends on serial number&lt;br /&gt;
#   stderr=serial&lt;br /&gt;
#   stdin=serial&lt;br /&gt;
#   stdout=serial&lt;br /&gt;
#&lt;br /&gt;
#######################################################################&lt;br /&gt;
&lt;br /&gt;
setenv resetenv &#039;env default -f -a &amp;amp;&amp;amp; saveenv &amp;amp;&amp;amp; reset&#039;&lt;br /&gt;
run resetenv&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;{{pagetop}}&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Additional Tags ==&lt;br /&gt;
 [[AMC1 serial FLASH mapping]]&lt;br /&gt;
 [[AMC1 U-Boot: serial FLASH programming]]&lt;br /&gt;
 http://www.denx.de/wiki/U-Boot/TaskSetEnvironmentDefaults&lt;br /&gt;
 http://processors.wiki.ti.com/index.php/Modifying_U-boot&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 [[category:U-Boot]]&lt;br /&gt;
 [[Category:AMC1]]&lt;/div&gt;</summary>
		<author><name>Claus</name></author>
	</entry>
	<entry>
		<id>https://dsignt.de/support-wiki/index.php?title=Serial_FLASH_mapping_on_AMC1&amp;diff=1364</id>
		<title>Serial FLASH mapping on AMC1</title>
		<link rel="alternate" type="text/html" href="https://dsignt.de/support-wiki/index.php?title=Serial_FLASH_mapping_on_AMC1&amp;diff=1364"/>
		<updated>2017-11-15T08:14:29Z</updated>

		<summary type="html">&lt;p&gt;Claus: Created page with &amp;quot;{| class=&amp;quot;wikitable&amp;quot; ! style=&amp;quot;font-weight: bold; font-style: italic;&amp;quot; | Address ! style=&amp;quot;font-weight: bold; font-style: italic;&amp;quot; | Description ! style=&amp;quot;font-weight: bold; font...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;font-weight: bold; font-style: italic;&amp;quot; | Address&lt;br /&gt;
! style=&amp;quot;font-weight: bold; font-style: italic;&amp;quot; | Description&lt;br /&gt;
! style=&amp;quot;font-weight: bold; font-style: italic;&amp;quot; | Notes&lt;br /&gt;
|-&lt;br /&gt;
| 0x000000&lt;br /&gt;
| U-Boot image&lt;br /&gt;
| required boot sector&lt;br /&gt;
|-&lt;br /&gt;
| 0x080000&lt;br /&gt;
| U-Boot image backup&lt;br /&gt;
| optional boot copy&lt;br /&gt;
|-&lt;br /&gt;
| 0x100000&lt;br /&gt;
| Environment&lt;br /&gt;
| used by &#039;&#039;&#039;&#039;&#039;saveenv&#039;&#039;&#039;&#039;&#039; command&lt;br /&gt;
|-&lt;br /&gt;
| 0x110000&lt;br /&gt;
| Environment backup&lt;br /&gt;
| optional backup of environment&lt;br /&gt;
|-&lt;br /&gt;
| 0x120000&lt;br /&gt;
| DTB&lt;br /&gt;
| optional&lt;br /&gt;
|-&lt;br /&gt;
| 0x130000&lt;br /&gt;
| free&lt;br /&gt;
| for general purpose&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| 0x200000 &amp;lt;br&amp;gt; 0x7FFFFF&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| Linux Image&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| optional Linux Image&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{pagetop}}&lt;br /&gt;
== Additional Tags ==&lt;br /&gt;
 [[AMC1 U-Boot: Update via TFTP]]&lt;br /&gt;
 [[AMC1 U-Boot: Update via USB]]&lt;br /&gt;
 [[AMC1 U-Boot: serial FLASH programming]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 [[category:AMC1]]&lt;/div&gt;</summary>
		<author><name>Claus</name></author>
	</entry>
	<entry>
		<id>https://dsignt.de/support-wiki/index.php?title=File:TeraTermDelay.png&amp;diff=1363</id>
		<title>File:TeraTermDelay.png</title>
		<link rel="alternate" type="text/html" href="https://dsignt.de/support-wiki/index.php?title=File:TeraTermDelay.png&amp;diff=1363"/>
		<updated>2017-11-15T08:11:41Z</updated>

		<summary type="html">&lt;p&gt;Claus: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Claus</name></author>
	</entry>
	<entry>
		<id>https://dsignt.de/support-wiki/index.php?title=MediaWiki:Breadcrumbs&amp;diff=1362</id>
		<title>MediaWiki:Breadcrumbs</title>
		<link rel="alternate" type="text/html" href="https://dsignt.de/support-wiki/index.php?title=MediaWiki:Breadcrumbs&amp;diff=1362"/>
		<updated>2017-11-15T08:10:23Z</updated>

		<summary type="html">&lt;p&gt;Claus: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* Main Page @ &lt;br /&gt;
* default @ [[Main Page|Main Page]] &amp;gt;&lt;br /&gt;
* Hardware @ [[Main Page|Main Page]] &amp;gt; [[:Category:Hardware|Hardware]] &amp;gt;&lt;br /&gt;
* D.Module @ [[Main Page|Main Page]] &amp;gt; [[:Category:Hardware|Hardware]] &amp;gt; [[:Category:D.Module|D.Module]] &amp;gt;&lt;br /&gt;
* Clock @ [[Main Page|Main Page]] &amp;gt; [[:Category:Hardware|Hardware]] &amp;gt; [[:Category:D.Module|D.Module]] &amp;gt; [[:Category:Clock|Clock]] &amp;gt;&lt;br /&gt;
* D.Module.21065 @ [[Main Page|Main Page]] &amp;gt; [[:Category:Hardware|Hardware]] &amp;gt; [[:Category:D.Module|D.Module]] &amp;gt; [[:Category:D.Module.21065|D.Module.21065]] &amp;gt;&lt;br /&gt;
* D.Module.VC33 @ [[Main Page|Main Page]] &amp;gt; [[:Category:Hardware|Hardware]] &amp;gt; [[:Category:D.Module|D.Module]] &amp;gt; [[:Category:D.Module.VC33|D.Module.VC33]] &amp;gt;&lt;br /&gt;
* D.Module.C6x01 @ [[Main Page|Main Page]] &amp;gt; [[:Category:Hardware|Hardware]] &amp;gt; [[:Category:D.Module|D.Module]] &amp;gt; [[:Category:D.Module.C6x01|D.Module.C6x01]] &amp;gt;&lt;br /&gt;
* D.Module.C6203 @ [[Main Page|Main Page]] &amp;gt; [[:Category:Hardware|Hardware]] &amp;gt; [[:Category:D.Module|D.Module]] &amp;gt; [[:Category:D.Module.C6203|D.Module.C6203]] &amp;gt;&lt;br /&gt;
* D.Module.C6713 @ [[Main Page|Main Page]] &amp;gt; [[:Category:Hardware|Hardware]] &amp;gt; [[:Category:D.Module|D.Module]] &amp;gt; [[:Category:D.Module.C6713|D.Module.C6713]] &amp;gt;&lt;br /&gt;
* D.Module2.C6747 @ [[Main Page|Main Page]] &amp;gt; [[:Category:Hardware|Hardware]] &amp;gt; [[:Category:D.Module|D.Module]] &amp;gt; [[:Category:D.Module2.C6747|D.Module2.C6747]] &amp;gt;&lt;br /&gt;
* D.Module2.TS203 @ [[Main Page|Main Page]] &amp;gt; [[:Category:Hardware|Hardware]] &amp;gt; [[:Category:D.Module|D.Module]] &amp;gt; [[:Category:D.Module2.TS203|D.Module2.TS203]] &amp;gt;&lt;br /&gt;
* D.Module2.C6657 @ [[Main Page|Main Page]] &amp;gt; [[:Category:Hardware|Hardware]] &amp;gt; [[:Category:D.Module|D.Module]] &amp;gt; [[:Category:D.Module2.C6657|D.Module2.C6657]] &amp;gt;&lt;br /&gt;
* D.Module2.6SLX45T @ [[Main Page|Main Page]] &amp;gt; [[:Category:Hardware|Hardware]] &amp;gt; [[:Category:D.Module|D.Module]] &amp;gt; [[:Category:D.Module2.6SLX45T|D.Module2.6SLX45T]] &amp;gt;&lt;br /&gt;
* D.Module2.ADDA500K16 @ [[Main Page|Main Page]] &amp;gt; [[:Category:Hardware|Hardware]] &amp;gt; [[:Category:D.Module|D.Module]] &amp;gt; [[:Category:D.Module2.ADDA500K16|D.Module2.ADDA500K16]] &amp;gt;&lt;br /&gt;
* D.Module2.ADDA8M12 @ [[Main Page|Main Page]] &amp;gt; [[:Category:Hardware|Hardware]] &amp;gt; [[:Category:D.Module|D.Module]] &amp;gt; [[:Category:D.Module2.ADDA8M12|D.Module2.ADDA8M12]] &amp;gt;&lt;br /&gt;
* D.Module.ADDA16 @ [[Main Page|Main Page]] &amp;gt; [[:Category:Hardware|Hardware]] &amp;gt; [[:Category:D.Module|D.Module]] &amp;gt; [[:Category:D.Module.ADDA16|D.Module.ADDA16]] &amp;gt;&lt;br /&gt;
* D.Module.ADDA12Mux @ [[Main Page|Main Page]] &amp;gt; [[:Category:Hardware|Hardware]] &amp;gt; [[:Category:D.Module|D.Module]] &amp;gt; [[:Category:D.Module.ADDA12Mux|D.Module.ADDA12Mux]] &amp;gt;&lt;br /&gt;
* D.Module.4215 @ [[Main Page|Main Page]] &amp;gt; [[:Category:Hardware|Hardware]] &amp;gt; [[:Category:D.Module|D.Module]] &amp;gt; [[:Category:D.Module.4215|D.Module.4215]] &amp;gt;&lt;br /&gt;
* D.Module.ADDA7722 @ [[Main Page|Main Page]] &amp;gt; [[:Category:Hardware|Hardware]] &amp;gt; [[:Category:D.Module|D.Module]] &amp;gt; [[:Category:D.Module.ADDA7722|D.Module.ADDA7722]] &amp;gt;&lt;br /&gt;
* D.Module.PCM3003 @ [[Main Page|Main Page]] &amp;gt; [[:Category:Hardware|Hardware]] &amp;gt; [[:Category:D.Module|D.Module]] &amp;gt; [[:Category:D.Module.PCM3003|D.Module.PCM3003]] &amp;gt;&lt;br /&gt;
* D.Module.91c111 @ [[Main Page|Main Page]] &amp;gt; [[:Category:Hardware|Hardware]] &amp;gt; [[:Category:D.Module|D.Module]] &amp;gt; [[:Category:D.Module.91c111|D.Module.91c111]] &amp;gt;&lt;br /&gt;
* D.Module.USB2+ @ [[Main Page|Main Page]] &amp;gt; [[:Category:Hardware|Hardware]] &amp;gt; [[:Category:D.Module|D.Module]] &amp;gt; [[:Category:D.Module.USB2+|D.Module.USB2+]] &amp;gt;&lt;br /&gt;
* EDMA @ [[Main Page|Main Page]] &amp;gt; [[:Category:Hardware|Hardware]] &amp;gt; [[:Category:D.Module|D.Module]] &amp;gt; [[:Category:EDMA|EDMA]] &amp;gt;&lt;br /&gt;
* HPI @ [[Main Page|Main Page]] &amp;gt; [[:Category:Hardware|Hardware]] &amp;gt; [[:Category:D.Module|D.Module]] &amp;gt; [[:Category:HPI|HPI]] &amp;gt;&lt;br /&gt;
* Timer @ [[Main Page|Main Page]] &amp;gt; [[:Category:Hardware|Hardware]] &amp;gt; [[:Category:D.Module|D.Module]] &amp;gt; [[:Category:Timer|Timer]] &amp;gt;&lt;br /&gt;
* UART @ [[Main Page|Main Page]] &amp;gt; [[:Category:Hardware|Hardware]] &amp;gt; [[:Category:D.Module|D.Module]] &amp;gt; [[:Category:UART|UART]] &amp;gt;&lt;br /&gt;
* DSK @ [[Main Page|Main Page]] &amp;gt; [[:Category:Hardware|Hardware]] &amp;gt; [[:Category:DSK|DSK]] &amp;gt;&lt;br /&gt;
* AMC @ [[Main Page|Main Page]] &amp;gt; [[:Category:Hardware|Hardware]] &amp;gt; [[:Category:AMC|AMC]] &amp;gt;&lt;br /&gt;
* AMC1 @ [[Main Page|Main Page]] &amp;gt; [[:Category:Hardware|Hardware]] &amp;gt; [[:Category:AMC|AMC]] &amp;gt; [[:Category:AMC1|AMC1]] &amp;gt;&lt;br /&gt;
* Software @ [[Main Page|Main Page]] &amp;gt; [[:Category:Software|Software]] &amp;gt;&lt;br /&gt;
* BIOS @ [[Main Page|Main Page]] &amp;gt; [[:Category:Software|Software]] &amp;gt; [[:Category:BIOS|BIOS]] &amp;gt;&lt;br /&gt;
* TCP/IP @ [[Main Page|Main Page]] &amp;gt; [[:Category:Software|Software]] &amp;gt; [[:Category:TCP/IP|TCP/IP]] &amp;gt;&lt;br /&gt;
* Documentation TCP/IP @ [[Main Page|Main Page]] &amp;gt; [[:Category:Software|Software]] &amp;gt; [[:Category:TCP/IP|TCP/IP]] &amp;gt; [[:Category:Documentation TCP/IP|Documentation TCP/IP]] &amp;gt;&lt;br /&gt;
* USB @ [[Main Page|Main Page]] &amp;gt; [[:Category:Software|Software]] &amp;gt; [[:Category:USB|USB]] &amp;gt;&lt;br /&gt;
* DSP @ [[Main Page|Main Page]] &amp;gt; [[:Category:Software|Software]] &amp;gt; [[:Category:DSP|DSP]] &amp;gt;&lt;br /&gt;
* Xilinx @ [[Main Page|Main Page]] &amp;gt; [[:Category:Software|Software]] &amp;gt; [[:Category:Xilinx|Xilinx]] &amp;gt;&lt;br /&gt;
* Other @ [[Main Page|Main Page]] &amp;gt; [[:Category:Software|Software]] &amp;gt; [[:Category:Other|Other]] &amp;gt;&lt;br /&gt;
* Code Generation Tools @ [[Main Page|Main Page]] &amp;gt; [[:Category:Code Generation Tools|Code Generation Tools]] &amp;gt;&lt;br /&gt;
* C3x4x @ [[Main Page|Main Page]] &amp;gt; [[:Category:Code Generation Tools|Code Generation Tools]] &amp;gt; [[:Category:C3x4x|C3x4x]] &amp;gt;&lt;br /&gt;
* CCS3 @ [[Main Page|Main Page]] &amp;gt; [[:Category:Code Generation Tools|Code Generation Tools]] &amp;gt; [[:Category:CCS3|CCS3]] &amp;gt;&lt;br /&gt;
* CCS4 @ [[Main Page|Main Page]] &amp;gt; [[:Category:Code Generation Tools|Code Generation Tools]] &amp;gt; [[:Category:CCS4|CCS4]] &amp;gt;&lt;br /&gt;
* CCS4 Install @ [[Main Page|Main Page]] &amp;gt; [[:Category:Code Generation Tools|Code Generation Tools]] &amp;gt; [[:Category:CCS4|CCS4]] &amp;gt; [[:Category:CCS4 Install|CCS4 Install]] &amp;gt;&lt;br /&gt;
* CCS4 Usage @ [[Main Page|Main Page]] &amp;gt; [[:Category:Code Generation Tools|Code Generation Tools]] &amp;gt; [[:Category:CCS4|CCS4]] &amp;gt; [[:Category:CCS4 Usage|CCS4 Usage]] &amp;gt;&lt;br /&gt;
* CCS5 @ [[Main Page|Main Page]] &amp;gt; [[:Category:Code Generation Tools|Code Generation Tools]] &amp;gt; [[:Category:CCS5|CCS5]] &amp;gt;&lt;br /&gt;
* CCS5 Install @ [[Main Page|Main Page]] &amp;gt; [[:Category:Code Generation Tools|Code Generation Tools]] &amp;gt; [[:Category:CCS5|CCS5]] &amp;gt; [[:Category:CCS5 Install|CCS5 Install]] &amp;gt;&lt;br /&gt;
* CCS5 Usage @ [[Main Page|Main Page]] &amp;gt; [[:Category:Code Generation Tools|Code Generation Tools]] &amp;gt; [[:Category:CCS5|CCS5]] &amp;gt; [[:Category:CCS5 Usage|CCS5 Usage]] &amp;gt;&lt;br /&gt;
* CCS5 Updates @ [[Main Page|Main Page]] &amp;gt; [[:Category:Code Generation Tools|Code Generation Tools]] &amp;gt; [[:Category:CCS5|CCS5]] &amp;gt; [[:Category:CCS5 Updates|CCS5 Updates]] &amp;gt;&lt;br /&gt;
* CCS6 @ [[Main Page|Main Page]] &amp;gt; [[:Category:Code Generation Tools|Code Generation Tools]] &amp;gt; [[:Category:CCS6|CCS6]] &amp;gt;&lt;br /&gt;
* CCS6 Install @ [[Main Page|Main Page]] &amp;gt; [[:Category:Code Generation Tools|Code Generation Tools]] &amp;gt; [[:Category:CCS6|CCS6]] &amp;gt; [[:Category:CCS6 Install|CCS6 Install]] &amp;gt;&lt;br /&gt;
* CCS6 Usage @ [[Main Page|Main Page]] &amp;gt; [[:Category:Code Generation Tools|Code Generation Tools]] &amp;gt; [[:Category:CCS6|CCS6]] &amp;gt; [[:Category:CCS6 Usage|CCS6 Usage]] &amp;gt;&lt;br /&gt;
* CCS6 Updates @ [[Main Page|Main Page]] &amp;gt; [[:Category:Code Generation Tools|Code Generation Tools]] &amp;gt; [[:Category:CCS6|CCS6]] &amp;gt; [[:Category:CCS6 Updates|CCS6 Updates]] &amp;gt;&lt;br /&gt;
* Emulator @ [[Main Page|Main Page]] &amp;gt; [[:Category:Emulator|Emulator]] &amp;gt;&lt;br /&gt;
* XDS510PP plus @ [[Main Page|Main Page]] &amp;gt; [[:Category:Emulator|Emulator]] &amp;gt; [[:Category:XDS510PP plus|XDS510PP plus]] &amp;gt;&lt;br /&gt;
* SDFlash @ [[Main Page|Main Page]] &amp;gt; [[:Category:Emulator|Emulator]] &amp;gt; [[:Category:SDFlash|SDFlash]] &amp;gt;&lt;br /&gt;
* XDS510 USB @ [[Main Page|Main Page]] &amp;gt; [[:Category:Emulator|Emulator]] &amp;gt; [[:Category:XDS510 USB|XDS510 USB]] &amp;gt;&lt;br /&gt;
* XDS560R @ [[Main Page|Main Page]] &amp;gt; [[:Category:Emulator|Emulator]] &amp;gt; [[:Category:XDS560R|XDS560R]] &amp;gt;&lt;br /&gt;
* XDS100v3 @ [[Main Page|Main Page]] &amp;gt; [[:Category:Emulator|Emulator]] &amp;gt; [[:Category:XDS100v3|XDS100v3]] &amp;gt;&lt;/div&gt;</summary>
		<author><name>Claus</name></author>
	</entry>
	<entry>
		<id>https://dsignt.de/support-wiki/index.php?title=Reset_U-Boot_environment_on_AMC1&amp;diff=1361</id>
		<title>Reset U-Boot environment on AMC1</title>
		<link rel="alternate" type="text/html" href="https://dsignt.de/support-wiki/index.php?title=Reset_U-Boot_environment_on_AMC1&amp;diff=1361"/>
		<updated>2017-11-15T08:07:41Z</updated>

		<summary type="html">&lt;p&gt;Claus: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Reset AMC1 U-Boot environment ==&lt;br /&gt;
    setenv resetenv &#039;env default -f -a &amp;amp;&amp;amp; saveenv &amp;amp;&amp;amp; reset&#039;&lt;br /&gt;
    run resetenv&lt;br /&gt;
&lt;br /&gt;
The script [[Reset_U-Boot_environment#Script AMC1_ClearEnvironment.ser|AMC1_ClearEnvironment.ser]] (s. below) is used to reset the AMC1 U-Boot environment. Use a serial terminal to send this script to your board. The script is executed automatically, no further commands are necessary. After the script succeeds, the AMC1 is re-bootet and you should see the following boot message:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c style=&amp;quot;border:1px blue&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;debug_uart&amp;gt;&lt;br /&gt;
&lt;br /&gt;
U-Boot 2017.01 (Aug 29 2017 - 13:35:23 +0200)&lt;br /&gt;
&lt;br /&gt;
CPU  : AM437X-GP rev 1.2&lt;br /&gt;
I2C:   ready&lt;br /&gt;
DRAM:  512 MiB&lt;br /&gt;
MMC:   OMAP SD/MMC: 0, OMAP SD/MMC: 1&lt;br /&gt;
SF: Detected w25q64cv with page size 256 Bytes, erase size 4 KiB, total 8 MiB, m&lt;br /&gt;
apped at 30000000&lt;br /&gt;
In:    serial&lt;br /&gt;
Out:   serial&lt;br /&gt;
Err:   serial&lt;br /&gt;
Net:   cpsw&lt;br /&gt;
Hit any key to stop autoboot:  0&lt;br /&gt;
========= D.SignT U-Boot first boot ==========&lt;br /&gt;
AMC1&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No further program is booted and the U-Boot command processor is waiting for configuration steps.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you enter the print environment command &#039;&#039;&#039;&#039;&#039;printenv&#039;&#039;&#039;&#039;&#039;, all factory settings will be displayed on your terminal:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c style=&amp;quot;border:1px blue&amp;quot;&amp;gt;&lt;br /&gt;
AMC1&amp;gt; printenv&lt;br /&gt;
arch=arm&lt;br /&gt;
autoconf=off&lt;br /&gt;
autoload=n&lt;br /&gt;
baudrate=115200&lt;br /&gt;
board=amc1&lt;br /&gt;
board_name=amc1&lt;br /&gt;
bootcmd=run firstboot;&lt;br /&gt;
bootdelay=2&lt;br /&gt;
bootm_size=0x20000000&lt;br /&gt;
console=ttyS2,115200n8&lt;br /&gt;
cpu=armv7&lt;br /&gt;
device=eth1&lt;br /&gt;
eth1addr=c4:be:84:cb:1f:ff&lt;br /&gt;
ethact=cpsw&lt;br /&gt;
ethaddr=c4:be:84:cb:1f:fd&lt;br /&gt;
fdt_addr_r=0x88000000&lt;br /&gt;
fdt_high=0xffffffff&lt;br /&gt;
fdtaddr=0x88000000&lt;br /&gt;
firstboot=echo ========= D.SignT U-Boot first boot ==========&lt;br /&gt;
hostname=AMC1-10004&lt;br /&gt;
kernel_addr_r=0x82000000&lt;br /&gt;
loadaddr=0x80200000&lt;br /&gt;
ramdisk_addr_r=0x88080000&lt;br /&gt;
rdaddr=0x88080000&lt;br /&gt;
soc=am33xx&lt;br /&gt;
stderr=serial&lt;br /&gt;
stdin=serial&lt;br /&gt;
stdout=serial&lt;br /&gt;
vendor=D.SignT GmbH &amp;amp; Co. KG&lt;br /&gt;
&lt;br /&gt;
Environment size: 617/65532 bytes&lt;br /&gt;
AMC1&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;{{pagetop}}&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;&#039;&#039;bootcmd&#039;&#039;&#039;&#039;&#039; ==&lt;br /&gt;
The macro &#039;&#039;&#039;&#039;&#039;bootcmd&#039;&#039;&#039;&#039;&#039; is automatically executed when the U-Boot command processor is activated after boot. After executing AMC1_ClearEnvironment.ser the &#039;&#039;&#039;&#039;&#039;bootcmd&#039;&#039;&#039;&#039;&#039; is set to execute the &#039;&#039;&#039;&#039;&#039;firstboot&#039;&#039;&#039;&#039;&#039; macro which in turn prints the &#039;&#039;&#039;&#039;&#039;========= D.SignT U-Boot first boot ==========&#039;&#039;&#039;&#039;&#039; message after booting. To change the boot behaviour, you simply need to change the &#039;&#039;&#039;&#039;&#039;bootcmd&#039;&#039;&#039;&#039;&#039; environment variable to a reasonable boot macro.&lt;br /&gt;
&lt;br /&gt;
{{pagetop}}&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Problems sending the script ==&lt;br /&gt;
You can either enter the commands by hand on your terminal or send the entire script at once via text file upload. Since the serial UART on the AMC1 uses a small cache and each command is interpreted after receiving a CR or LF immediately, it may happen that the one or the other line is broken. This may happen particularly if a long operation is in progress (e.g. a FLASH erase command). To avoid this situation all commands are usually stored as macros via &#039;&#039;&#039;&#039;&#039;setenv&#039;&#039;&#039;&#039;&#039; command and executed at the end of the script with the &#039;&#039;&#039;&#039;&#039;run&#039;&#039;&#039;&#039;&#039; command.&lt;br /&gt;
&lt;br /&gt;
If you observe such broken lines despite this, you can add some delay after sending a line in your terminal. E.g. in TeraTerm:&lt;br /&gt;
&lt;br /&gt;
[[File:TeraTermDelay.png|TeraTerm delay settings]]&lt;br /&gt;
&lt;br /&gt;
{{pagetop}}&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Script AMC1_ClearEnvironment.ser ==&lt;br /&gt;
The full script is listed here:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c style=&amp;quot;border:1px dashed blue&amp;quot;&amp;gt;&lt;br /&gt;
###################################################################//##&lt;br /&gt;
#&lt;br /&gt;
# @file       AMC1_ClearEnvironment.ser&lt;br /&gt;
# @verbatim                 _         _             _&lt;br /&gt;
#                        __| |    ___(_) ____ _ __ | |_&lt;br /&gt;
#                       / _` |   / __| |/ _` | &#039;_ \| __|&lt;br /&gt;
#                      | (_| | _ \__ \ | (_| | | | | |_&lt;br /&gt;
#                       \__,_|(_) ___/_|\__, |_| |_|\__|&lt;br /&gt;
#                      Signalprocessing |___/ Technology&lt;br /&gt;
# @endverbatim&lt;br /&gt;
# @brief      U-Boot script to clear AMC1 U-Boot environment&lt;br /&gt;
# @author     D.SignT GmbH &amp;amp; Co. KG, Claus Hermbusche&lt;br /&gt;
# @date       2017-08-29 01:42 PM&lt;br /&gt;
#&lt;br /&gt;
# This script resets and clears all U-Boot environment variables on the&lt;br /&gt;
# AMC1 to its default values and restarts the board with the clean en-&lt;br /&gt;
# vironment.&lt;br /&gt;
#&lt;br /&gt;
#!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!&lt;br /&gt;
#! Warnings:                                                          !&lt;br /&gt;
#! - your network settings will be cleared and need to be reconfigured!&lt;br /&gt;
#! - your boot settings will be cleared and need to be set            !&lt;br /&gt;
#!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!&lt;br /&gt;
#&lt;br /&gt;
# The environment space on the AMC1 is located in serial QSPI FLASH at&lt;br /&gt;
# address 0x100000 and is 0x10000 bytes large. If this script succeeds,&lt;br /&gt;
# only this specific area is erased and re-written with default values.&lt;br /&gt;
# No other space on eMMC or USB or I2C is affected.&lt;br /&gt;
#&lt;br /&gt;
# Variables after env default command:&lt;br /&gt;
#   arch=arm&lt;br /&gt;
#   autoconf=off&lt;br /&gt;
#   baudrate=115200&lt;br /&gt;
#   board=amc1&lt;br /&gt;
#   board_name=amc1&lt;br /&gt;
#   bootcmd=setenv autoload n; run nfsboot;&lt;br /&gt;
#   bootdelay=2&lt;br /&gt;
#   bootm_size=0x20000000&lt;br /&gt;
#   console=ttyS2,115200n8&lt;br /&gt;
#   cpu=armv7&lt;br /&gt;
#   device=eth1&lt;br /&gt;
#   fdt_addr_r=0x88000000&lt;br /&gt;
#   fdt_high=0xffffffff&lt;br /&gt;
#   fdtaddr=0x88000000&lt;br /&gt;
#   kernel_addr_r=0x82000000&lt;br /&gt;
#   loadaddr=0x80200000&lt;br /&gt;
#   nfsboot=echo Booting from network disabled;&lt;br /&gt;
#   ramdisk_addr_r=0x88080000&lt;br /&gt;
#   rdaddr=0x88080000&lt;br /&gt;
#   soc=am33xx&lt;br /&gt;
#   vendor=D.SignT GmbH &amp;amp; Co. KG&lt;br /&gt;
#&lt;br /&gt;
# After reset some more variables are added:&lt;br /&gt;
#   autoload=n&lt;br /&gt;
#   eth1addr=c4:be:84:cb:1f:ff       &amp;lt;- depends on chip ID&lt;br /&gt;
#   ethact=cpsw&lt;br /&gt;
#   ethaddr=c4:be:84:cb:1f:fd        &amp;lt;- depends on chip ID&lt;br /&gt;
#   hostname=AMC1-10004              &amp;lt;- depends on serial number&lt;br /&gt;
#   stderr=serial&lt;br /&gt;
#   stdin=serial&lt;br /&gt;
#   stdout=serial&lt;br /&gt;
#&lt;br /&gt;
#######################################################################&lt;br /&gt;
&lt;br /&gt;
setenv resetenv &#039;env default -f -a &amp;amp;&amp;amp; saveenv &amp;amp;&amp;amp; reset&#039;&lt;br /&gt;
run resetenv&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;{{pagetop}}&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Additional Tags ==&lt;br /&gt;
 [[AMC1 U-Boot: serial FLASH mapping]]&lt;br /&gt;
 [[AMC1 U-Boot: serial FLASH programming]]&lt;br /&gt;
 http://www.denx.de/wiki/U-Boot/TaskSetEnvironmentDefaults&lt;br /&gt;
 http://processors.wiki.ti.com/index.php/Modifying_U-boot&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 [[category:U-Boot]]&lt;br /&gt;
 [[Category:AMC1]]&lt;/div&gt;</summary>
		<author><name>Claus</name></author>
	</entry>
	<entry>
		<id>https://dsignt.de/support-wiki/index.php?title=Reset_U-Boot_environment_on_AMC1&amp;diff=1360</id>
		<title>Reset U-Boot environment on AMC1</title>
		<link rel="alternate" type="text/html" href="https://dsignt.de/support-wiki/index.php?title=Reset_U-Boot_environment_on_AMC1&amp;diff=1360"/>
		<updated>2017-11-15T07:58:16Z</updated>

		<summary type="html">&lt;p&gt;Claus: Created page with &amp;quot;== Reset AMC1 U-Boot environment ==     setenv resetenv &amp;#039;env default -f -a &amp;amp;&amp;amp; saveenv &amp;amp;&amp;amp; reset&amp;#039;     run resetenv  The script Reset U-Boot environment#Script AMC1_ClearEnviro...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Reset AMC1 U-Boot environment ==&lt;br /&gt;
    setenv resetenv &#039;env default -f -a &amp;amp;&amp;amp; saveenv &amp;amp;&amp;amp; reset&#039;&lt;br /&gt;
    run resetenv&lt;br /&gt;
&lt;br /&gt;
The script [[Reset U-Boot environment#Script AMC1_ClearEnvironment.ser|AMC1_ClearEnvironment.ser]] (s. below) is used to reset the AMC1 U-Boot environment. Use a serial terminal to send this script to your board. The script is executed automatically, no further commands are necessary. After the script succeeds, the AMC1 is re-bootet and you should see the following boot message:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c style=&amp;quot;border:1px blue&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;debug_uart&amp;gt;&lt;br /&gt;
&lt;br /&gt;
U-Boot 2017.01 (Aug 29 2017 - 13:35:23 +0200)&lt;br /&gt;
&lt;br /&gt;
CPU  : AM437X-GP rev 1.2&lt;br /&gt;
I2C:   ready&lt;br /&gt;
DRAM:  512 MiB&lt;br /&gt;
MMC:   OMAP SD/MMC: 0, OMAP SD/MMC: 1&lt;br /&gt;
SF: Detected w25q64cv with page size 256 Bytes, erase size 4 KiB, total 8 MiB, m&lt;br /&gt;
apped at 30000000&lt;br /&gt;
In:    serial&lt;br /&gt;
Out:   serial&lt;br /&gt;
Err:   serial&lt;br /&gt;
Net:   cpsw&lt;br /&gt;
Hit any key to stop autoboot:  0&lt;br /&gt;
========= D.SignT U-Boot first boot ==========&lt;br /&gt;
AMC1&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No further program is booted and the U-Boot command processor is waiting for configuration steps.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you enter the print environment command &#039;&#039;&#039;&#039;&#039;printenv&#039;&#039;&#039;&#039;&#039;, all factory settings will be displayed on your terminal:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c style=&amp;quot;border:1px blue&amp;quot;&amp;gt;&lt;br /&gt;
AMC1&amp;gt; printenv&lt;br /&gt;
arch=arm&lt;br /&gt;
autoconf=off&lt;br /&gt;
autoload=n&lt;br /&gt;
baudrate=115200&lt;br /&gt;
board=amc1&lt;br /&gt;
board_name=amc1&lt;br /&gt;
bootcmd=run firstboot;&lt;br /&gt;
bootdelay=2&lt;br /&gt;
bootm_size=0x20000000&lt;br /&gt;
console=ttyS2,115200n8&lt;br /&gt;
cpu=armv7&lt;br /&gt;
device=eth1&lt;br /&gt;
eth1addr=c4:be:84:cb:1f:ff&lt;br /&gt;
ethact=cpsw&lt;br /&gt;
ethaddr=c4:be:84:cb:1f:fd&lt;br /&gt;
fdt_addr_r=0x88000000&lt;br /&gt;
fdt_high=0xffffffff&lt;br /&gt;
fdtaddr=0x88000000&lt;br /&gt;
firstboot=echo ========= D.SignT U-Boot first boot ==========&lt;br /&gt;
hostname=AMC1-10004&lt;br /&gt;
kernel_addr_r=0x82000000&lt;br /&gt;
loadaddr=0x80200000&lt;br /&gt;
ramdisk_addr_r=0x88080000&lt;br /&gt;
rdaddr=0x88080000&lt;br /&gt;
soc=am33xx&lt;br /&gt;
stderr=serial&lt;br /&gt;
stdin=serial&lt;br /&gt;
stdout=serial&lt;br /&gt;
vendor=D.SignT GmbH &amp;amp; Co. KG&lt;br /&gt;
&lt;br /&gt;
Environment size: 617/65532 bytes&lt;br /&gt;
AMC1&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;{{pagetop}}&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;&#039;&#039;bootcmd&#039;&#039;&#039;&#039;&#039; ==&lt;br /&gt;
The macro &#039;&#039;&#039;&#039;&#039;bootcmd&#039;&#039;&#039;&#039;&#039; is automatically executed when the U-Boot command processor is activated after boot. After executing AMC1_ClearEnvironment.ser the &#039;&#039;&#039;&#039;&#039;bootcmd&#039;&#039;&#039;&#039;&#039; is set to execute the &#039;&#039;&#039;&#039;&#039;firstboot&#039;&#039;&#039;&#039;&#039; macro which in turn prints the &#039;&#039;&#039;&#039;&#039;========= D.SignT U-Boot first boot ==========&#039;&#039;&#039;&#039;&#039; message after booting. To change the boot behaviour, you simply need to change the &#039;&#039;&#039;&#039;&#039;bootcmd&#039;&#039;&#039;&#039;&#039; environment variable to a reasonable boot macro.&lt;br /&gt;
&lt;br /&gt;
{{pagetop}}&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Problems sending the script ==&lt;br /&gt;
You can either enter the commands by hand on your terminal or send the entire script at once via text file upload. Since the serial UART on the AMC1 uses a small cache and each command is interpreted after receiving a CR or LF immediately, it may happen that the one or the other line is broken. This may happen particularly if a long operation is in progress (e.g. a FLASH erase command). To avoid this situation all commands are usually stored as macros via &#039;&#039;&#039;&#039;&#039;setenv&#039;&#039;&#039;&#039;&#039; command and executed at the end of the script with the &#039;&#039;&#039;&#039;&#039;run&#039;&#039;&#039;&#039;&#039; command.&lt;br /&gt;
&lt;br /&gt;
If you observe such broken lines despite this, you can add some delay after sending a line in your terminal. E.g. in TeraTerm:&lt;br /&gt;
&lt;br /&gt;
[[File:TeraTermDelay.png|TeraTerm delay settings]]&lt;br /&gt;
&lt;br /&gt;
{{pagetop}}&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Script AMC1_ClearEnvironment.ser ==&lt;br /&gt;
The full script is listed here:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c style=&amp;quot;border:1px dashed blue&amp;quot;&amp;gt;&lt;br /&gt;
###################################################################//##&lt;br /&gt;
#&lt;br /&gt;
# @file       AMC1_ClearEnvironment.ser&lt;br /&gt;
# @verbatim                 _         _             _&lt;br /&gt;
#                        __| |    ___(_) ____ _ __ | |_&lt;br /&gt;
#                       / _` |   / __| |/ _` | &#039;_ \| __|&lt;br /&gt;
#                      | (_| | _ \__ \ | (_| | | | | |_&lt;br /&gt;
#                       \__,_|(_) ___/_|\__, |_| |_|\__|&lt;br /&gt;
#                      Signalprocessing |___/ Technology&lt;br /&gt;
# @endverbatim&lt;br /&gt;
# @brief      U-Boot script to clear AMC1 U-Boot environment&lt;br /&gt;
# @author     D.SignT GmbH &amp;amp; Co. KG, Claus Hermbusche&lt;br /&gt;
# @date       2017-08-29 01:42 PM&lt;br /&gt;
#&lt;br /&gt;
# This script resets and clears all U-Boot environment variables on the&lt;br /&gt;
# AMC1 to its default values and restarts the board with the clean en-&lt;br /&gt;
# vironment.&lt;br /&gt;
#&lt;br /&gt;
#!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!&lt;br /&gt;
#! Warnings:                                                          !&lt;br /&gt;
#! - your network settings will be cleared and need to be reconfigured!&lt;br /&gt;
#! - your boot settings will be cleared and need to be set            !&lt;br /&gt;
#!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!&lt;br /&gt;
#&lt;br /&gt;
# The environment space on the AMC1 is located in serial QSPI FLASH at&lt;br /&gt;
# address 0x100000 and is 0x10000 bytes large. If this script succeeds,&lt;br /&gt;
# only this specific area is erased and re-written with default values.&lt;br /&gt;
# No other space on eMMC or USB or I2C is affected.&lt;br /&gt;
#&lt;br /&gt;
# Variables after env default command:&lt;br /&gt;
#   arch=arm&lt;br /&gt;
#   autoconf=off&lt;br /&gt;
#   baudrate=115200&lt;br /&gt;
#   board=amc1&lt;br /&gt;
#   board_name=amc1&lt;br /&gt;
#   bootcmd=setenv autoload n; run nfsboot;&lt;br /&gt;
#   bootdelay=2&lt;br /&gt;
#   bootm_size=0x20000000&lt;br /&gt;
#   console=ttyS2,115200n8&lt;br /&gt;
#   cpu=armv7&lt;br /&gt;
#   device=eth1&lt;br /&gt;
#   fdt_addr_r=0x88000000&lt;br /&gt;
#   fdt_high=0xffffffff&lt;br /&gt;
#   fdtaddr=0x88000000&lt;br /&gt;
#   kernel_addr_r=0x82000000&lt;br /&gt;
#   loadaddr=0x80200000&lt;br /&gt;
#   nfsboot=echo Booting from network disabled;&lt;br /&gt;
#   ramdisk_addr_r=0x88080000&lt;br /&gt;
#   rdaddr=0x88080000&lt;br /&gt;
#   soc=am33xx&lt;br /&gt;
#   vendor=D.SignT GmbH &amp;amp; Co. KG&lt;br /&gt;
#&lt;br /&gt;
# After reset some more variables are added:&lt;br /&gt;
#   autoload=n&lt;br /&gt;
#   eth1addr=c4:be:84:cb:1f:ff       &amp;lt;- depends on chip ID&lt;br /&gt;
#   ethact=cpsw&lt;br /&gt;
#   ethaddr=c4:be:84:cb:1f:fd        &amp;lt;- depends on chip ID&lt;br /&gt;
#   hostname=AMC1-10004              &amp;lt;- depends on serial number&lt;br /&gt;
#   stderr=serial&lt;br /&gt;
#   stdin=serial&lt;br /&gt;
#   stdout=serial&lt;br /&gt;
#&lt;br /&gt;
#######################################################################&lt;br /&gt;
&lt;br /&gt;
setenv resetenv &#039;env default -f -a &amp;amp;&amp;amp; saveenv &amp;amp;&amp;amp; reset&#039;&lt;br /&gt;
run resetenv&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;{{pagetop}}&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Additional Tags ==&lt;br /&gt;
 [[AMC1 U-Boot: serial FLASH mapping]]&lt;br /&gt;
 [[AMC1 U-Boot: serial FLASH programming]]&lt;br /&gt;
 http://www.denx.de/wiki/U-Boot/TaskSetEnvironmentDefaults&lt;br /&gt;
 http://processors.wiki.ti.com/index.php/Modifying_U-boot&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 [[category:U-Boot]]&lt;br /&gt;
 [[Category:AMC1]]&lt;/div&gt;</summary>
		<author><name>Claus</name></author>
	</entry>
	<entry>
		<id>https://dsignt.de/support-wiki/index.php?title=File:AMC1_main.png&amp;diff=1359</id>
		<title>File:AMC1 main.png</title>
		<link rel="alternate" type="text/html" href="https://dsignt.de/support-wiki/index.php?title=File:AMC1_main.png&amp;diff=1359"/>
		<updated>2017-11-15T07:51:20Z</updated>

		<summary type="html">&lt;p&gt;Claus: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Claus</name></author>
	</entry>
	<entry>
		<id>https://dsignt.de/support-wiki/index.php?title=Category:AMC1&amp;diff=1358</id>
		<title>Category:AMC1</title>
		<link rel="alternate" type="text/html" href="https://dsignt.de/support-wiki/index.php?title=Category:AMC1&amp;diff=1358"/>
		<updated>2017-11-15T07:49:22Z</updated>

		<summary type="html">&lt;p&gt;Claus: Created page with &amp;quot;file:AMC1_main.png &amp;lt;br&amp;gt;&amp;lt;br&amp;gt; == TI&amp;#039;s starting portal == http://processors.wiki.ti.com/index.php/Sitara_AM437x_Portal   category:AMC&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[file:AMC1_main.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== TI&#039;s starting portal ==&lt;br /&gt;
http://processors.wiki.ti.com/index.php/Sitara_AM437x_Portal&lt;br /&gt;
&lt;br /&gt;
 [[category:AMC]]&lt;/div&gt;</summary>
		<author><name>Claus</name></author>
	</entry>
	<entry>
		<id>https://dsignt.de/support-wiki/index.php?title=Force_same_COM_port_assignment_to_all_D.Module2.C6657&amp;diff=1357</id>
		<title>Force same COM port assignment to all D.Module2.C6657</title>
		<link rel="alternate" type="text/html" href="https://dsignt.de/support-wiki/index.php?title=Force_same_COM_port_assignment_to_all_D.Module2.C6657&amp;diff=1357"/>
		<updated>2017-11-08T13:13:34Z</updated>

		<summary type="html">&lt;p&gt;Claus: Claus moved page Force same COM port assignment to all D.Module.C6657 to Force same COM port assignment to all D.Module2.C6657 without leaving a redirect&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Problem ==&lt;br /&gt;
When a new D.Module2.C6657 is connected via USB to your PC, a new free COM port is automatically assigned by the installation wizard. If this default behavior is not suitable because an application needs to be controlled always by a fixed port, a user could follow [[Re-assign_virtual_COM_port|Re-assign virtual COM port]] to manually change the COM port for a specific device or use the instructions below to permanently change this behavior for all D.Module2.C6657. &lt;br /&gt;
&lt;br /&gt;
{{pagetop}}&lt;br /&gt;
== Solution ==&lt;br /&gt;
The automatic new COM port assignment is caused by a unique serial number programmed into the FTDI chips on all D.Module2.C6657 boards. With a specific registry switch all D.Module2.C6657 FTDI serial numbers can be excluded from the default automatic COM port assignment. Create a &#039;&#039;&#039;&#039;&#039;REG_BINARY&#039;&#039;&#039;&#039;&#039; value &#039;&#039;&#039;&#039;&#039;IgnoreHWSerNum04036015&#039;&#039;&#039;&#039;&#039; set to &#039;&#039;&#039;&#039;&#039;01&#039;&#039;&#039;&#039;&#039; under&lt;br /&gt;
&lt;br /&gt;
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\UsbFlags &lt;br /&gt;
&lt;br /&gt;
or use the following .reg script to add the key to your registry:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
Windows Registry Editor Version 5.00&lt;br /&gt;
&lt;br /&gt;
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\usbflags]&lt;br /&gt;
&amp;quot;IgnoreHWSerNum04036015&amp;quot;=hex:01&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{note|It might be necessary to follow [[Re-assign_virtual_COM_port|Re-assign virtual COM port]] to initially assign a specific port}}&lt;br /&gt;
&lt;br /&gt;
{{pagetop}}&lt;br /&gt;
== Additional Tags ==&lt;br /&gt;
http://www.ftdichip.com/Support/Documents/AppNotes/AN_123_How%20COM%20Ports_Are%20Allocated%20on%20Driver_Installation.pdf&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 [[category:D.Module2.C6657]]&lt;/div&gt;</summary>
		<author><name>Claus</name></author>
	</entry>
	<entry>
		<id>https://dsignt.de/support-wiki/index.php?title=Force_same_COM_port_assignment_to_all_D.Module2.C6657&amp;diff=1356</id>
		<title>Force same COM port assignment to all D.Module2.C6657</title>
		<link rel="alternate" type="text/html" href="https://dsignt.de/support-wiki/index.php?title=Force_same_COM_port_assignment_to_all_D.Module2.C6657&amp;diff=1356"/>
		<updated>2017-11-08T06:59:59Z</updated>

		<summary type="html">&lt;p&gt;Claus: Created page with &amp;quot;== Problem == When a new D.Module2.C6657 is connected via USB to your PC, a new free COM port is automatically assigned by the installation wizard. If this default behavior is...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Problem ==&lt;br /&gt;
When a new D.Module2.C6657 is connected via USB to your PC, a new free COM port is automatically assigned by the installation wizard. If this default behavior is not suitable because an application needs to be controlled always by a fixed port, a user could follow [[Re-assign_virtual_COM_port|Re-assign virtual COM port]] to manually change the COM port for a specific device or use the instructions below to permanently change this behavior for all D.Module2.C6657. &lt;br /&gt;
&lt;br /&gt;
{{pagetop}}&lt;br /&gt;
== Solution ==&lt;br /&gt;
The automatic new COM port assignment is caused by a unique serial number programmed into the FTDI chips on all D.Module2.C6657 boards. With a specific registry switch all D.Module2.C6657 FTDI serial numbers can be excluded from the default automatic COM port assignment. Create a &#039;&#039;&#039;&#039;&#039;REG_BINARY&#039;&#039;&#039;&#039;&#039; value &#039;&#039;&#039;&#039;&#039;IgnoreHWSerNum04036015&#039;&#039;&#039;&#039;&#039; set to &#039;&#039;&#039;&#039;&#039;01&#039;&#039;&#039;&#039;&#039; under&lt;br /&gt;
&lt;br /&gt;
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\UsbFlags &lt;br /&gt;
&lt;br /&gt;
or use the following .reg script to add the key to your registry:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
Windows Registry Editor Version 5.00&lt;br /&gt;
&lt;br /&gt;
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\usbflags]&lt;br /&gt;
&amp;quot;IgnoreHWSerNum04036015&amp;quot;=hex:01&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{note|It might be necessary to follow [[Re-assign_virtual_COM_port|Re-assign virtual COM port]] to initially assign a specific port}}&lt;br /&gt;
&lt;br /&gt;
{{pagetop}}&lt;br /&gt;
== Additional Tags ==&lt;br /&gt;
http://www.ftdichip.com/Support/Documents/AppNotes/AN_123_How%20COM%20Ports_Are%20Allocated%20on%20Driver_Installation.pdf&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 [[category:D.Module2.C6657]]&lt;/div&gt;</summary>
		<author><name>Claus</name></author>
	</entry>
	<entry>
		<id>https://dsignt.de/support-wiki/index.php?title=MediaWiki:Common.css&amp;diff=1279</id>
		<title>MediaWiki:Common.css</title>
		<link rel="alternate" type="text/html" href="https://dsignt.de/support-wiki/index.php?title=MediaWiki:Common.css&amp;diff=1279"/>
		<updated>2017-10-09T15:10:05Z</updated>

		<summary type="html">&lt;p&gt;Claus: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/*&lt;br /&gt;
This is the CSS for all skins (for all users) on MediaWiki.org.&lt;br /&gt;
&lt;br /&gt;
SECTIONS:&lt;br /&gt;
1. Indication of namespaces&lt;br /&gt;
2. Color classes for content&lt;br /&gt;
3. Special pages&lt;br /&gt;
4. Main page styling&lt;br /&gt;
5. Sidebar external links&lt;br /&gt;
6. Extension:Matrix stuff&lt;br /&gt;
7. Wikitables, infobox templates, warnings, and other such stylings&lt;br /&gt;
8. Some other small things&lt;br /&gt;
*/&lt;br /&gt;
/*&lt;br /&gt;
&lt;br /&gt;
/* changes D.SignT: new design */&lt;br /&gt;
/*&lt;br /&gt;
.mw-body &lt;br /&gt;
{&lt;br /&gt;
    position: relative;  &lt;br /&gt;
    top: 6em; &lt;br /&gt;
}&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
div#content&lt;br /&gt;
{&lt;br /&gt;
    top: 9em; &lt;br /&gt;
/*    margin-left:1.4em; */&lt;br /&gt;
    margin-top: 25px;&lt;br /&gt;
    min-width:877px;&lt;br /&gt;
    min-height:69%;&lt;br /&gt;
    margin-right: 1.25em;&lt;br /&gt;
    border-right-width:1px;&lt;br /&gt;
}  &lt;br /&gt;
&lt;br /&gt;
div#column-content&lt;br /&gt;
{&lt;br /&gt;
/*    height: 120%;  */&lt;br /&gt;
    margin-bottom: 7em;&lt;br /&gt;
}&lt;br /&gt;
/*&lt;br /&gt;
div#footer&lt;br /&gt;
{&lt;br /&gt;
    margin: 0 6em 0 0&lt;br /&gt;
}&lt;br /&gt;
*/&lt;br /&gt;
/*&lt;br /&gt;
#bodyContent{margin-left: 12em;padding-left:2em;&lt;br /&gt;
    margin-top: 2em;width:auto; min-width: 680px;} &lt;br /&gt;
*/&lt;br /&gt;
/*&lt;br /&gt;
li#ca-nstab-mediawiki,li#ca-nstab-category,li#ca-nstab-project,li#ca-nstab-main, li#ca-viewsource,li#ca-history,li#ca-edit,li#ca-push,li#ca-delete,li#ca-move,li#ca-protect,li#ca-watch,li#ca-unwatch {&lt;br /&gt;
	position: relative; top: 6em;&lt;br /&gt;
}&lt;br /&gt;
*/&lt;br /&gt;
li#ca-viewsource,li#ca-history,li#ca-talk&lt;br /&gt;
{&lt;br /&gt;
/*    position: relative; top: 6em; */&lt;br /&gt;
    display:none; &lt;br /&gt;
}&lt;br /&gt;
#p-logo a, #p-logo a:hover&lt;br /&gt;
{&lt;br /&gt;
    width:100%;&lt;br /&gt;
    height:88px;&lt;br /&gt;
    margin-left: 136px;&lt;br /&gt;
    margin-top: 33px;&lt;br /&gt;
    margin-bottom: 20px;&lt;br /&gt;
}&lt;br /&gt;
#p-logo&lt;br /&gt;
{&lt;br /&gt;
    width:24em;&lt;br /&gt;
    margin-bottom: 20px;&lt;br /&gt;
} &lt;br /&gt;
&lt;br /&gt;
#p-cactions&lt;br /&gt;
{&lt;br /&gt;
    top: 10em;&lt;br /&gt;
}&lt;br /&gt;
#p-personal&lt;br /&gt;
{&lt;br /&gt;
    top: 5px;&lt;br /&gt;
}&lt;br /&gt;
/*&lt;br /&gt;
div#mw-panel {&lt;br /&gt;
	position: absolute;&lt;br /&gt;
	top: 100px;&lt;br /&gt;
	width: 20em;&lt;br /&gt;
	left: 0; &lt;br /&gt;
}&lt;br /&gt;
*/&lt;br /&gt;
h2 { &lt;br /&gt;
/*    font-size: 180%;  */&lt;br /&gt;
    font-weight: bold; &lt;br /&gt;
}&lt;br /&gt;
/* h3 { &lt;br /&gt;
    font-size: 145%;  &lt;br /&gt;
    font-weight: normal; &lt;br /&gt;
} */&lt;br /&gt;
/* extra buttons for edit dialog (from commons:MediaWiki:Common.css) */&lt;br /&gt;
.my-buttons {&lt;br /&gt;
	padding: .5em;&lt;br /&gt;
}&lt;br /&gt;
.my-buttons a {&lt;br /&gt;
	color: black;&lt;br /&gt;
	background-color: #cde !important;&lt;br /&gt;
	font-weight: bold;&lt;br /&gt;
	font-size: .9em;&lt;br /&gt;
	text-decoration: none;&lt;br /&gt;
	border: thin #069 outset;&lt;br /&gt;
	padding: 0 .1em .1em;&lt;br /&gt;
}&lt;br /&gt;
.my-buttons a:hover, .my-buttons a:active {&lt;br /&gt;
	background-color: #bcd;&lt;br /&gt;
	border-style: inset;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* from [[User:Splarka/Help:Linked images]] */&lt;br /&gt;
.imagelink_wikilogo a {&lt;br /&gt;
	width: 335px;&lt;br /&gt;
	height: 135px;&lt;br /&gt;
	display: block;&lt;br /&gt;
	text-decoration: none;&lt;br /&gt;
	background-image: url(&amp;quot;//upload.wikimedia.org/wikipedia/mediawiki/b/bc/Wiki.png&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * CharInsert extension&lt;br /&gt;
 */&lt;br /&gt;
.mw-charinsert-buttons {&lt;br /&gt;
	margin-top: 10px;&lt;br /&gt;
	border: 1px solid #aaaaaa;&lt;br /&gt;
	padding: 1px;&lt;br /&gt;
	text-align: center;&lt;br /&gt;
	font-size: 110%;&lt;br /&gt;
}&lt;br /&gt;
.mw-charinsert-buttons a {&lt;br /&gt;
	color: black;&lt;br /&gt;
	background-color: #cde !important;&lt;br /&gt;
	font-weight: bold;&lt;br /&gt;
	font-size: .9em;&lt;br /&gt;
	text-decoration: none;&lt;br /&gt;
	border: thin #069 outset;&lt;br /&gt;
	padding: 0 .1em .1em;&lt;br /&gt;
}&lt;br /&gt;
.mw-charinsert-buttons a:hover,&lt;br /&gt;
.mw-charinsert-buttons a:active {&lt;br /&gt;
	background-color: #bcd;&lt;br /&gt;
	border-style: inset;&lt;br /&gt;
}&lt;br /&gt;
.client-js .mw-edittools-section {&lt;br /&gt;
	display: inline;&lt;br /&gt;
}&lt;br /&gt;
.client-js .mw-edittools-section input[type=&amp;quot;button&amp;quot;] {&lt;br /&gt;
	font-size: 0.9em;&lt;br /&gt;
	padding-left: 1px;&lt;br /&gt;
	padding-right: 1px;&lt;br /&gt;
	margin-left: 1px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* remove Toolbox */&lt;br /&gt;
#p-tb { &lt;br /&gt;
    display:none !important; &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ms@forty-four.de: Tab-Reiter ausgeblendet */&lt;br /&gt;
/* li#ca-viewsource,li#ca-history,li#ca-talk{display:none;} */&lt;br /&gt;
/*&lt;br /&gt;
body.page-Main_Page.action-view table{ &lt;br /&gt;
    display: none; &lt;br /&gt;
}&lt;br /&gt;
*/&lt;/div&gt;</summary>
		<author><name>Claus</name></author>
	</entry>
	<entry>
		<id>https://dsignt.de/support-wiki/index.php?title=MediaWiki:Common.css&amp;diff=1261</id>
		<title>MediaWiki:Common.css</title>
		<link rel="alternate" type="text/html" href="https://dsignt.de/support-wiki/index.php?title=MediaWiki:Common.css&amp;diff=1261"/>
		<updated>2017-09-19T14:28:33Z</updated>

		<summary type="html">&lt;p&gt;Claus: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/*&lt;br /&gt;
This is the CSS for all skins (for all users) on MediaWiki.org.&lt;br /&gt;
&lt;br /&gt;
SECTIONS:&lt;br /&gt;
1. Indication of namespaces&lt;br /&gt;
2. Color classes for content&lt;br /&gt;
3. Special pages&lt;br /&gt;
4. Main page styling&lt;br /&gt;
5. Sidebar external links&lt;br /&gt;
6. Extension:Matrix stuff&lt;br /&gt;
7. Wikitables, infobox templates, warnings, and other such stylings&lt;br /&gt;
8. Some other small things&lt;br /&gt;
*/&lt;br /&gt;
/*&lt;br /&gt;
&lt;br /&gt;
/* changes D.SignT: new design */&lt;br /&gt;
/*&lt;br /&gt;
.mw-body &lt;br /&gt;
{&lt;br /&gt;
    position: relative;  &lt;br /&gt;
    top: 6em; &lt;br /&gt;
}&lt;br /&gt;
*/&lt;br /&gt;
div#content&lt;br /&gt;
{&lt;br /&gt;
    top: 9em; &lt;br /&gt;
/*    margin-left:1.4em; */&lt;br /&gt;
    margin-top: 25px;&lt;br /&gt;
    min-width:877px;&lt;br /&gt;
    min-height:69%;&lt;br /&gt;
    margin-right: 1.25em;&lt;br /&gt;
    border-right-width:1px;&lt;br /&gt;
}  &lt;br /&gt;
&lt;br /&gt;
div#column-content&lt;br /&gt;
{&lt;br /&gt;
/*    height: 120%;  */&lt;br /&gt;
    margin-bottom: 7em;&lt;br /&gt;
}&lt;br /&gt;
/*&lt;br /&gt;
div#footer&lt;br /&gt;
{&lt;br /&gt;
    margin: 0 6em 0 0&lt;br /&gt;
}&lt;br /&gt;
*/&lt;br /&gt;
/*&lt;br /&gt;
#bodyContent{margin-left: 12em;padding-left:2em;&lt;br /&gt;
    margin-top: 2em;width:auto; min-width: 680px;} &lt;br /&gt;
*/&lt;br /&gt;
/*&lt;br /&gt;
li#ca-nstab-mediawiki,li#ca-nstab-category,li#ca-nstab-project,li#ca-nstab-main, li#ca-viewsource,li#ca-history,li#ca-edit,li#ca-push,li#ca-delete,li#ca-move,li#ca-protect,li#ca-watch,li#ca-unwatch {&lt;br /&gt;
	position: relative; top: 6em;&lt;br /&gt;
}&lt;br /&gt;
*/&lt;br /&gt;
li#ca-viewsource,li#ca-history,li#ca-talk&lt;br /&gt;
{&lt;br /&gt;
/*    position: relative; top: 6em; */&lt;br /&gt;
    display:none; &lt;br /&gt;
}&lt;br /&gt;
#p-logo a, #p-logo a:hover&lt;br /&gt;
{&lt;br /&gt;
    width:100%;&lt;br /&gt;
    height:88px;&lt;br /&gt;
    margin-left: 136px;&lt;br /&gt;
    margin-top: 33px;&lt;br /&gt;
    margin-bottom: 20px;&lt;br /&gt;
}&lt;br /&gt;
#p-logo&lt;br /&gt;
{&lt;br /&gt;
    width:24em;&lt;br /&gt;
    margin-bottom: 20px;&lt;br /&gt;
} &lt;br /&gt;
&lt;br /&gt;
#p-cactions&lt;br /&gt;
{&lt;br /&gt;
    top: 10em;&lt;br /&gt;
}&lt;br /&gt;
#p-personal&lt;br /&gt;
{&lt;br /&gt;
    top: 5px;&lt;br /&gt;
}&lt;br /&gt;
/*&lt;br /&gt;
div#mw-panel {&lt;br /&gt;
	position: absolute;&lt;br /&gt;
	top: 100px;&lt;br /&gt;
	width: 20em;&lt;br /&gt;
	left: 0; &lt;br /&gt;
}&lt;br /&gt;
*/&lt;br /&gt;
h2 { &lt;br /&gt;
/*    font-size: 180%;  */&lt;br /&gt;
    font-weight: bold; &lt;br /&gt;
}&lt;br /&gt;
/* h3 { &lt;br /&gt;
    font-size: 145%;  &lt;br /&gt;
    font-weight: normal; &lt;br /&gt;
} */&lt;br /&gt;
/* extra buttons for edit dialog (from commons:MediaWiki:Common.css) */&lt;br /&gt;
.my-buttons {&lt;br /&gt;
	padding: .5em;&lt;br /&gt;
}&lt;br /&gt;
.my-buttons a {&lt;br /&gt;
	color: black;&lt;br /&gt;
	background-color: #cde !important;&lt;br /&gt;
	font-weight: bold;&lt;br /&gt;
	font-size: .9em;&lt;br /&gt;
	text-decoration: none;&lt;br /&gt;
	border: thin #069 outset;&lt;br /&gt;
	padding: 0 .1em .1em;&lt;br /&gt;
}&lt;br /&gt;
.my-buttons a:hover, .my-buttons a:active {&lt;br /&gt;
	background-color: #bcd;&lt;br /&gt;
	border-style: inset;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* from [[User:Splarka/Help:Linked images]] */&lt;br /&gt;
.imagelink_wikilogo a {&lt;br /&gt;
	width: 335px;&lt;br /&gt;
	height: 135px;&lt;br /&gt;
	display: block;&lt;br /&gt;
	text-decoration: none;&lt;br /&gt;
	background-image: url(&amp;quot;//upload.wikimedia.org/wikipedia/mediawiki/b/bc/Wiki.png&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * CharInsert extension&lt;br /&gt;
 */&lt;br /&gt;
.mw-charinsert-buttons {&lt;br /&gt;
	margin-top: 10px;&lt;br /&gt;
	border: 1px solid #aaaaaa;&lt;br /&gt;
	padding: 1px;&lt;br /&gt;
	text-align: center;&lt;br /&gt;
	font-size: 110%;&lt;br /&gt;
}&lt;br /&gt;
.mw-charinsert-buttons a {&lt;br /&gt;
	color: black;&lt;br /&gt;
	background-color: #cde !important;&lt;br /&gt;
	font-weight: bold;&lt;br /&gt;
	font-size: .9em;&lt;br /&gt;
	text-decoration: none;&lt;br /&gt;
	border: thin #069 outset;&lt;br /&gt;
	padding: 0 .1em .1em;&lt;br /&gt;
}&lt;br /&gt;
.mw-charinsert-buttons a:hover,&lt;br /&gt;
.mw-charinsert-buttons a:active {&lt;br /&gt;
	background-color: #bcd;&lt;br /&gt;
	border-style: inset;&lt;br /&gt;
}&lt;br /&gt;
.client-js .mw-edittools-section {&lt;br /&gt;
	display: inline;&lt;br /&gt;
}&lt;br /&gt;
.client-js .mw-edittools-section input[type=&amp;quot;button&amp;quot;] {&lt;br /&gt;
	font-size: 0.9em;&lt;br /&gt;
	padding-left: 1px;&lt;br /&gt;
	padding-right: 1px;&lt;br /&gt;
	margin-left: 1px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* remove Toolbox */&lt;br /&gt;
#p-tb { &lt;br /&gt;
    display:none !important; &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ms@forty-four.de: Tab-Reiter ausgeblendet */&lt;br /&gt;
/* li#ca-viewsource,li#ca-history,li#ca-talk{display:none;} */&lt;br /&gt;
/*&lt;br /&gt;
body.page-Main_Page.action-view table{ &lt;br /&gt;
    display: none; &lt;br /&gt;
}&lt;br /&gt;
*/&lt;/div&gt;</summary>
		<author><name>Claus</name></author>
	</entry>
</feed>