2k1000 PMON编译及下载流程(ubuntu18.04)
2K1000是从sip flash启动的,pmon存在flsah前1M里
1.1 pmon相关资源
pmon源码获取
pmon:pmon
解压:
$ sudo tar -xvf pmon-loongson3-pai.tar.bz2
pmon工具链获取
工具链: gcc
解压:
$ sudo tar -zxvf gcc-4.4-gnu.tar.gz -C /
解压完在系统的 /opt 目录下得到gcc-4.4-gnu,可以通过ls命令查看 ls /opt
1.2 pmon编译依赖工具安装
1)安装makedepand
$ sudo apt-get install xutils-dev
2)安装pmoncfg
$ sudo apt-get install bison flex build-essential patch
$ cd pmon-loongson3-20200728/tools/pmoncfg (pmon源码里)
$ make pmoncfg
$ sudo cp pmoncfg /usr/bin
1.3 pmon 编译
Pmon采用交叉编译,在源码目录下创建编译脚本,如果已经有cmd.sh文件,直接进行步骤4执行编译。
操作如下:
1)在pmon源码pmon-loongson3-20200728目录下创建cmd.sh文件
$ sudo vim cmd.sh
2)将下面内容写到cmd.sh文件里
#!/bin/bash
cd zloader.ls2k
export PATH=/opt/gcc-4.4-gnu/bin/:$PATH
make cfg
make all tgt=rom ARCH=mips CROSS_COMPILE=mipsel-linux- DEBUG=-g
make dtb
3)修改cmd.sh执行权限
$ sudo chmod 777 cmd.sh
4)编译pmon
$ sudo ./cmd.sh
问题:/bin/sh: 1: python: not found
解决:
sudo apt-get install python2.7
sudo ln -s /usr/bin/python2.7 /usr/bin/python
5)编译完成后在pmon源码目录下的zloader.ls2k/目录下生成gzrom-dtb.bin
如更改了配置文件Targets/LS2K/conf/ls2k, 则在编译前要执行make cfg, 使得更改生效,如果普通编译没有更改配置,则每次无需都执行make cfg命令。
执行make dtb 可以将dtb和gzrom.bin 结合生成gzrom-dtb.bin,此命令可以在上面编译完成后执行,dtb为设备树。
1.4 pmon 烧写
1)在线更新pmon,启动到pmon命令下
load -r -f 0xbfc00000 tftp://ip/gzrom-dtb.bin //网络更新
load -r -f 0xbfc00000 /dev/fs/fat@usb0/gzrom-dtb.bin //U盘更新
2)ejtag烧写pmon
ejtag安装
$ tar zxvf ejtag-debug-v3.25.9.tar.gz -C /opt/
ejtag烧写pmon(二进制文件为gzrom-dtb.bin)
$ cd /opt/ejtag-debug
$ sudo ./ejtag_debug_usb -t
ejtag里输入:
source configs/config.ls2k
板卡上电 (若设置开机按键,需要按下开机按键)
ejtag里输入set使系统停止运行,如果没有返回结果说明硬件异常:
ejtag里输入:
cpu0 -program_cachelock /路径/gzrom-dtb.bin
执行完program_cachelock命令,默认将/路径/gzrom.bin 烧录到芯片里。program_cachelock命令后可以放gzrom.bin的绝对路径,例如:program_cachelock /home/tftpboot/gzrom.bin
烧写完成后:
1.5 调试
参考链接:https://blog.csdn.net/tongxin1101124/article/details/113240099
ejtag中用到的命令硬件指令断点设置软件指令断点到addr: hb addr [ibm]删除addr上的指令断点: unhb addr [ibm]查看断点: hbls单步调试单步count次: si [count]取消单步: unsi暂定停住CPU命令:set继续执行继续执行命令:contpmon汇编代码 ejtag单步调试板卡先断电链接ejta、串口打开串口,波特率112500打开ejtag软件sudo ./ejtag_debug_usb -ta、执行:source configs/config.ls2kb、执行:loop -1 stopc、板卡上电 (2K1000上电后,需要按下开机按钮)d、执行:ctrl + c (目的打断loop -1 stop)e、执行:setpmon汇编代码 ejtag单步调试板卡先断电链接ejta、串口打开串口,波特率112500打开ejtag软件sudo ./ejtag_debug_usb -ta、执行:source configs/config.ls2kb、执行:loop -1 stopc、板卡上电 (2K1000上电后,需要按下开机按钮)d、执行:ctrl + c (目的打断loop -1 stop)e、执行:set备注:执行set后,可以看到 pc 值是0xffffffffbfc00004。龙芯处理器起始地址是:0xbfc00000
反汇编 gzrom
/opt/gcc-4.4-gnu/bin/mipsel-linux-objdump -d zloader.ls2k/gzrom > test.log
2k1000 PMON编译及下载流程(ubuntu18.04)相关推荐
- VMware workstation pro 16 下载安装Ubuntu18.04
VMware workstation pro 16 下载安装Ubuntu18.04 1 下载 阿里镜像 http://mirrors.aliyun.com/ubuntu-releases/ 如果是64 ...
- ultraiso刻录U盘启动盘下载安装Ubuntu18.04系统
一.下载 Ubuntu18.04的ios镜像文件 Ubuntu18.04下载链接:ubuntu-18.04.1-desktop-amd64.iso Ubuntu16.04下载链接:ub ...
- linux系统frpc程序下载安装,ubuntu18.04 frpc安装与自动启动
# 如果是http, 需要写subdomain. 访问方式 {subdomain}.00xyx.com:8000# 如果是tcp,需要写remote_port. 访问方式 00xyx.com:{rem ...
- Ubuntu18.04+GTX3090 编译安装pytorch-nightly环境
由于pytorch目前对30系列显卡的支持不是很好,最好使用源码编译安装,特此记录. 时间:2020年11月24日 安装方式:源码编译安装 环境:ubuntu18.04 + GTX3090 + 显卡驱 ...
- 西电 操作系统课设 在Ubuntu18.04安装pintos
西电 操作系统课设 在Ubuntu18.04安装pintos 前言 1. 主要步骤 2. VMware的安装 3. Ubuntu18.04的安装和配置 4. Bochs的安装 4. Pintos安装 ...
- RK3399核心板,装Ubuntu18.04系统,LVDS屏幕配置
使用RK3399核心板CORE-3399-JD4,接口板是自制的,采用MIPI接口转LVDS,现在在3399的板子上装ubuntu18.04系统,在该系统上点亮LVDS屏幕. 1.首先安装Linux系 ...
- 联想拯救者Y520安装/重装win10 ubuntu18.04双系统
未来研究生几年需要用ubuntu系统,本来去年年底在我的笔记本上安好了18.04,但是前些日子装PCL库的时候把ROS卸载了多一半去,发现的时候已经为时已晚,正好之前给ubuntu划分留的地方也不太够 ...
- Ubuntu18.04重装系统+常用软件安装
1.Ubuntu18.04重装系统 1.1 安装盘制作 1) 首先从官网上下载Ubuntu18.04镜像,下载最好从官网上下载(Download Ubuntu Desktop | Download | ...
- 从0开始在ubuntu18.04上搭建嵌入式Linux开发环境以及嵌入式Qt5.6开发环境
博客中提到的一些工具文件都可以在该链接中下载:https://pan.baidu.com/s/10r4kku8C0bt8vLampOyvWQ 目录 一 Oflash软件通过openJtag下载u-b ...
最新文章
- 双系统 win10 时间不对
- webView 点击连接如何不让跳转到系统的 浏览器
- CTF-杂项与密码学之工具使用汇总(二)
- matlab求系统根轨迹代码_根轨迹法、PID参数整定和matlab指令计算
- watch 和 computed
- Java 9:流API的增强
- mysql lepus_MySQL 监控软件lepus天兔
- The Event System
- java拦截器跳转页面跳转页面跳转_java Struts2 在拦截器里的跳转问题
- spark调用python程序包_pycharm编写spark程序,导入pyspark包的3中实现方法
- 获取手机网络状态之ConnectivityManager
- Debian下使用Doxygen生成定制样式的开发文档
- java hsqldb_java – 运行脚本以使用HSQLDB创建表
- 【研一周小结】第十周个人学习总结
- 聚类分析在用户行为中的实例_聚类分析案例之市场细分
- 南卡和Snowkids电容笔哪款更值得入手?口碑最佳的国产电容笔
- 一些电子资源的分享(1)
- Fiddle 抓包小白一步带过超详细教程(含汉化)
- 查看Linux内核版本及发行版本
- oracle修改换行空格回车符号