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)相关推荐

  1. VMware workstation pro 16 下载安装Ubuntu18.04

    VMware workstation pro 16 下载安装Ubuntu18.04 1 下载 阿里镜像 http://mirrors.aliyun.com/ubuntu-releases/ 如果是64 ...

  2. ultraiso刻录U盘启动盘下载安装Ubuntu18.04系统

    一.下载 Ubuntu18.04的ios镜像文件     Ubuntu18.04下载链接:ubuntu-18.04.1-desktop-amd64.iso     Ubuntu16.04下载链接:ub ...

  3. linux系统frpc程序下载安装,ubuntu18.04 frpc安装与自动启动

    # 如果是http, 需要写subdomain. 访问方式 {subdomain}.00xyx.com:8000# 如果是tcp,需要写remote_port. 访问方式 00xyx.com:{rem ...

  4. Ubuntu18.04+GTX3090 编译安装pytorch-nightly环境

    由于pytorch目前对30系列显卡的支持不是很好,最好使用源码编译安装,特此记录. 时间:2020年11月24日 安装方式:源码编译安装 环境:ubuntu18.04 + GTX3090 + 显卡驱 ...

  5. 西电 操作系统课设 在Ubuntu18.04安装pintos

    西电 操作系统课设 在Ubuntu18.04安装pintos 前言 1. 主要步骤 2. VMware的安装 3. Ubuntu18.04的安装和配置 4. Bochs的安装 4. Pintos安装 ...

  6. RK3399核心板,装Ubuntu18.04系统,LVDS屏幕配置

    使用RK3399核心板CORE-3399-JD4,接口板是自制的,采用MIPI接口转LVDS,现在在3399的板子上装ubuntu18.04系统,在该系统上点亮LVDS屏幕. 1.首先安装Linux系 ...

  7. 联想拯救者Y520安装/重装win10 ubuntu18.04双系统

    未来研究生几年需要用ubuntu系统,本来去年年底在我的笔记本上安好了18.04,但是前些日子装PCL库的时候把ROS卸载了多一半去,发现的时候已经为时已晚,正好之前给ubuntu划分留的地方也不太够 ...

  8. Ubuntu18.04重装系统+常用软件安装

    1.Ubuntu18.04重装系统 1.1 安装盘制作 1) 首先从官网上下载Ubuntu18.04镜像,下载最好从官网上下载(Download Ubuntu Desktop | Download | ...

  9. 从0开始在ubuntu18.04上搭建嵌入式Linux开发环境以及嵌入式Qt5.6开发环境

    博客中提到的一些工具文件都可以在该链接中下载:https://pan.baidu.com/s/10r4kku8C0bt8vLampOyvWQ 目录 一  Oflash软件通过openJtag下载u-b ...

最新文章

  1. 双系统 win10 时间不对
  2. webView 点击连接如何不让跳转到系统的 浏览器
  3. CTF-杂项与密码学之工具使用汇总(二)
  4. matlab求系统根轨迹代码_根轨迹法、PID参数整定和matlab指令计算
  5. watch 和 computed
  6. Java 9:流API的增强
  7. mysql lepus_MySQL 监控软件lepus天兔
  8. The Event System
  9. java拦截器跳转页面跳转页面跳转_java Struts2 在拦截器里的跳转问题
  10. spark调用python程序包_pycharm编写spark程序,导入pyspark包的3中实现方法
  11. 获取手机网络状态之ConnectivityManager
  12. Debian下使用Doxygen生成定制样式的开发文档
  13. java hsqldb_java – 运行脚本以使用HSQLDB创建表
  14. 【研一周小结】第十周个人学习总结
  15. 聚类分析在用户行为中的实例_聚类分析案例之市场细分
  16. 南卡和Snowkids电容笔哪款更值得入手?口碑最佳的国产电容笔
  17. 一些电子资源的分享(1)
  18. Fiddle 抓包小白一步带过超详细教程(含汉化)
  19. 查看Linux内核版本及发行版本
  20. oracle修改换行空格回车符号

热门文章

  1. Winform中的双缓冲
  2. 为什么我们要做抖音短视频代运营?
  3. CoreJava学习-练习大全
  4. vue 中的 scoped
  5. Python面向对象游戏--人狗大战
  6. 网购火车票攻略(十一长假版)
  7. 靠随心所欲不逾矩和天马行空来开启我的第一篇博客
  8. kafka的php使用场景,使用 PHP 处理 Kafka 消息
  9. (基于安卓app开发项目)英语学习记单词软件的毕业设计(java+j2ee+mysql)附源码+论文
  10. DBSCAN聚类算法——机器学习(理论+图解+python代码)