龙芯ls1b开发板 基础操作

一、 工具链

1、工具链获取

pmon与kernel使用同一个工具链:gcc-4.3-ls232
http://ftp.loongnix.cn/embedd/ls1b/toolchain/
备注:如果上面网址不能访问,可以尝试访问:http://ftp.loongnix.cn 网址

2、操作流程

a、工具链gcc-4.3-ls232.tar.gz解压,操作如下

tar  zxvf gcc-4.3-ls232.tar.gz  -C  /

b、解压完在系统下的/opt目录下得到gcc-4.3-ls232,可以通过ls命令查看

ls  /opt

二、PMON

1、源码获取

 [http://ftp.loongnix.cn/embedd/ls1b/bootloader/](http://ftp.loongnix.cn/embedd/ls1b/bootloader/)

2、工具与依赖库安装

安装方式:
要求 PC 机连接有互联网,使用 apt-get(ubuntu 系统)命令来安装
2.1编译 PMON 过程需要使用到工具 pmoncfg,制作过程如下
A、apt-get install bison build-essential patch flex
B、解压pmon.tar.gz源码

tar xzvf pmon.tar.gz
cd pmon
cd tools/pmoncfg
make

C、编译完成会在目录下生成 pmoncfg,拷贝该工具至用户工具目录下

cp pmoncfg /usr/bin/

2.2编译pmon还依赖于工具 makedepend

apt-get install xutils-dev

3、pmon编译

Pmon采用交叉编译,在源码目录下创建编译脚本,操作如下:
A、在pmon源码目录下创建cmd.sh文件

touch cmd.sh

B、将下面内容写到cmd.sh文件里

#!/bin/bash
export PATH=/opt/gcc-4.3-ls232/bin:$PATH
cd zloader.ls1b
make cfg
make all tgt=rom CROSS_COMPILE=mipsel-linux- DEBUG=-g

C、修改cmd.sh执行权限

chmod 777 cmd.sh

D、编译pmon

./cmd.sh

E、编译完成后在pmon源码目录下的zloader.ls1b/目录下生成gzrom.bin

4、pmon更新

4.1 ejtag烧写pmon

linux系统下ejtag驱动获取:
http://ftp.loongnix.cn/embedd/ls1b/ejtag/
备注:linux系统下格式:ejtag-debug-v3.xx.x.tar.gz
win系统下ejtag驱动获取:
http://ftp.loongnix.cn/embedd/ls1b/ejtag/old/
win7与xp系统下格式:ejtag-debug-cygwin-v3.xx.x.zip
打开上面的网址下载以ejtag-debug-x×××开头ejtag最新的软件版本
当前linux最新版本为:ejtag-debug-v3.25.9.tar.gz
当前win7与xp最新版本为:ejtag-debug-cygwin-v3.25.9.zip

这里只介绍linux系统下使用简介:
将下载ejtag-debug-v3.25.9.tar.gz解压到/opt/目录下

tar  zxvf  ejtag-debug-v3.25.6.tar.gz -C /opt/
cd /opt/ejtag-debug
sudo ./ejtag_debug_usb -t
source configs/config.ls1b
program_cachelock

注:执行完program_cachelock命令,默认将/tmp/目录下的gzrom.bin 烧录到芯片里
program_cachelock命令后可以放gzrom.bin的绝对路径
例如:program_cachelock /home/tftpboot/gzrom.bin

4.2 pmon命令行下更新pmon

A、网络更新
load -f 0xbfc00000 -r tftp://10.0.0.1/gzrom.bin
B、U盘更新
load -f 0xbfc00000 -r /dev/fs/fat@usb0/gzrom.bin
load -f 0xbfc00000 -r /dev/fs/ext2@usb0/gzrom.bin

5、pmon中添加 xx.c 文件

关于在pmon中加入 *.c 文件,在pmon的目录中有两个文件分别为: conf/files 、 Targets/LS1B/conf/files.LS1B。当pmon被编译时,以这两个文件为基础把相应的 *.c 文件编译成 *.o 文件,这两个文件的主要区别是:Targets/LS1B/conf/files.LS1B 依赖于不同的龙芯 CPU,CPU 不同该文件的内容就可能不同;conf/files是整个pmon所依赖的,比如ext2文件系统,所有的pmon都用相同的ext2文件系统。当然需要强调的是你加入的 *.c 文件必须被其他函数直接或间接的调用的。假如设备的驱动文件为 xxx.c该文件中有一个设备的初始化函数 xxx_init(),假如该文件的路径:Targets/LS1B/ls1b/xxx.c并且可以根据配置来决定是否加载该驱动,需要操作步骤:Targets/LS1B/ls1b/tgt_machdep.c文件的函数 initmips(unsigned int memsz)中调用该函数。
如果编译时报错找不到该函数,因为该文件没有被编译成 *.o 需要在conf/files 或 Targets/LS1B/conf/files.LS1B (二者任选其一)中加入:
file Targets/LS1B/ls1b/xxx.c (这里选Targets/LS1B/conf/files.LS1B )
假如希望通过配置移除该文件,需要在 Targets/LS1B/conf/ls1b 中加入:
select xxx
上面的添加内容也许要修改:
file Targets/LS1B/ls1b/xxx.c xxx
当然需要把调用 xxx_init() 的地方注释掉,由于加入的该 *.c 文件是与 CPU 的种类有关,所以在 Targets/LS1B/conf/files.LS1B 中加入,若加入的内容被不同的 CPU 使用,可以考虑在 conf/files 中加入。

6、pmon常用命令

帮助
h 列出所有命令 例如:查看ping命令帮助信息 h ping
调试
d1/d2/d4 读取某地址值 例如:d4 0x80300000
m1/m2/m4 向某地址写值 例如:m4 0x80300000 0xa
内存
load 加载vmlinux到内存 例如:load tftp://ip/vmlinux
更新gzrom.bin load -r -f 0xbfc00000 tftp://ip/gzrom.bin
网络
ifaddr 设置板的 ip 地址(只当次有效,断电后会丢失) 例如:ifaddr syn0 10.50.1.10
ifconfig 查看设置 ip 地址信息 例如:ifconfig syn0
ping 测试网络 例如:ping 10.50.1.100
env 查看已设置的环境变量
set 设置环境变量 例如:set bootdelay 10
unset 取消设置的环境变量 例如:unset bootdelay
ifconfig 设置板的 ip 地址(断电后不丢失) 例如:set ifconfig syn0: 10.50.1.10
flash操作
mtdparts 查看分区情况 例如:mtdparts
mtd_erase 擦除分区 例如:mtd_erase /dev/mtd1
devcp 写数据到分区 例如:devcp date /dev/mtd1
其他
devls 查看设备列表
reboot 重启

三、内核

1、源码获取

内核版本为:linux-2.6.32
http://ftp.loongnix.cn/embedd/ls1b/kernel/

2、kernel配置

下载内核源码linux-2.6.32.tar.gz解压,操作流程如下

tar -zxvf linux-2.6.32.tar.gz
cd linux-2.6.32/
cp config.ls1b .config
make menuconfig ARCH=mips

安装图形化配置“make menuconfig”依赖的工具 Ncurses:

apt-get install libncurses5-dev

3、kernel编译

kernel采用交叉编译,在源码目录下创建编译脚本,操作如下
A、在linux-2.6.32源码目录下创建cmd.sh文件

touch cmd.sh

B、将下面内容写到cmd.sh文件里

#!/bin/bash
export PATH=/opt/gcc-4.3-ls232/bin:$PATH
make ARCH=mips CROSS_COMPILE=mipsel-linux-  -j2  vmlinux
mipsel-linux-strip vmlinux

C、修改cmd.sh执行权限

chmod 777 cmd.sh

D、编译kernel

./cmd.sh

E、编译完成后在linux-2.6.32源码目录下生成vmlinux

4、加载vmlinux

4.1设置自启动

采用 ramdisk 方式
A、启动到pmon命令行下,通过tftp或者U盘将内核放到指定分区里
PMON> mtd_erase /dev/mtd0r
PMON> devcp tftp://ip/vmlinux /dev/mtd0
B、设置环境变量
PMON> set al /dev/mtd0
PMON> set append “console=ttyS0,115200 rdinit=/sbin/init”
C、重新上电
采用 yaffs2 根文件系统
A、启动到pmon命令行下,通过tftp或者U盘将内核放到指定分区里
PMON> mtd_erase /dev/mtd0r
PMON> devcp tftp://ip/vmlinux /dev/mtd0
B、将yaffs2文件系统镜像rootfs.img放到指定分区里
PMON> mtd_erase /dev/mtd1r
PMON> devcp tftp://ip/rootfs.img /dev/mtd1y
C、设置环境变量
PMON> set al /dev/mtd0
PMON> set append “console=ttyS0,115200 init=/linuxrc rw root=/dev/mtdblock1 rootfstype=yaffs2”
D、重新上电

4.2加载到内存启动

启动pmon命令行下,通过tftp或者U盘将内核加载到内存里
PMON> load tftp://ip/vmlinux
PMON> g console=ttyS0,115200 rdinit=/sbin/init

LS1B 用户手册 http://www.loongson.cn/product/cpu/1/Loongson1B.html

龙芯ls1b开发板 基础操作相关推荐

  1. 龙芯2k开发板Debian系统安装教程

    龙芯2k开发板Debian系统安装教程 1 准备安装u盘 1.1 获取u盘设备名 将U盘插入个人debian/ubuntu电脑,使用lsblk获取U盘设备名 我的u盘设备名为sdb(sda为我的主硬盘 ...

  2. 迅为-龙芯2K1000开发板虚拟机ubuntu系统开关机

    龙芯2K1000开发板在安装完虚拟机ubuntu系统以后,我们要正确的进行开关机操作,如果开关机操作不当,可能会造成虚拟机ubuntu系统崩溃,所以当我们结束在ubuntu系统上的工作以后,我们要正确 ...

  3. 迅为龙芯2K1000开发板双核64位系统处理器,流畅运行多个系统

    迅为电子的iTOP-2K1000核心板对外提供的接口是邮票孔方式.搭载龙芯2K1000处理器,处理器集成2个64 位GS264处理器核,主频1GHz,以及各种系统IO接口.集高性能与高配置于一身. 迅 ...

  4. 迅为龙芯2K1000开发板Linux环境变量

    1 环境变量 环境变量是系统预设值的参数. Linux 是一个多用户的操作系统, 所以每一个用户也都有自己的环境变量. 举例: 比如我们之前学习的命令不管在哪个路径下输入, 都是可以执行成功的, 因为 ...

  5. 迅为推出龙芯iTOP-2K1000开发板简介

    迅为龙芯开发板是北京迅为电子推出的一款基于国产 CPU 龙芯 2K1000 开发板.采用核心板+底板 的方式. 迅为电子的iTOP-2K1000核心板对外提供的接口是邮票孔方式.搭载龙芯2K1000处 ...

  6. 迅为龙芯2K1000开发板虚拟机ubuntu安装SSH服务

    在搭建开发环境的时候, 提到了不要给电脑安装双系统, 因为我们经常要在 ubuntu 和 windows 上互传文件, 所以我们要使用虚拟机,然后在虚拟机里面安装我们 ubuntu 操作系统. 那么我 ...

  7. 龙芯2K1000开发板资料1.2版更新了

    叮,今日更新已送达. 本次指南更新新增了pmon下操作GPIO章节和pmon下Ejtag使用章节,感兴趣的快来看看吧~ 更新重点 1.新增了9.6 pmon下操作GPIO章节 2.新增了9.7 pmo ...

  8. 迅为龙芯2K1000开发板PMON开发之配置nand flash之配置pmon

    pmon 支持俩种接口类型的 nand flash,一个是 nand 控制器接口,一个是 spi 接口.龙芯核心板上板载了一个 nand 控制器接口的 flash. 1 配置 pmon 首先我们需要在 ...

  9. 迅为龙芯2K1000开发板国产处理器操作系统

    1.硬件配置 国产龙芯处理器,双核64位系统,板载2GDDR3内存,流畅运行Busybox.Buildroot.Loognix.QT5.12 系统! 2.接口全 板载4路USB HOST.2路千兆以太 ...

最新文章

  1. 【最新专升本】软件工程试题及答案_
  2. 关于ping telnet
  3. session 安全问题(关闭页面时自动清除session)
  4. leetcode93. 复原IP地址(回溯)
  5. Facebook开源移动端深度学习加速框架,比TensorFlow Lite快一倍
  6. Ubuntu18.04之man中文版
  7. 修改注册表设置桌面和收藏夹路径
  8. Python如何实现人脸识别系统
  9. 产品经理面试题(面试经历)
  10. 斗图吗?教你用Python来制作表情包
  11. 开发指南专题六:JEECG微云快速开发平台代码生成
  12. 新贵 轻雅 100 数字键 numlock问题
  13. 优胜劣汰,WiFi会被5G淘汰吗?
  14. 大脑构造图与功能解析_大脑结构与功能
  15. html右侧可隐藏导航栏,HTMLCSS----练习隐藏导航栏(三级导航)
  16. 【宇麦科技】NAS玩家必备小知识——RAID怎么选才能又快又稳?
  17. 【I2C】i2c-tools的使用方法
  18. Qt实战:Qt5.11.1安装与MSVC配置
  19. 【QTdesigner】课时52.绘制各种图形(paintEevnt()))【pyqt5+QTdesigner模式】
  20. 自动开料机器人_ROBOGUIDE软件:机器人输送带上下料虚拟仿真操作方法

热门文章

  1. 技校计算机学校排名,现在全国排名前十的技校有哪些
  2. grib1文件解析 python_基于Python的Grib数据可视化
  3. 微信小程序wxs封装使用以及公共js组件封装
  4. 使用JAVA工具类进行邮件发送
  5. eclipse插件开发 -右键菜单 - popup menu
  6. 【Android RTMP】RTMP 直播推流 ( 阿里云服务器购买 | 远程服务器控制 | 搭建 RTMP 服务器 | 服务器配置 | 推流软件配置 | 直播软件配置 | 推流直播效果展示 )
  7. Dr.Web(大蜘蛛)中天专用一瓢凉水特别版
  8. 郑州大学远程教育计算机专业英语,郑州大学远程教育专业英语考试.doc
  9. FMEA:五大核心质量工具之FMEA
  10. 中国所有城市(json数据)