Telnet远程登录 与 海思proc文件系统

以下内容源于朱有鹏嵌入式课程的学习与整理, 如有侵权请告知删除。

内容总结

(1)添加“ telnet远程登录 ”这种调试方式。

(2)介绍“ 海思proc文件系统 ”这种调试接口。

一、telnet远程登录

1、telnet远程登录的意义

Linux系统的用户界面就是命令行,本质上由busybox提供。busybox提供的命令行只有一个,一旦前台被占用就无法做其他操作。

解决方法有两个,一个是建立多个命令行,一个是开放其他用户界面(比如通过telnet远程登录可以开放其他用户界面)。

2、telnet远程登录的原理

(1)在板载系统中运行命令“telnetd &”,让板载系统作为telnet的server端。

(2)通过telnet的client端(在SCRT中设置)连接telnet的server端,从而构建一个用户界面。

(3)这是非常传统与典型的远程登录方式。

3、在HI3518E开发板上进行telnet远程登录

(1)首先执行“telnetd &”,其中“&”和“d”分别表示在后台运行、守护进程(或者说它是服务器)。

/mnt # which telnet
/usr/bin/telnet
/mnt # ls /usr/bin/telnet -l
lrwxrwxrwx    1 root     root   17 Nov 16  2022 /usr/bin/telnet -> ../../bin/busybox
/mnt # telnetd &
/mnt # ps
#省略部分输出561 root       0:00 udevd --daemon568 root       0:00 udevd --daemon750 root       0:00 -sh956 root       0:00 telnetd  #该进程在这里1047 root       0:00 [flush-mtd-unmap]1064 root       0:00 ps

(2)然后在SCRT上新建一个连接,配置如下。

(3)在登陆处输入账号“root”,在password处直接回车(因为没有设置密码)。

(none) login: root
Password: 
Welcome to HiLinux.
mmz_start: 0x82000000, mmz_size: 32M
insmod: can't insert 'mmz.ko': File exists
******* Error: There's something wrong, please check! *****
mount: mounting 192.168.1.141:/home/xjh/iot/hisi_development/hisi_rootfs on /mnt failed: Device or resource busy
/mnt # 

每次开启telnet服务时,就会执行一次/etc/profile文件。这文件里有挂载操作,因此提示挂载错误,因为在执行“telnetd &”命令的那个窗口挂载了,不能重复挂载。这文件里也有安装某个驱动程序的操作,因为已经执行过一次,所以这里提示不能插入mmz.ko。

我们将/etc/profile文件中只需要进行一次的操作,剪切至/etc/init.d/rcS文件中,因为rcS文件只会在开机启动时被执行一次,开启telnet服务时也不会再执行rcS文件。修改后的rcS文件如下所示。

/bin/mount -aecho "_ _ _ _ _ _ _ _ _ _ _ _\  _  _   _  _ _ ___/ /__/ \ |_// __   /  -  _ ___/ /  / /  / /_ _ _ _/ /  /  \_/  \_ ______
___________\___\__________________
"
for initscript in /etc/init.d/S[0-9][0-9]*
doif [ -x $initscript ] ;thenecho "[RCS]: $initscript"$initscriptfi
done
ifconfig lo 127.0.0.1
ifconfig eth0 192.168.1.11mount -t vfat /dev/mmcblk0p1 /usr/mmccd /usr/mmc/ko
./load3518e -i -sensor ar0130 -osmem 32 -total 64
mount -t nfs -o nolock 192.168.1.141:/home/xjh/iot/hisi_development/hisi_rootfs /mnttelnetd &# 将“cd /mnt”这句代码在这里不生效,因为rcs文件之后某些操作还会改变目录
# 将“cd /mnt”这句代码放在/etc/profle文件中就生效

/etc/profile文件和rcS文件的执行顺序是怎样的?“cd /mnt”指令在rcS文件中不生效(当etc/profile文件中没有这个指令,在rcS文件中有这个指令时,系统完全启动后却停留在/root目录),而在etc/profile文件中生效(当rcS文件中没有这个指令,而在etc/profile文件中有这个指令时,系统完全启动后停留在/mnt目录),这说明是先执行完rcS文件再执行/etc/profile文件。

进行上述修改之后,再进行步骤(2)(3)操作时,显示如下。我特意开启了几个界面,以说明telnet远程登录可以开启多个用户界面。

二、海思proc文件系统

1、proc文件系统的原理

/mnt # cd /proc/   #proc文件系统内容
/proc # ls
1              257            418            7              cmdline        fb             kpagecount     net            sysvipc
139            262            458            964            consoles       filesystems    kpageflags     pagetypeinfo   timer_list
141            3              472            965            cpu            fs             loadavg        partchange     tty
142            315            492            969            cpuinfo        hieth          locks          partitions     umap
144            331            496            971            crypto         interrupts     mci            scsi           uptime
153            399            5              972            devices        iomem          media-mem      self           version
156            4              507            973            diskstats      ioports        meminfo        slabinfo       vmallocinfo
164            402            515            978            dma-mappings   irq            misc           softirqs       vmstat
166            407            570            buddyinfo      driver         kallsyms       modules        stat           yaffs
2              410            572            bus            dump_sb_files  key-users      mounts         swaps          zoneinfo
255            415            6              cgroups        execdomains    kmsg           mtd            sys/proc # ls /sys/*  #sys文件系统内容
/sys/block:
mmcblk0    mtdblock1  ram0       ram10      ram12      ram14      ram2       ram4       ram6       ram8       romblock0  romblock2
mtdblock0  mtdblock2  ram1       ram11      ram13      ram15      ram3       ram5       ram7       ram9       romblock1/sys/bus:
amba         cpu          himedia      mdio_bus     platform     sdio         spi
clocksource  hid          i2c          mmc          scsi         serio        usb/sys/class:
bdi              fc_host          firmware         input            mmc_host         scsi_device      spidev           vc
block            fc_remote_ports  graphics         mdio_bus         mtd              scsi_disk        tty              vtconsole
bsg              fc_transport     i2c-adapter      mem              net              scsi_host        ubi
cuse             fc_vports        i2c-dev          misc             regulator        spi_master       usb_device/sys/dev:
block  char/sys/devices:
acodec    ai        h264e     hifb      ive       platform  rgn       uart:0    vb        vi        vpss
adec      ao        hi_mipi   himedia   jpege     pwm       sys       uart:1    venc      virtual
aenc      chnl      hi_tde    isp_dev   logmpp    rc        system    uart:2    vgs       vo/sys/firmware:/sys/fs:
cgroup  ext4    fuse/sys/kernel:
fscaps         ipv4           mm             notes          slab           uevent_helper  uevent_seqnum/sys/module:
acodec             hi3518e_aenc       hi3518e_jpege      hi3518e_vpss       mmcblk             scsi_transport_fc  usb_storage
auth_rpcgss        hi3518e_ai         hi3518e_rc         hi_media           mmz                sensor_i2c         usbcore
block              hi3518e_aio        hi3518e_region     hi_mipi            mousedev           spidev             usbhid
block2mtd          hi3518e_ao         hi3518e_sys        hid                nfs                spurious           vt
brd                hi3518e_base       hi3518e_tde        hifb               piris              sunrpc             xz_dec
dns_resolver       hi3518e_chnl       hi3518e_venc       kernel             printk             tcp_cubic          yaffs
ehci_hcd           hi3518e_h264e      hi3518e_vgs        keyboard           psmouse            ubi
fuse               hi3518e_isp        hi3518e_viu        lockd              pwm                ubifs
hi3518e_adec       hi3518e_ive        hi3518e_vou        mmc_core           scsi_mod           uinput/sys/power:
compress_method     hb_bdev_file        pm_async            reserved_size       snapshot_buf_size   state
disk                image_size          pm_test             resume              snapshot_buf_start  wakeup_count
/proc #

(1)无组织而混乱的proc文件系统已经被有组织而规整的sys文件系统取代。

(2)proc文件系统的原理,是把内核关键的变量以文件的形式呈现到用户层,用户层通过查看这些文件从而得到内核的一些信息。这些信息是动态信息,是内核运行过程中呈现的信息。

(3)这些文件是虚拟的,它们其实是内核运行过程中某些变量的值。

(4)可以使用cat命令查看这些信息。

/proc # cd umap/
/proc/umap # ls
acodec  aenc    ao      h264e   higo    ive     logmpp  rc      sys     vb      vgs     vo
adec    ai      chnl    hifb0   isp     jpege   md      rgn     tde     venc    vi      vpss
/proc/umap # cat vi[VIU] Version: [Hi3518EV200_MPP_V1.0.3.0 B040 Release], Build Time: [May 20 2016, 12:01:03]VI-VPSS is online.-----MODULE PARAM--------------------------------------------------------------
detect_err_frame  drop_err_frame  stop_int_level10              0              0-----VI DEV ATTR---------------------------------------------------------------Dev   IntfM  WkM  ComMsk0  ComMsk1 ScanM AD0 AD1 AD2 AD3   Seq   DPath DType DRev CapX CapY  CapW  CapH-----VI HIGH DEV ATTR---------------------------------------------------------------Dev  InputM  WkM  ComMsk0  ComMsk1 ScanM AD0 AD1 AD2 AD3   Seq CombM CompM ClkM  Fix FldP   DPath DType DRev CapX CapY  CapW  CapH-----VI PHYCHN ATTR------------------------------------------------------------PhyChn CapX CapY  CapW  CapH  DstW  DstH CapSel Mirror Flip IntEn PixFom SrcRat DstRat   Comp-----VI PHYCHN STATUS 1----------------------------------------------------------PhyChn  Dev      IntCnt  VbFail  LosInt  TopLos  BotLos BufCnt  IntT  SendT  Field  Stride-----VI PHYCHN STATUS 2---------------------------------------------------------PhyChn MaxIntT   IntGapT   MaxGapT LIntCnt  ThrCnt AutoDis CasAutD  TmgErr      ccErrN    IntRat
/proc/umap #

2、海思proc文件系统调试

官方文档见链接:资源_1111。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/460907.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

北邮-上机-提交错误解决及一些经验

2019独角兽企业重金招聘Python工程师标准>>> 1、出现Time Limit Exceed问题 答:三种原因:1、程序死循环或太多的循环;2、对极限状况计算量太大,需要优化程序,如对10000个以上进行排序必须使用快速排序&…

study notes for python

some useful materials Python完全新手教程 http://www.cnblogs.com/taowen/articles/11239.aspx (from taowen, BITer) Note: Part 1 Basic Data Structure List, Dict(dictionary) and Turple are three main data structures in python, which are respond to set,mapping a…

html如何制作滑块,网页制作html5实现滑块功能之type=quot;rangequot;属性-建站-建站教程-建站方法-米云建站 - 米云问答...

html5实现滑块功能之type"range"属性1.html5中添加了关于滑块的标签,其实际是扩展了input标签,type属性值为range。2.感觉挺有意思,就做了一个关于滑块的动画的例子,可以通过开始和结束按钮来控制滑块的滑动和停止,有点类似视频的自动播放和暂…

第七季3:分析“将H.264码流打包成MP4格式的文件”的源码

以下内容源于朱有鹏嵌入式课程的学习与整理,如有侵权请告知删除。 前言 “将H.264MP4码流打包成MP4格式文件”的实验,见博文第七季2:MP4v2库的移植与播放实战。 接下来我们将对相关的源码进行分析。建立SI工程,导入sample_mp4_…

什么代码才是线程安全的

转自:http://www.cnblogs.com/lidabo/archive/2013/04/10/3011518.html 对于多线程编程,很多人概念不清,写代码的时候要么是处处加锁,影响性能不说,还容易莫名其妙的死锁,还有人对多线程敬而远之。所以学习…

百度富文本编辑器的应用技巧---在一个页面中使用多个样式不同功能不同的编辑器...

//1.2.4以后可以使用一下代码实例化编辑器 //UE.getEditor(myEditor)在官方的说明文档上看到这个注释&#xff0c;不是很明白&#xff0c;而且需要在一个页面中使用多次样式功能不同的ueditor&#xff0c;经过多次测试&#xff0c;终于成功自定义功能。代码如下<form><…

计算机基础知识复习题,计算机基础知识理论复习题及答案.doc

《计算机基础知识理论复习题及答案.doc》由会员分享&#xff0c;提供在线免费全文阅读可下载&#xff0c;此文档格式为doc&#xff0c;更多相关《计算机基础知识理论复习题及答案.doc》文档请在天天文库搜索。1、&#xfeff;基础知识复习题及答案一、 选择题1. 第三代计算机所…

RAM、ROM和FLASH三大类常见存储器简介

以下内容源于网络资源的学习与整理&#xff0c;如有侵权请告知删除。 参考博客&#xff1a; Flash、RAM、ROM的区别_天籁东东的博客-CSDN博客_flash和rom的区别 RAM、ROM和FLASH三大类常见存储器简介 - 存储技术 - 电子发烧友网 RAM、NANDFlash、NORFlash的区别详解 - 百度…

SHELL中的IF判断 ​

SHELL中的IF判断shell中if做比较比较两个字符串是否相等的办法是&#xff1a;if [ "$test"x "test"x ]; then这里的关键有几点&#xff1a;1 使用单个等号2 注意到等号两边各有一个空格&#xff1a;这是unix shell的要求3 注意到"$test"x最后的…

wangeditor html编辑,Vue整合wangEditor富文本编辑器

最近在做项目时&#xff0c;客户有个发布新闻动态的功能&#xff0c;具体页面内容让客户自己编写&#xff0c;所以要选择富文本编辑器&#xff0c;这样用户体验好一点。网上有很多的富文本编辑器&#xff0c; 因为项目的功能并不是很复杂&#xff0c;所以选择了wangEditor&…

SqlSever分页查询,仅扫描一次表

数据库的分页查询一般由两个查询组成&#xff1a; select count(*) from Goods 和 select * from (select row_number() over(order by goodsId) as rowid, *from Goods ) as a where rowid > pageSize * (pageIndex - 1) 1 and rowid < pageSize * pageIndex 第一个查询…

嵌入式基础认识2:shell脚本的一些简单语法规则

一、关于shell的一些认识 1、shell语言&#xff0c;是一类编程语言。常用shell语言有sh、bash、csh、ksh、perl、python等。linux下最常用的脚本就是bash。 2、shell脚本&#xff0c;即把在命令行中输入的命令写成程序。这样可以避免反复地在命令行下手工输入命令的繁琐工作。…

DreamWeaver连接Tomcat用以编辑和测试JSP

2019独角兽企业重金招聘Python工程师标准>>> 3 、打开软件之后&#xff0c;大家选择【站点】中的【新建站点】 。 4 、填写要填的内容。 站点名称&#xff1a;可以随便起&#xff0c;只是用来区分站点用的。因为&#xff0c;可以建立多个站点。 本地根文件夹&…

2013多校第三场

hdu 4629 题意&#xff1a;给你n个三角形&#xff0c;问覆盖1~n次的面积各是多少&#xff0c;n < 50; 分析&#xff1a;取出所有端点和交点的x坐标&#xff0c;排序&#xff0c;然后对于每一段xi~xi1的范围的线段都是不相交的&#xff0c;所以组成的 面积要么是三角形&#…

TSS 任务状态段

TSS(任务状态段)1 什么是TSS TSS 全称task state segment&#xff0c;是指在操作系统进程管理的过程中&#xff0c;任务&#xff08;进程&#xff09;切换时的任务现场信息。 2 TSS工作细节 TSS在任务切换过程中起着重要作用&#xff0c;通过它实现任务的挂起和恢复。所谓…

Linux下C语言程序的内存布局

以下内容源于C语言中文网的内容学习与整理。如有侵权&#xff0c;请告知删除。 一、C语言内存布局 C程序所占用的内存&#xff0c;可以划分为以下几个部分。 1、栈区&#xff08;stack&#xff09;。由编译器自动分配释放&#xff0c;存放函数的参数值&#xff0c;局部变量的值…

HTML/CSS/Javascript代码在线压缩、格式化(美化)工具

CSS 格式化ProCSSor - http://procssor.com/CSS 压缩CSS Compressor - http://www.cssdrive.com/index.php/main/csscompressorHTML 格式化Tabifier - http://tools.arantius.com/tabifierHTML 压缩Compress HTML - http://www.textfixer.com/html/compress-html-compression.p…

【运动快乐】享受赤脚慢跑 收获健康快乐

享受赤脚慢跑 收获健康快乐——写给想锻炼的您当您看到赤脚客时&#xff0c;您或许忍不住会问&#xff1a;为什么要赤脚跑呢&#xff1f;不怕扎破脚&#xff1f;跑起来不会硌疼么&#xff1f;赤脚踩在看起来扎脚硌脚的路面上&#xff0c;因为怕疼&#xff0c;我们的脚落地会轻而…

微型计算机频繁死机的原因,电脑经常死机是什么原因|电脑经常死机的解决方法...

‍‍电脑出现死机是很常见的一种故障&#xff0c;造成的原因也有很多种。而最近有些用户的电脑经常死机&#xff0c;开机几分钟就死机&#xff0c;有时还会出现蓝屏&#xff0c;这到底是怎么回事呢&#xff1f;电脑经常死机是什么原因呢&#xff1f;下面小编结合自己的实际情况…

Linux系统命令行的符号含义

内容整理于网络&#xff0c;如有侵权&#xff0c;请告知删除。 1、常见符号含义 . 代表当前目录 .. 代表上一层目录&#xff0c;当前目录的父目录 - 代表前一个目录&#xff0c;我刚才从哪个目录cd过来 ~ 代表当前用户的宿主目录 / 代表根目录 $ 普通用户的命令行提示符…