西安网站建设公司排,网站制作技术方案,h5个人简历模板,免费网站制作平台以下内容源于朱有鹏嵌入式课程的学习与整理#xff0c; 如有侵权请告知删除。
内容总结
#xff08;1#xff09;添加“ telnet远程登录 ”这种调试方式。
#xff08;2#xff09;介绍“ 海思proc文件系统 ”这种调试接口。 一、telnet远程登录
1、telnet远程登录的意…以下内容源于朱有鹏嵌入式课程的学习与整理 如有侵权请告知删除。
内容总结
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 ps2然后在SCRT上新建一个连接配置如下。 3在登陆处输入账号“root”在password处直接回车因为没有设置密码。
(none) login: root
Password:
Welcome to HiLinux.
mmz_start: 0x82000000, mmz_size: 32M
insmod: cant insert mmz.ko: File exists
******* Error: Theres 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文件系统取代。
2proc文件系统的原理是把内核关键的变量以文件的形式呈现到用户层用户层通过查看这些文件从而得到内核的一些信息。这些信息是动态信息是内核运行过程中呈现的信息。
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。