AM335x 的网口启动及 Flash 烧写用户指南 概述: 鉴于AM335x 可以通过网口启动的方式将MLO,u-boot.img,kernel 通过TFTP 的方式下载至开发板,并可通过NFS 的方式完成文件系统的挂载,因此,对最小系统板而言,仅需网口便可完成整个Linux 的启动。本文基于网口的启动方式,对网口启动的操作流程进行描述,并着重介绍了如何使用网口启动方式进行 flash 的烧写。由于使用该方式进行 flash烧写的操作是在 UBoot 环境中以脚本的方式实现,因此,用户可自定义具体的操作流程,灵活性较好。 PC 环境: 主机: Windows 7 虚拟机: Virtual Box(version 4.1.12), Ubuntu 10.04. Linux SDK 版本: 06.00.00.00 AM335x 开发板平台:GPEVM. 网口启动配置流程: 1. 在 Ubuntu 中安装TFTP 服务和 NFS 服务,确保可以正常 TFTP download 和挂载 NFS。(网上关于如何 TFTP kernel 以及挂载NFS 的资料较多,因此,本文主要针对MLO(SPL)和u-boot 阶段的设计进行描述,对 kernel和NFS 的加载操作将不再赘述)。 本示例中,TFTP 目录为”/tftpboot”,NFS 目录为”/nfs_share”。 2. 在 Ubuntu 中进行DHCP 服务的安装和配置: 本示例中,通过以下步骤将本机建成主机 IP 为192.168.1.1 的服务器,地址空间为192.168.1.100 至192.168.1.199。 a. 使用root 账户登录 Ubuntu,使用该命令进行 DHCP 服务的安装: apt-get install dhcp3-server (本文中粗斜体为命令行输入内容,下同) b. 增加dhcp 服务的网卡端口(本例中使用的网口为 eth0)。 安装完成后,进入/etc/default 目录,修改 dhcp3-server 文件: i. vim /etc/default/dhcp3-server ii. 在 INTERFACES=””的参数中增加 eth0 iii. 保存后退出. c. 增加地址空间定义。修改 “/etc/dhcp3/dhcpd.conf”。 i. vim /etc/dhcp3/dhcpd.conf ii. 在文件的末尾,加入以下信息: subnet 192.168.1.0 netmask 255.255.255.0 { range dynamic-bootp 192.168.1.100 192.168.1.199; if substring (option vendor-class-identifier, 0, 10) = "DM814x ROM" { filename "u-boot-spl-restore.bin"; } elsif substring (option vendor-class-identifier, 0, 17) = "AM335x U-Boot SPL" { filename "u-boot-restore.img"; } else { filename "uImage"; } } iii. 保存并退出。 d. 设置本机的 eth0 网卡ip为 192.168.1.1: ifconfig eth0 192.168.1.1 e. 重启DHCP 服务: /etc/init.d/dhcp3-server restart /etc/init.d/networking restart 至此,Ubuntu 的DHCP 服务建立已经完成。 注:DHCP 的服务,Ubuntu12.04 亦可以使用 isc-dhcp-server。 步骤a 中对应的命令:apt-get install isc-dhcp-server; 步骤b 中对应的文件为/etc/default/isc-dhcp-server; 步骤c 中对应的文件为/etc/dhcp/dhcpd.conf; 步骤e 中,对应的命令为/etc/init.d/isc-dhcp-server restart 。 3. Linux 开发包对网口启动的相关设置: a. 在 Linux SDK 6.0 中,在uboot 中使用 am335x_evm 配置编译出 UBoot 的相关文件,可参照链接:http://processors.wiki.ti.com/index.php/AM335x_U-Boot_User%27s_Guide b. 编译完成后,将生成的 spl 目录下的 u-boot-spl.bin 文件拷贝至 TFTP 文件夹下,并重命名为 u-boot-spl-restore.bin: cp ~/ti-sdk-am335x-evm-06.00.00.00/board-support/u-boot-2013.01.01-psp06.00.00.00/spl/u-boot-spl.bin /tftpboot/u-boot-spl-restore.bin c. 类似的,将生成的 spl 目录下的 u-boot.img 文件拷贝至 TFTP 文件夹下,并重命名为 u-boot-restore.img: cp ~/ti-sdk-am335x-evm-06.00.00.00/board-support/u-boot-2013.01.01-psp06.00.00.00/u-boot.img /tftpboot/u-boot -restore.img d. 至此,主机的配置已经全部完成。使用网线将 AM335x 的开发板的网口1 连接至PC 机,将 AM335x 的启动模式设置为带有 EMAC1 的模式(如 SYS[4:0]=01010),即可给开发板上电,进行网口启动。 注意: 当使用EMAC 启动时,不要使用网线直连板子和电脑,使用交换机或者路由器(关闭 DHCP 服务),确保网段内,没有其他的 DHCP 服务器。AM335x 目前仅支持网口1 的启动 。 参考: u-boot-am33x/doc/am335x.net-spl/README. AM335x TRM 4. Linux 开发包对网口烧写flash 的相关设置: a. 类似于3 的步骤 a、b、c,但在 uboot 编译时,使用 am335x_evm_restore_flash 配置编译出UBoot 的相关文件,此时得到的 u-boot-spl.bin 和 u-boot.img 重命名后即为用于网口烧写的启动文件。使用该配置编译生成的 uboot 与之前不同的是,在启动后,会调用脚本文件 debrick.scr,进行 flash的烧写操作。 b. 脚本文件 debrick.scr 的制作(以 NAND flash 作为示例): i. 脚本文件 debrick.scr 的源文件,可以参考 u-boot 文件夹下的/doc/am335x.net-spl/debrick-nand.txt。源文件中可使用UBoot 阶段的相关命令对 NAND flash 进行操作。类似的,也可以对 SPI flash 进行操作。 ii. 使用mkimage 工具将源文件 debrick-nand.txt 制作成为 debrick.scr(mkimage 位于 u-boot 文件夹下的 tools 文件夹中),命令如下 ./mkimage -A arm -O U-Boot -C none -T script -d debrick-nand.txt debrick.scr iii. 将 debrick.scr拷贝到TFTP 文件夹中。在启动时,会在 uboot 中自动调用。 c. 将需要烧写到 NAND FLASH 的MLO 和 u-boot.img文件拷贝到 TFTP 文件夹中。 d. 完成以上各步骤后,即可设置AM335 的启动模式并连接网线进行网口烧写 flash。
AM335x 的网口启动及 Flash 烧写用户指南
概述: 鉴于AM335x 可以通过网口启动的方式将MLO,u-boot.img,kernel 通过TFTP 的方式下载至开发板,并可通过NFS 的方式完成文件系统的挂载,因此,对最小系统板而言,仅需网口便可完成整个Linux 的启动。本文基于网口的启动方式,对网口启动的操作流程进行描述,并着重介绍了如何使用网口启动方式进行 flash 的烧写。由于使用该方式进行 flash烧写的操作是在 UBoot 环境中以脚本的方式实现,因此,用户可自定义具体的操作流程,灵活性较好。 PC 环境: 主机: Windows 7 虚拟机: Virtual Box(version 4.1.12), Ubuntu 10.04. Linux SDK 版本: 06.00.00.00 AM335x 开发板平台:GPEVM. 网口启动配置流程: 1. 在 Ubuntu 中安装TFTP 服务和 NFS 服务,确保可以正常 TFTP download 和挂载 NFS。(网上关于如何 TFTP kernel 以及挂载NFS 的资料较多,因此,本文主要针对MLO(SPL)和u-boot 阶段的设计进行描述,对 kernel和NFS 的加载操作将不再赘述)。 本示例中,TFTP 目录为”/tftpboot”,NFS 目录为”/nfs_share”。 2. 在 Ubuntu 中进行DHCP 服务的安装和配置: 本示例中,通过以下步骤将本机建成主机 IP 为192.168.1.1 的服务器,地址空间为192.168.1.100 至192.168.1.199。 a. 使用root 账户登录 Ubuntu,使用该命令进行 DHCP 服务的安装: apt-get install dhcp3-server (本文中粗斜体为命令行输入内容,下同) b. 增加dhcp 服务的网卡端口(本例中使用的网口为 eth0)。 安装完成后,进入/etc/default 目录,修改 dhcp3-server 文件: i. vim /etc/default/dhcp3-server ii. 在 INTERFACES=””的参数中增加 eth0 iii. 保存后退出. c. 增加地址空间定义。修改 “/etc/dhcp3/dhcpd.conf”。 i. vim /etc/dhcp3/dhcpd.conf ii. 在文件的末尾,加入以下信息: subnet 192.168.1.0 netmask 255.255.255.0 { range dynamic-bootp 192.168.1.100 192.168.1.199; if substring (option vendor-class-identifier, 0, 10) = "DM814x ROM" { filename "u-boot-spl-restore.bin"; } elsif substring (option vendor-class-identifier, 0, 17) = "AM335x U-Boot SPL" { filename "u-boot-restore.img"; } else { filename "uImage"; } } iii. 保存并退出。 d. 设置本机的 eth0 网卡ip为 192.168.1.1: ifconfig eth0 192.168.1.1 e. 重启DHCP 服务: /etc/init.d/dhcp3-server restart /etc/init.d/networking restart 至此,Ubuntu 的DHCP 服务建立已经完成。 注:DHCP 的服务,Ubuntu12.04 亦可以使用 isc-dhcp-server。 步骤a 中对应的命令:apt-get install isc-dhcp-server; 步骤b 中对应的文件为/etc/default/isc-dhcp-server; 步骤c 中对应的文件为/etc/dhcp/dhcpd.conf; 步骤e 中,对应的命令为/etc/init.d/isc-dhcp-server restart 。 3. Linux 开发包对网口启动的相关设置: a. 在 Linux SDK 6.0 中,在uboot 中使用 am335x_evm 配置编译出 UBoot 的相关文件,可参照链接:http://processors.wiki.ti.com/index.php/AM335x_U-Boot_User%27s_Guide b. 编译完成后,将生成的 spl 目录下的 u-boot-spl.bin 文件拷贝至 TFTP 文件夹下,并重命名为 u-boot-spl-restore.bin: cp ~/ti-sdk-am335x-evm-06.00.00.00/board-support/u-boot-2013.01.01-psp06.00.00.00/spl/u-boot-spl.bin /tftpboot/u-boot-spl-restore.bin c. 类似的,将生成的 spl 目录下的 u-boot.img 文件拷贝至 TFTP 文件夹下,并重命名为 u-boot-restore.img: cp ~/ti-sdk-am335x-evm-06.00.00.00/board-support/u-boot-2013.01.01-psp06.00.00.00/u-boot.img /tftpboot/u-boot -restore.img d. 至此,主机的配置已经全部完成。使用网线将 AM335x 的开发板的网口1 连接至PC 机,将 AM335x 的启动模式设置为带有 EMAC1 的模式(如 SYS[4:0]=01010),即可给开发板上电,进行网口启动。 注意: 当使用EMAC 启动时,不要使用网线直连板子和电脑,使用交换机或者路由器(关闭 DHCP 服务),确保网段内,没有其他的 DHCP 服务器。AM335x 目前仅支持网口1 的启动 。 参考: u-boot-am33x/doc/am335x.net-spl/README. AM335x TRM 4. Linux 开发包对网口烧写flash 的相关设置: a. 类似于3 的步骤 a、b、c,但在 uboot 编译时,使用 am335x_evm_restore_flash 配置编译出UBoot 的相关文件,此时得到的 u-boot-spl.bin 和 u-boot.img 重命名后即为用于网口烧写的启动文件。使用该配置编译生成的 uboot 与之前不同的是,在启动后,会调用脚本文件 debrick.scr,进行 flash的烧写操作。 b. 脚本文件 debrick.scr 的制作(以 NAND flash 作为示例): i. 脚本文件 debrick.scr 的源文件,可以参考 u-boot 文件夹下的/doc/am335x.net-spl/debrick-nand.txt。源文件中可使用UBoot 阶段的相关命令对 NAND flash 进行操作。类似的,也可以对 SPI flash 进行操作。 ii. 使用mkimage 工具将源文件 debrick-nand.txt 制作成为 debrick.scr(mkimage 位于 u-boot 文件夹下的 tools 文件夹中),命令如下 ./mkimage -A arm -O U-Boot -C none -T script -d debrick-nand.txt debrick.scr iii. 将 debrick.scr拷贝到TFTP 文件夹中。在启动时,会在 uboot 中自动调用。 c. 将需要烧写到 NAND FLASH 的MLO 和 u-boot.img文件拷贝到 TFTP 文件夹中。 d. 完成以上各步骤后,即可设置AM335 的启动模式并连接网线进行网口烧写 flash。