mobile CCTV,mobile surveillance,police body worn cameras

 forgetPW
 registerNow
search
view: 1211|reply: 0
打印 prevThread nextThread

基于HI3515的4G车载DVR的嵌入式LINUX应用二次开发说明

[copyURL]

1

主题

8

帖子

41

积分

newBie

Rank: 1

积分
41
jumpTo
owner
poston 2021-5-20 16:04 | authorOnly 回帖奖励 |倒序浏览 |阅读模式
什么是NFS作为rootfs模式?
  NFS即网络文件系统,NFS允许一个系统在网络上与他人共享目录和文件。通过使用NFS,用户和程序可以像访问本地文件一样访问直接系统上的文件。对于嵌入式开发来说,我们在PC端(宿主机)共享一个目录(/ tftpboot),调试的时候将板卡的文件系统放在其目录下。在uboot环境下设置板卡相应的bootargs参数,/ tftpboot下一个文件系统将作为板卡的根文件系统。此时板卡运行的就是/ tftpboot下的程序,开发者只要将调试程序放到/ tftpboot下的文件系统中,程序就可以在板卡中运行了。
  将NFS作为rootfs模式调试的优势在于调试程序只要进行简单的替换就可以,不需要再次修改后重新烧写固件到板卡中。
  一.NFS服务的环境建设
  1.配置NFS服务和安装minicom
  NFS服务
  须藤apt-get install nfs-kernel-server portmap
  在配置文件/ etc / exports增加如下内容,以后可以通过网络文件系统访问/ work / nfs_root目录
  / work / nfs_root *(rw,sync,no_root_squash)
  通常我们暴露/ tftpboot目录出去供目标板访问:
  / tftpboot ???*(rw,sync,no_subtree_check,no_root_squash)
  / tftpboot ???*(rw,sync,no_subtree_check,no_root_squash)
  〜
  重启NFS服务
  sudo /etc/init.d/nfs-kernel-server重新启动
  ??? 安装minicom
  sudo apt-get安装minicom
  配置为/ dev / ttyS0串口,波特重新115200 8N1
  如果下载不成功的话,要检查tftp服务是否启动:
  ps -ax | grep tftp
  sudo服务tftpd-hpa重新启动
  2.在linux服务器上安装交叉编译器
  使用NFS调试,首先要在PC上建立交叉编译的平台,以hi3515平台,misc_ctrl程序为例,需要用到arm-hisi-linux的编辑器。
  1.从服务器smb://192.168.6.16/nfs/crosscompiler上获取压缩包
  Hi3515_SDK_V1.0.5.0.c1.tgz
  2.将Hi3515_SDK_V1.0.5.0.c1.tgz解压缩:
  tar -zxf?Hi3515_SDK_V1.0.5.0.c1.tgz
  (具体操作详见Hi3515 SDK安装以及升级使用说明.txt文档)
  完成后检查/opt/hisi-linux/x86-arm/gcc-3.4.3-uClibc-0.9.28/usr/bin下有没有编译器
  3.修改配置文件,添加编译器的路径:
  须藤vi / etc / profile
  在末尾处指定编译器的路径,arm-hisi-linux是自动添加的,检查有没有添加以下路径:
  导出PATH =“ / opt / hisi-linux / x86-arm / gcc-3.4.3-uClibc-0.9.28 / usr / bin:$ PATH”
  退出后,执行source / etc / profile,这样交叉编译器的脚本配置的环境就可以生效了。
  二。针对misc_ctrl的调试(hi3515为例)
  需要注意的是在交叉编译misc_ctrl时,根据板子的内核不同需要对配置文件config.mk,例如:
  cd bvpu;
  ./mklink.sh
  制作hisi3515_config
  编译3515平台的misc_ctrl。
  1.调试misc_ctrl,可以采用nfs调试,首先设置好bootargs的参数。
  NFS调试vc_e
  setenv bootargs busclk = 220000000 mem = 128M console = ttyAMA0,115200 root = / dev / nfs rw nfsroot = 192.168.6.47:/tftpboot/BVS-W4020-VC-E.filesys.3515,nolock eth = 00-0B-3D- F5-09-51 ip = 192.168.6.49:192.168.6.47:192.168.6.254:255.255.255.0 pcimod = host pciclksel = 1 debug_cmdline; setenv ipaddr 192.168.6.49; setenv serverip 192.168.6.47; tftp 0xc1000000 BVS-W4020-VC-E.filesys.3515 / uImage; bootm 0xc1000000
  此时板卡就会将/ tftpboot目录视为它的根目录,跑的是PC上/ tftpboot目录下的内核。
  2.调试misc_ctrl的时候,需要先修改配置文件,防止kill之后重新启动:
  cd /tftpboot/BVS-W4020-VC-E.filesys.3515/etc
  须藤vi misc_ctrl_spec
  ??? 修改配置文件misc_ctrl_spec的系统扩展
  [系统]
  ??? reboot_enable = 1
  ??? power_style = 0
  ??? #****此使用FIFO名称
  ??? pingcmd = elss,dialdaemo,livecams,sacdil
  ??? 看门狗= 0
  ??? 调试= 0
  (注意以下命令都在minicom中执行)
  watchdog = 0是否启用喂狗。如不想启用,请确定内核自动喂狗,否则系统会重启。将watchdog的参数1改成0,这样kill misc_ctrl后系统就不会重启了。
  3.运行调试后的misc_ctrl
  首先把/ tftpboot目录装入到板子的/ mnt / media下,然后杀死misc_ctrl,再将重新编译后的misc_ctrl放到/ tftpboot,这样就可以运行新的misc_ctrl了:
  挂载-o nolock -t nfs 192.168.6.46:/tftpboot / mnt / media
  cd /tftpboot/BVS-W4020-VC-E.filesys.3515/usr/bin
  杀死misc_ctrl
  cd / tftpboot
  ./misc_ctrl
reply

使用道具 report

creditRule

QQ|wireless surveillance

GMT+8, 2024-5-3 04:45 , Processed in 0.055666 second(s), 20 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

QuickReply backToTop BackToList