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協議登錄到服務器,進入掛載目錄,基于服務器的編譯環(huán)境編譯本地的文件,并將編譯結果回傳到本地。
securecrt SSH2打開 172.16.35.211
用戶名: username
密碼: sdk289vna83d
創(chuàng)建 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)環(huán)境
關于WIN7中Virtualbox搭Ubuntu虛擬機沒有Ubuntu64位的選項,因為BIOS中禁止了Intel Virtual Technology
如果Telnet服務未打開,先打開Telnet服務,需要在系統(tǒng)服務中打開該服務
(5)win共享
用到局域網內共享,先在WIN7上將要共享的目錄設置一下:
需要在administrator用戶組才能使用共享,
創(chuàng)建共享:屬性>共享>高級共享>共享此文件夾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)
總結
- 上一篇: android activity ali
- 下一篇: 14. 表单标签及其应用实例