1 PMON更新
接着笔记一:https://blog.csdn.net/weixin_38709708/article/details/81271493
笔者手中的开发板一开始就烧写了PMON,当是不知道什么原因开发板每隔20s就会自动重启,所以笔者决定更新PMON,重新烧写内核文件,烧写的方式是通过Putty串口控制PMON,通过网线烧写内核更新PMON。
通过Putty连接开发板进入PMON:
对于已经烧写系统的,按一次重启键,并在进入系统前按下空格键 (你也可以连续按)
设置开发板IP构建TFTP服务器:
插入网线 在网络共享中心会增加一个本地连接
查看该连接的IP
设置PMON下开发板与本地连接端口同网段的IP(才发现图中的ip是不对的应当是193.169.2.235) (193.169.2.“0-255”,一般选择比本地连接略大的数字)
ifaddr syn0 192.168.*.* //IP 地址起临时作用,断电后无效 set ifconfig
syn0:192.168.*.* //重启后,IP 地址固定存在
此时你已经完成了开发板在PMON下的固定IP设置
搭建TFTP服务
需要的软件可以在上述的笔记一中找到
打开Tftpd32->Current Directory设置为包含你内核更新文件的文件夹,笔者放在了一个名为workspace的文件夹内,Server interfaces选择为本地连接的IP,点击show Dir 可以看见你的内核文件
此时在PMON命令中ping一下你的本地连接(笔者的IP:193.169.2.231)看是否连接成功
Ping成功了,按下CRTL+C 结束Ping
更新PMON
PMON> load -r -f bfc00000 tftp://193.169.2.231/gzrom.bin
Loading file: tftp://193.169.2.231/gzrom.bin (bin) /
Loaded 331792 bytes
Programming flash 80200000:51010 into bfc00000
byte write winb25x40
Verifying FLASH. No Errors found.
PMON更新成功
2 更新LINUX内核
在PMON更新的基础上
擦除内核数据 熟悉LINUX的同学应该知道该命令是对储存区的操作
mtd_erase /dev/mtd0
下载内核
devcp tftp://193.169.2.231/vmlinuz /dev/mtd0
设置自启动参数 其实可以将PMON看作BIOS,这一步类似于BIOS引导后的内核引导设置
set al /dev/mtd0
擦除根文件数据
mtd_erase /dev/mtd1
烧写文件系统 这一步是很重要的,毕竟LINUX一切皆是文件的特性
devcp tftp://193.169.2.231/rootfs-yaffs2.img /dev/mtd1 yaf nw
设置根目录位置
set append " root=/dev/mtdblock1"
设置串口波特率 这个波特率很重要,毕竟你的Putty是通过UART的串口协议连接的要牢记
set append " $append console=ttyS2,115200"
内核启动后的设置 这一部分我不太了解,主要是对权限的操作
set append " $append noinitrd init=/linuxrc rw rootfstype=yaffs2"
防止系统挂起 主要是没有屏幕,只有一直让板子运行了
set append " $append video=ls1bfb:480x272-16@60 fbcon=rotate:1 consoleblank=0"
设置完了,你可以重启生效了 很多LINUX的修改都要通过注销或者重启生效
reboot
操作图:
重启后,进入了LINUX系统
接下来我将会继续学习LINUX下的开发环境搭建
你也可以访问我的个人站点 http://iamtomblack.ml/