龙芯1C300B主板V3.4嵌入式开发学习笔记二

1 PMON更新

接着笔记一:https://blog.csdn.net/weixin_38709708/article/details/81271493

笔者手中的开发板一开始就烧写了PMON,当是不知道什么原因开发板每隔20s就会自动重启,所以笔者决定更新PMON,重新烧写内核文件,烧写的方式是通过Putty串口控制PMON,通过网线烧写内核更新PMON。

通过Putty连接开发板进入PMON:

对于已经烧写系统的,按一次重启键,并在进入系统前按下空格键 (你也可以连续按)

设置开发板IP构建TFTP服务器:

插入网线 在网络共享中心会增加一个本地连接

 查看该连接的IP

 设置PMON下开发板与本地连接端口同网段的IP (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/

猜你喜欢

转载自blog.csdn.net/weixin_38709708/article/details/81417260