VF相关

(1)开启调试模式方法
telnet换为securecrt来操作 端口11023
1)telnet 172.16.88.203 11023
2)输入 root 密码 visidigi
3)touch /mnt/mtd/Config/sofia.dbg #进入调试模式,不用重新验证
4)reboot 重启设备
rmmod wdt 卸载看门狗驱动rmmod wdt 卸载看门狗驱动
telnet 登录设备 ps 查询 无 Sofia 进程运行。
摄像头控制台只允许访问var等两个目录
对sofia.dbg文件是否存在的判断相当于boot启动后的对是否按下空格的判断,如果存在该文件则进入下载更新模式,可以通过tftp命令加载本地的bin文件到设备,并运行。

(2)编译
代码实际是SVN check到本地的,通过将本地的源码挂载到编译服务器上,然后SSH2协议登录到服务器,进入挂载目录,基于服务器的编译环境编译本地的文件,并将编译结果回传到本地。
securecrt SSH2打开 172.16.35.211
用户名: username
密码: sdk289vna83d
创建 work目录
mount 挂载代码目录如下
sudo mount -t cifs //172.16.35.77/sharedDir /home/username/work -o user=admin,nounix,noserverino,uid=$USER,gid=$USER,iocharset=utf8

(3)打包
make pack过程中会打包资源文件,pack过程会将本地文件拷贝到服务器,进行pack,查看服务器中相应的目录可以对比确定是否资源文件已经拷贝正确。
比如
local:
P_3516A2.16.0.x_20150604\PackShop2\Strings\IPC\General\StringsCn.txt
211:
/home/share/username/Tmp/FV-IPC-88xx/General/General/E/20170502/Custom/data/Strings/StringsCn.txt

(4)环境
关于WIN7中Virtualbox搭Ubuntu虚拟机没有Ubuntu64位的选项,因为BIOS中禁止了Intel Virtual Technology
如果Telnet服务未打开,先打开Telnet服务,需要在系统服务中打开该服务

(5)win共享
用到局域网内共享,先在WIN7上将要共享的目录设置一下:
需要在administrator用户组才能使用共享,
创建共享:属性>共享>高级共享>共享此文件夹shared即可
可以在win+R后输入\172.16.35.77\shared测试并进入该共享目录

(6)设备目录挂载
mkdir /var/tmp3;mount -t nfs 172.16.35.211:/home/share/username /var/tmp3 -o nolock,tcp;cd
将211服务器上的目录挂载到当前登录设备的/var/tmp3目录,则在设备上将相关文件拷贝到/var/tmp3后,
可以通过211上的目录或者再次将211上的该目录映射到PC目录,即可在PC上直接访问设备上的目录。

(7)tftp
打开tftpd32之后设置bin文件(Sofia.bin)所在目录
securecrt登录到172.16.85.203 11023
tftp -g -r Sofia -l /var/Sofia 172.16.35.77
chmod 777 /var/Sofia
/var/Sofia


(1)makefile及shell自动配置SVN信息
dist: /home/gong_wei/work/P_3516A2.16.0.x_20150604/bin/demo/FV-IPC-88xx/General/General/General/intermediate/bin/Sofia
slave:
SvnURL: http://172.16.35.210:9191/svn/xxxxxxxxxxxxxx
SvnVersion: 7820
sdk: HI3516A_SDK

(2)单例模式

//---------------------------------------------------------单例声明 
#define PATTERN_SINGLETON_DECLARE(classname)    \
static classname * instance();  \
static CMutex s_singletion_mutex;

//---------------------------------------------------------单例定义
#define PATTERN_SINGLETON_IMPLEMENT(classname)  \
CMutex classname::s_singletion_mutex;   \
classname * classname::instance()       \
{                                               \
    CGuard tmpGuard(s_singletion_mutex);                \
    static classname * _instance = NULL;        \
    if( NULL == _instance)                      \
    {                                           \
        _instance = new classname;              \
    }                                           \
    return _instance;                           \
}

使用时

///单例类定义文件
class CAlarm : public IAlarmManager
{
public:
    PATTERN_SINGLETON_DECLARE(CAlarm);
}
单例类实现文件
PATTERN_SINGLETON_IMPLEMENT(CAlarm);

(3)CSendData拼包
https://blog.csdn.net/u013566722/article/details/80524072
(4)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值