2024年9月19日发(作者:留玉瑾)
Bootloader 介绍
对于本开发板,提供两种 Bootloader,Pmon 与 soc-Boot。Pmon 较大,但包括更多的
功能,主要用于开发阶段,
对各个硬件模块进行测试。soc-Boot 很小,仅实现必须的 Boot 功能,主要用于最终产品
发布。本小节介绍 Pmon 与
soc-Boot 的内置命令,并介绍 Pmon 及 soc-Boot 的各种更新方式。
1、安装 pmon 工具链
Pmon 源码在光盘上的位置是:Software/Bootloader/pmon_。Pmon 有一套专门
的开发工具链,位于光盘
中的 Tools/Toolchain/x86/,直接解压即可使用。在前面的步骤中我们已将
光盘都拷入到开发主机上
了,现在我们可以将它解压放置在/home/dev/develop 目录下:
#cd /home/dev/develop
#tar xvzf ./SOC3210/Tools/Toolchain/x86/ –C /
这样工具链就生成在/usr/local/comp/mips-elf/gcc-2.95.3/下。将工具链导入 path 路径:
export PATH=/usr/local/comp/mips-elf/gcc-2.95.3/bin:$PATH
也可以将此命令加入到系统启动脚本中,以便每次系统重新启动后自动配置该环境,到此该
工具链便可使用了
2、配置 pmon
#cd ./home/dev/develop
#tar xvzf /home/dev/SOC3210/Software/Bootloader/pmon_
#cd pmon_3210
编辑 pmon 配置文件,主要是设置串口波特率及 flash 类型
#vi Targets/soc_soc/conf/gc
修改时钟频率:
option APB_CLK=100000000 (系统时钟)
option CPU_CLK=250000000 (CPU时钟)
修改串口波特率:
option CONS_BAUD=B115200
如果 norflash是采用 8 位的则把
option NORF16BIT=1 #16bitsflash 该行屏蔽掉
即
#option NORF16BIT=1 #16bitsflash
如果是采用 16bits 的则不用屏蔽,保存退出。
3、编译 bin格式的 pmon
#cd ./
#make cfg all tgt=rom
执行后就在 pmon_3210/zloader/目录下生成了 。可以通过 6.3.3 小节介绍的方法
将之下载到 flash
中。
4、编译 elf格式的 pmon
#cd pmon_3210/
#make cfg all tgt=ram
执行后就在 pmon_3210/zloader/目录下生成了 ,如下图:
SOC3210嵌入式Linux开发指南 。
pmon 的更新
有三种方式可以对 Pmon 进行更新,一、通过 JTAG更新;二、通过串口更新;三、通
过网络更新。Jtag 更新一
般用于为尚没有写Bootloader的Norflash芯片写入pmon, 串口更新及网络更新都是在原有
pmon的基础上进行自更新,
一般用于对 pmon 做了修改需要升级时使用。
一. 通过 JTAG更新 PMON
该方法适用于 NorFlash 中尚没有 Pmon 时使用,可为一空白的 Nor Flash 芯片烧写
Pmon。
1. 按照上一节介绍的方法启动 JTAG客户程序:
#cd /home/dev/develop/8
#
#./ejtag_client
将进入 jtag操作控制台:
Jtag>jtag>
2. 在 jtag 操作控制台输入‘ipL’ ,ipL 是三条 Jtag 命令 i 表示初始化 Jtag 口,p 表
示打印当前 cpu 信息,而 L 将
通过 jtag 口向开发板传输一个基本的写 Flash 程序。在操作控制台上可以看到传输数据的
打印信息。
Jtag>jtag>ipL
3. 当打印信息提示下载完成后即可以使用 cutecom 软件通过串口 xmodem 协议下载
或
对应烧写8 位宽的norflash
对应烧写 16 位宽的 norflash
本开发板默认情况下使用 16 位宽的 norflash,在传输时请选择
文件。
打开一个终端输入 cutecom:
#cutecom
Cutecom主操作界面如下图:
4、 如下图对cutecom进行配置,指定所使用的串口设备,如串口一就配置成/dev/ttyS0,
波特率配置
的传输模式采用xmodem协议,最后点击“Open device”打开串口设备。
5、 点左下角的“Send file” ,选择合适的文件,16位flash选择。
如下图:
6、 选择好文件后点击“Open”开如传输文件,如下图:
7、 传输完成后将会在cutecom的显示窗口输出完成的提示信息,如下图:
8 .重复 5 , 6 步传输需要更新的 Pmon 文件,在开发包光盘中预提供了一个 pmon 二
进制文件
Software/Bootloader/,在第5步时选择此文件即可完成pmon的更新,如下图:
串口更新PMON
1. 启动一个终端在命令行输入 minicom启动 minicom, 请确保已经按照上节 minicom配
置方式配置好 minicom的
各个参数。
#minicom
2. 开发板上电后进入 pmon 控制台,如下:
PMON>
3. 启动 ymodem协议从串口下载 Pmon
PMON>ymodem base=0x81800000
使用串口工具提供的 ymodem协议下载 Pmon,该地址可以变动,与本身跑的 Pmon 不冲
突即可,建议大于
0x80800000。
4. 通过 ymodem协议传输 pmon 二进制文件,使用如下快捷键:Ctrl+A S(先同时按下 Ctrl
与 A键,松开后再按
S键) :弹出如下图:
在选择要传输的 pmon 二进制文件,如下图(1)是选文件图(2)是传输过程(黑色部分
为要传输的文件) :
烧写:
PMON>load -r -f bfc00000 /dev/ram/ymodem
烧写完成后 pmon 更新成功,重启系统应用新的 pmon。
网络更新 pmon:
Pmon 中内置 tftp 协议,可以根据采用 tftp 对pmon 进行更新。要采用 tftp更新方式,首
先需确保你的网络中存
在 tftp 服务端软件,下面以 linux 系统中一个 tftp 服务器的安装为例讲述 tftp server的安
装与配置。在此例中我们使用
的是 linux (fc8)的版本:
1. 此例采用网络安装 tftp server的方式,需保证网络畅通,打开一个终端,输入命令:
# yum install tftp tftp-server
如下图:
2. 修改文件,在终端输入如下的命令:
# vim /etc/xinetd.d/tftp
3.进入文件后,把内容改为如下图中参数:
4. 创建目录,在终端输入命令.
#mkdir /tftpboot(注意的是创建的目录一定要和文件里的相同)
5. 修该权限,在终端依次输入如下图的三个命令:
6. 重新启动tftpserver 服务,则 tftp安装完毕,命令为:
# service xinetd restart
面我们可以使用 tftp来更新 pmon
1. 首先把 pmon 二进制文件拷贝到 tftproot 目录下命令为
#cp /home/dev/develop/SOC3210/Software/Bootloader/ /tftproot/
2. 在 pmon 控制台中配置开发板的 ip 地址,IP地址根据你自己的网络配置修改。
PMON>ifaddr dmfe0 192.168.1.3
3. 烧写 pmon:
PMON>load –r –f bfc00000 tftp://192.168.1.10/
更新完成后重启 pmon.
2024年9月19日发(作者:留玉瑾)
Bootloader 介绍
对于本开发板,提供两种 Bootloader,Pmon 与 soc-Boot。Pmon 较大,但包括更多的
功能,主要用于开发阶段,
对各个硬件模块进行测试。soc-Boot 很小,仅实现必须的 Boot 功能,主要用于最终产品
发布。本小节介绍 Pmon 与
soc-Boot 的内置命令,并介绍 Pmon 及 soc-Boot 的各种更新方式。
1、安装 pmon 工具链
Pmon 源码在光盘上的位置是:Software/Bootloader/pmon_。Pmon 有一套专门
的开发工具链,位于光盘
中的 Tools/Toolchain/x86/,直接解压即可使用。在前面的步骤中我们已将
光盘都拷入到开发主机上
了,现在我们可以将它解压放置在/home/dev/develop 目录下:
#cd /home/dev/develop
#tar xvzf ./SOC3210/Tools/Toolchain/x86/ –C /
这样工具链就生成在/usr/local/comp/mips-elf/gcc-2.95.3/下。将工具链导入 path 路径:
export PATH=/usr/local/comp/mips-elf/gcc-2.95.3/bin:$PATH
也可以将此命令加入到系统启动脚本中,以便每次系统重新启动后自动配置该环境,到此该
工具链便可使用了
2、配置 pmon
#cd ./home/dev/develop
#tar xvzf /home/dev/SOC3210/Software/Bootloader/pmon_
#cd pmon_3210
编辑 pmon 配置文件,主要是设置串口波特率及 flash 类型
#vi Targets/soc_soc/conf/gc
修改时钟频率:
option APB_CLK=100000000 (系统时钟)
option CPU_CLK=250000000 (CPU时钟)
修改串口波特率:
option CONS_BAUD=B115200
如果 norflash是采用 8 位的则把
option NORF16BIT=1 #16bitsflash 该行屏蔽掉
即
#option NORF16BIT=1 #16bitsflash
如果是采用 16bits 的则不用屏蔽,保存退出。
3、编译 bin格式的 pmon
#cd ./
#make cfg all tgt=rom
执行后就在 pmon_3210/zloader/目录下生成了 。可以通过 6.3.3 小节介绍的方法
将之下载到 flash
中。
4、编译 elf格式的 pmon
#cd pmon_3210/
#make cfg all tgt=ram
执行后就在 pmon_3210/zloader/目录下生成了 ,如下图:
SOC3210嵌入式Linux开发指南 。
pmon 的更新
有三种方式可以对 Pmon 进行更新,一、通过 JTAG更新;二、通过串口更新;三、通
过网络更新。Jtag 更新一
般用于为尚没有写Bootloader的Norflash芯片写入pmon, 串口更新及网络更新都是在原有
pmon的基础上进行自更新,
一般用于对 pmon 做了修改需要升级时使用。
一. 通过 JTAG更新 PMON
该方法适用于 NorFlash 中尚没有 Pmon 时使用,可为一空白的 Nor Flash 芯片烧写
Pmon。
1. 按照上一节介绍的方法启动 JTAG客户程序:
#cd /home/dev/develop/8
#
#./ejtag_client
将进入 jtag操作控制台:
Jtag>jtag>
2. 在 jtag 操作控制台输入‘ipL’ ,ipL 是三条 Jtag 命令 i 表示初始化 Jtag 口,p 表
示打印当前 cpu 信息,而 L 将
通过 jtag 口向开发板传输一个基本的写 Flash 程序。在操作控制台上可以看到传输数据的
打印信息。
Jtag>jtag>ipL
3. 当打印信息提示下载完成后即可以使用 cutecom 软件通过串口 xmodem 协议下载
或
对应烧写8 位宽的norflash
对应烧写 16 位宽的 norflash
本开发板默认情况下使用 16 位宽的 norflash,在传输时请选择
文件。
打开一个终端输入 cutecom:
#cutecom
Cutecom主操作界面如下图:
4、 如下图对cutecom进行配置,指定所使用的串口设备,如串口一就配置成/dev/ttyS0,
波特率配置
的传输模式采用xmodem协议,最后点击“Open device”打开串口设备。
5、 点左下角的“Send file” ,选择合适的文件,16位flash选择。
如下图:
6、 选择好文件后点击“Open”开如传输文件,如下图:
7、 传输完成后将会在cutecom的显示窗口输出完成的提示信息,如下图:
8 .重复 5 , 6 步传输需要更新的 Pmon 文件,在开发包光盘中预提供了一个 pmon 二
进制文件
Software/Bootloader/,在第5步时选择此文件即可完成pmon的更新,如下图:
串口更新PMON
1. 启动一个终端在命令行输入 minicom启动 minicom, 请确保已经按照上节 minicom配
置方式配置好 minicom的
各个参数。
#minicom
2. 开发板上电后进入 pmon 控制台,如下:
PMON>
3. 启动 ymodem协议从串口下载 Pmon
PMON>ymodem base=0x81800000
使用串口工具提供的 ymodem协议下载 Pmon,该地址可以变动,与本身跑的 Pmon 不冲
突即可,建议大于
0x80800000。
4. 通过 ymodem协议传输 pmon 二进制文件,使用如下快捷键:Ctrl+A S(先同时按下 Ctrl
与 A键,松开后再按
S键) :弹出如下图:
在选择要传输的 pmon 二进制文件,如下图(1)是选文件图(2)是传输过程(黑色部分
为要传输的文件) :
烧写:
PMON>load -r -f bfc00000 /dev/ram/ymodem
烧写完成后 pmon 更新成功,重启系统应用新的 pmon。
网络更新 pmon:
Pmon 中内置 tftp 协议,可以根据采用 tftp 对pmon 进行更新。要采用 tftp更新方式,首
先需确保你的网络中存
在 tftp 服务端软件,下面以 linux 系统中一个 tftp 服务器的安装为例讲述 tftp server的安
装与配置。在此例中我们使用
的是 linux (fc8)的版本:
1. 此例采用网络安装 tftp server的方式,需保证网络畅通,打开一个终端,输入命令:
# yum install tftp tftp-server
如下图:
2. 修改文件,在终端输入如下的命令:
# vim /etc/xinetd.d/tftp
3.进入文件后,把内容改为如下图中参数:
4. 创建目录,在终端输入命令.
#mkdir /tftpboot(注意的是创建的目录一定要和文件里的相同)
5. 修该权限,在终端依次输入如下图的三个命令:
6. 重新启动tftpserver 服务,则 tftp安装完毕,命令为:
# service xinetd restart
面我们可以使用 tftp来更新 pmon
1. 首先把 pmon 二进制文件拷贝到 tftproot 目录下命令为
#cp /home/dev/develop/SOC3210/Software/Bootloader/ /tftproot/
2. 在 pmon 控制台中配置开发板的 ip 地址,IP地址根据你自己的网络配置修改。
PMON>ifaddr dmfe0 192.168.1.3
3. 烧写 pmon:
PMON>load –r –f bfc00000 tftp://192.168.1.10/
更新完成后重启 pmon.