- 新增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