[voip] Support vvlogCmd feature

  • 新增voip_vlog 及 vvlogCmd 功能
    • 紀錄怎麼將此功能嵌入到板子上, 讓開發者可以透過此功能 debug
  • 準備好 c & h file
        :~ /PRV33AC225E-B-TE/package/arcadyan-utility/arc_voip/src/src/source/voip_vlog$ ls
           Makefile  voip_vlog_core.c  voip_vlog_define.h vvlogCmd.c
  • 修改 Makefile
define Build/Compile
        if [ ! -d "./src" ]; then \
                $(INSTALL_DIR) $(PKG_INSTALL_DIR)/usr/sbin/;\
                $(INSTALL_BIN) ./brnsip $(PKG_INSTALL_DIR)/usr/sbin/;\
                $(INSTALL_BIN) ./voip_vlog $(PKG_INSTALL_DIR)/usr/sbin/;\
                $(INSTALL_BIN) ./vvlogCmd $(PKG_INSTALL_DIR)/usr/sbin/;\
                $(INSTALL_DATA) -m 755 ./files/vlog_store.sh $(PKG_INSTALL_DIR)/usr/sbin/;\
                $(INSTALL_DATA) -m 755 ./files/collect_voice_logs.sh $(PKG_INSTALL_DIR)/usr/sbin;\
        else \
                $(MAKE) -C $(PKG_BUILD_DIR)/output \
                        $(MAKE_FLAGS) \
                        TARGET_CFLAGS="$(TARGET_CFLAGS) $(TARGET_CPPFLAGS) $(EXTRA_CFLAGS)" \
                        TARGET_LDFLAGS="$(TARGET_LDFLAGS)" EXTRA_LDFLAGS="$(EXTRA_LDFLAGS)" \
                        -f 00config.mk MY_MAKELEVEL=99 \
                        ROOT_DIR=$(PKG_BUILD_DIR);\
                $(MAKE) -C $(PKG_BUILD_DIR)/output;\
                $(INSTALL_DIR) $(PKG_INSTALL_DIR)/usr/sbin/;\
                $(INSTALL_BIN) $(PKG_BUILD_DIR)/output/00release/brnsip $(PKG_INSTALL_DIR)/usr/sbin/;\
                $(CP) $(PKG_BUILD_DIR)/output/00release/brnsip ./; \
                $(MAKE) -C $(PKG_BUILD_DIR)/source/voip_vlog \
                        CC="$(TARGET_CC)" \
                        SIPP_APPS_BLDDIR="$(PKG_BUILD_DIR)/source/voip_vlog"; \
        fi

endef

define Package/$(PKG_NAME)/install
        if [ ! -d "./src" ]; then \
                $(INSTALL_BIN) ./brnsip $(PKG_INSTALL_DIR)/usr/sbin/;\
                $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/brnsip $(1)/usr/sbin/;\
                $(INSTALL_BIN) ./voip_vlog $(1)/usr/sbin/;\
                $(INSTALL_BIN) ./vvlogCmd $(1)/usr/sbin/;\
        else \
                $(INSTALL_BIN) $(PKG_BUILD_DIR)/source/voip_vlog/voip_vlog $(1)/usr/sbin/;\
                $(INSTALL_BIN) $(PKG_BUILD_DIR)/source/voip_vlog/vvlogCmd $(1)/usr/sbin/;\
                $(INSTALL_BIN) $(PKG_BUILD_DIR)/output/00release/brnsip $(1)/usr/sbin/;\
        fi 
        $(INSTALL_DATA) -m 755 ./files/vlog_store.sh $(1)/usr/sbin/     
        $(INSTALL_DATA) -m 755 ./files/collect_voice_logs.sh $(1)/usr/sbin/     

endef

     > 說明: 這個案子比較特別, 我必須將可執行檔準備好放在特定的目錄上, 其他開發人員只能使用可執行檔, 無法看到原始檔, 所以必須分層兩種 case 處理. 1. 有 source 2. 沒有 source 皆要確認可以編譯並產生可執行檔案

  • 需要讓系統執行過程中, 可以直行到上面產生的可執行檔案
    • /telmex/PRV3326B-B-TE/rootfs-PRV33AC225E-B-TE/sbin/ecn_load.sh
/usr/scripts/voip_load.sh &
/usr/scripts/vlog_store.sh &
  • /rootfs-PRV33AC225E-B-TE/sbin/ecn_load.sh:646:/usr/scripts/vlog_store.sh &
  • vlog_store.sh  (store_vlog(): 實作儲存檔案內容)

while [ 1 ]
do
        store_vlog
        sleep 1
done