1. 关于宿主机LINUX的安装 建议使用REDHAT系列:建议选择完全安装,即选择Custom,然后在Package中选择everything。 【以下配置详见最新PDF手册下载(例如:HHCO5272-R1的手册)】宿主机的网络配置 主要是要安装好以太网卡,对于一般常见的RTL8139网卡,REDHAT7.2可以自动识别并自动安装好,完全不要用户参与,因此建议使用该网卡。然后配置宿主机IP: ifconfig eth0 192.168.2.32 【注意】对于REDHAT7.2,它默认的是打开了防火墙,因此对于外来的IP访问它全部拒绝,这样其它网络设备根本无法访问它,即无法用NFS mount它,无法通过TFTP从它下载,无法telnet,ftp它等。因此网络安装完毕后,应立即关闭防火墙。操作如下:运行setup,选择Firewall configuration,选中No firewall。然后到上一层菜单选择System services,去掉ipchains和iptables两项服务。最后退出setup。 配置NFS 运行linuxconf,在config选项下选Server tasks,选中Exported File systems(NFS),然后选择Add Directory,加入根目录/,然后Accept。系统就会输出根目录允许NFS mount。下一步再选择Control项下面Control panel下的Control Service activity,然后选择nfs enabled,然后start。配置好后的界面显示其中nfs必须为: Automatic Running。【注意】这里建议把ipchains和iptables都取消其自动启动的状态。最后,在Control项下面Control panel下选择Activate configuration,则弹出界面,提示系统配置的改动,选择"Do it",最后退出时则完成NFS配置。配置完成后,可用如下办法简单测试一下NFS是否配置好了:在宿主机上自己mount自己,看是否成功就可以判断NFS是否配好了。例如在宿主机/目录下执行: mount 192.168.2.32:/ /mnt 然后到/mnt/目录下看是否可以列出/目录下的所有文件和目录,可以则说明mount成功,NFS配置成功。 配置TFTP服务器 参见下面第二点介绍。【注意】 安装完华恒uClinux软件光盘后,不要make xconfig,直接make即可。加入驱动等修改内核的操作都不必make xconfig,除非要更改处理器平台,例如移植到MCF5407等才需要make xconfig。其实这个操作不过就是修改linux/.config和linux/include/linux/autoconfig.h中的宏设置。完全可以由手工完成。 2. 关于gdbtftpflash烧写【注意】 烧写必须接百兆以太网接口,对于多以太网板的10M口是不能用来烧写的。 在一个LINUX TTY终端执行 ./flash 然后立刻切换到另一个TTY终端启动的minicom下去查看信息 Reading image.bin from 192.168.2.46 to 0x00100000 TFTP download successful 【这里查看TFTP连接是否成功】 Read 1004740 bytes (1963 blocks) >>>>>>>>>> Init mflash >>>>>>>>>> Init mflash Successfully ********** File size : 0xF54C4 bytes ********** Address base : 0x0 ********** Manufacturer ID 1 ********** Device ID 2249 ********** Sector 0 [FFC00000] (0-unprotect, 1 protect):0 ********** Sector 1 [FFC04000] (0-unprotect, 1 protect):0 ********** Sector 2 [FFC06000] (0-unprotect, 1 protect):0 ********** Sector 3 [FFC08000] (0-unprotect, 1 protect):0 ********** Sector 4 [FFC10000] (0-unprotect, 1 protect):0 ********** Sector 5 [FFC20000] (0-unprotect, 1 protect):0 ********** Sector 6 [FFC30000] (0-unprotect, 1 protect):0 ********** Sector 7 [FFC40000] (0-unprotect, 1 protect):0 ********** Sector 8 [FFC50000] (0-unprotect, 1 protect):0 ********** Sector 9 [FFC60000] (0-unprotect, 1 protect):0 ********** Sector 10 [FFC70000] (0-unprotect, 1 protect):0 ********** Sector 11 [FFC80000] (0-unprotect, 1 protect):0 ********** Sector 12 [FFC90000] (0-unprotect, 1 protect):0 ********** Sector 13 [FFCA0000] (0-unprotect, 1 protect):0 ********** Sector 14 [FFCB0000] (0-unprotect, 1 protect):0 ********** Sector 15 [FFCC0000] (0-unprotect, 1 protect):0 ********** Sector 16 [FFCD0000] (0-unprotect, 1 protect):0 ********** Sector 17 [FFCE0000] (0-unprotect, 1 protect):0 ********** Sector 18 [FFCF0000] (0-unprotect, 1 protect):0 ********** Sector 19 [FFD00000] (0-unprotect, 1 protect):0 ********** Sector 20 [FFD10000] (0-unprotect, 1 protect):0 ********** Sector 21 [FFD20000] (0-unprotect, 1 protect):0 ********** Sector 22 [FFD30000] (0-unprotect, 1 protect):0 ********** Sector 23 [FFD40000] (0-unprotect, 1 protect):0 ********** Sector 24 [FFD50000] (0-unprotect, 1 protect):0 ********** Sector 25 [FFD60000] (0-unprotect, 1 protect):0 ********** Sector 26 [FFD70000] (0-unprotect, 1 protect):0 ********** Sector 27 [FFD80000] (0-unprotect, 1 protect):0 ********** Sector 28 [FFD90000] (0-unprotect, 1 protect):0 ********** Sector 29 [FFDA0000] (0-unprotect, 1 protect):0 ********** Sector 30 [FFDB0000] (0-unprotect, 1 protect):0 ********** Sector 31 [FFDC0000] (0-unprotect, 1 protect):0 ********** Sector 32 [FFDD0000] (0-unprotect, 1 protect):0 ********** Sector 33 [FFDE0000] (0-unprotect, 1 protect):0 ********** Sector 34 [FFDF0000] (0-unprotect, 1 protect):0 xxxxxxxxxx Program sector 0 : Read Fill Erase Program End xxxxxxxxxx Program sector 1 : Read Fill Erase Program End xxxxxxxxxx Program sector 2 : Read Fill Erase Program End xxxxxxxxxx Program sector 3 : Read Fill Erase Program End xxxxxxxxxx Program sector 4 : Read Fill Erase Program End xxxxxxxxxx Program sector 5 : Read Fill Erase Program End xxxxxxxxxx Program sector 6 : Read Fill Erase Program End xxxxxxxxxx Program sector 7 : Read Fill Erase Program End xxxxxxxxxx Program sector 8 : Read Fill Erase Program End xxxxxxxxxx Program sector 9 : Read Fill Erase Program End xxxxxxxxxx Program sector 10 : Read Fill Erase Program End xxxxxxxxxx Program sector 11 : Read Fill Erase Program End xxxxxxxxxx Program sector 12 : Read Fill Erase Program End xxxxxxxxxx Program sector 13 : Read Fill Erase Program End xxxxxxxxxx Program sector 14 : Read Fill Erase Program End xxxxxxxxxx Program sector 15 : Read Fill Erase Program End xxxxxxxxxx Program sector 16 : Read Fill Erase Program End xxxxxxxxxx Program sector 17 : Read Fill Erase Program End xxxxxxxxxx Program sector 18 : Read Fill Erase Program End ********** Verify Complete 下面板子开始重启。 【注意】一定要看到这些Read Fill Erase Program End信息才表示烧写进去了,前面 ********** Sector 0 [FFC00000] (0-unprotect, 1 protect):0等只是显示FLASH的扇区分布,并没有进行烧写,只有看到Read Fill Erase Program End信息才表示在进行烧写。 在minicom中用ctrl+a,然后按b,接着用上下箭头,可以翻看前面的信息,从而查看出了什么错误。例如,TFTP连接失败的信息就要前翻来查看,信息如下: Unable to locate 192.168.1.46 Errors in TFTP download. Read 0 bytes (0 blocks) 这就要查看宿主机(即TFTP服务器配置是否成功)。 工作机制: ./flash调用hhco.gdb脚本对CPU进行初始化,(sys-init)然后指定 target bdm /dev/bdmcf0 load 即下载一个小软件(tftp.elf,约80K)到板子的RAM中,并用c(continue)命令让它跑起来,这时CPU完全由这个小软件接管。这个小软件跑起来后初始化以太网及TFTP协议栈,然后它运行TFTP客户端,从内存中0x00200004(2M+4处)读取gdb脚本放在此处的TFTP服务器IP地址,并从该IP的TFTP服务器PC下载image.bin到板子内存1M地址处,再将其烧写到FLASH上,重启板子,这时引导起来的就是LINUX了。 问:烧写时显示如下信息,但minicom端什么信息也没有打印出来,而且板子仍然在运行,运行指示仍然正常闪烁?在执行./flash的TTY一侧,会显示: GNU gdb 4.18 Copyright 1998 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "--host=i686-pc-linux-gnu --target=m68k-bdm-elf"... 这是PC端BDM驱动(linux-bdm.o)的问题,必须安装正确的驱动(例如华恒光盘提供的)。按CTRL+C结束该进程,用rmmod linux-bdm删除当前的驱动,用insmod安装正确版本的驱动再重新执行./flash即可。 |
|