本人使用的Centos7和Ubuntu16.04,仅供参考。
1. PMON编译环境配置
a. 配置交叉编译工具链 gcc-4-4-gnu-20181227.tar.gz
tar -xvf gcc-4-4-gnu-20181227.tar.gz
在~/.bashrc 增加 export PATH=$PATH:/opt/gcc-4-4-gnu/bin
b. 依赖包/库的安装 bison flex2 xutils-dev
sudo apt-get install bison
sudo apt-get install flex2(要先安装sudo apt-get install libfl-dev)
sudo apt-get install xutils-dev
c. 生成pmoncfg编译工具
cd pmon/tools/pmoncfg(指的是PMON源码下的tools目录)
make pmoncfg
编译成功后生成工具pmoncfg,将pmoncfg工具复制到交叉编译工具链gcc-4.4-gnu/bin目录下,至此pmon编译环境已经配置ok
2. PMON编译
a. 进入PMON代码的zloader目录(以3a为例)
cd zloader.3a3000_7a
b. 执行命令生成gzrom.bin
make cfg //若配置文件没有更改,则这一步可省略
make tgt=rom
或make cfg all tgt=rom
c. 将设备树编译到gzrom.bin
make dtb --->将dtb和gzrom.bin结合生成gzrom-dtb.bin
3. PMON代码调试
内存相关配置(以3a为例)
配置文件路径 Targets/Bonito3a3000_7a/conf/Bonito.3a3000_7a
AUTO_DDR_CONFIG //当板卡使用内存条时打开此选项,当使用颗粒时注释此选项
DDR_S1 //使用颗粒时根据具体的内存型号配置s1的值
CORE_FREQ //主频率
DDR_FREQ //DDR频率设置
4. PMON烧写
方法1:烧录器烧录
方法2:U盘烧写
//进到PMON命令行,执行以下烧写命令,烧写完成后重启生效
load -r -f 0xbfc00000 /dev/fs/fat@usb0/gzrom-dtb.bin
//说明usb?要看最终识别到的U盘识别符
方法3:网络烧写
//1.板卡配置好ip,与服务器ip在同一网段
//2.服务器支持tftp服务,例如服务器ip为192.168.1.200
//3.板卡上电进到PMON命令行,输入以下命令,烧写完成后重启生效
load -r -f 0xbfc00000 tftp://192.168.1.200/gzrom-dtb.bin