公司的modem**一直由驅動維護,分為新編譯方式和傳統編譯方式兩種方法,在編譯時需要手動查詢需要編譯的modem是在新編譯方式的指令碼裡,還是傳統編譯方式的指令碼裡,然後再覆蓋不同編譯指令碼,再執行編譯;整個查詢過程耗時且繁瑣,故重寫編譯指令碼執行快速編譯。
明確需求:
1.簡化傳統modem查詢編譯過程:從bcompile37ali.sh指令碼中查詢到相應modem的編譯**,覆蓋bcompile37ali_single.sh,再執行bcompile37ali_single.sh進行編譯。
2.簡化新modem查詢編譯過程:查詢modem_name.sh指令碼,覆蓋mdmk.sh指令碼,再執行mdmk.sh指令碼編譯。
使用方式:
./lmk_modem.sh modem_name
指令碼**:
——lttg——
#!/bin/sh
modem_name=$1
green="\033[0;32m"
no_color="\033[0m"
red="\033[0;31m"
yellow="\033[1;33m"
if [ ! -n "$modem_name" ] ;then
echo
"--------------------------------------------"
echo
""echo
""echo
""echo
"please used like './lmk_modem.sh modem_name'"
echo
""echo
""echo
""echo
"--------------------------------------------"
exit
finew_modem=`eval
echo
'$'modem_name |cut -d
'_'-f
1-2`
old_modem=`eval
echo
'$'modem_name |cut -d
'_'-f
1-3`
echo
" "echo
" "echo
$new_modem
echo
$old_modem
echo
" "echo
" "cd teksun_modem/mdcfg_list/
sh_modem=$(find ./ -name *$*.sh)
if [ -n "$sh_modem" ] ;then
rm -rf ../mdcfg.sh
cp -rf $sh_modem ../mdcfg.sh
cd -
./mdmk.sh
exit
1;else
cd -
str=$(cat bcompile37ali.sh)
modem_exit=`echo
$ |grep "$"|wc -l`
if [ $modem_exit = "1" ];then
true >bcompile37ali_single.sh
echo
"#!/bin/sh" >>bcompile37ali_single.sh
start_line=$(grep -n $old_modem bcompile37ali.sh | head -n 1 | cut -d : -f
1) end_line=$(grep -n $old_modem bcompile37ali.sh | tail -1 | cut -d : -f
1) for((i=$start_line;i<=$end_line;i=i+1))
dohead -n $i bcompile37ali.sh | tail -n 1 >>bcompile37ali_single.sh
done
./bcompile37ali_single.sh
echo
" "echo
" "exit
1;else
echo
" "echo
" "echo
echo
" "echo
" "exit
1;fi
exit
1;fi
——c2k——
#!/bin/sh
modem_name=$1
if [ ! -n "$modem_name" ] ;then
echo
"--------------------------------------------"
echo
""echo
""echo
""echo
"please used like './lmk_modem.sh modem_name'"
echo
""echo
""echo
""echo
"--------------------------------------------"
exit
finew_modem=`eval
echo
'$'modem_name |cut -d
'_'-f
1-2`
echo
" "echo
" "echo
$new_modem
echo
$old_modem
echo
" "echo
" "cd teksun_modem/mdcfg_list/
sh_modem=$(find ./ -name *$*.bat)
if [ -n "$sh_modem" ] ;then
rm -rf ../mdcfg.bat
cp -rf $sh_modem ../mdcfg.bat
cd -
echo
" "echo
" "echo
"teksun:$new_modem-----請在windows下執行mdmk.bat批處理檔案-------"
echo
" "echo
" "exit
1;else
cd -
str=$(cat bcompile37alic2k.sh)
modem_exit=`echo
$ |grep "$"|wc -l`
if [ $modem_exit = "1" ];then
true >bcompile37alic2k_single.sh
echo
"#!/bin/sh" >>bcompile37alic2k_single.sh
arr=`eval
echo
'$'$(grep -n $modem_name bcompile37alic2k.sh) |cut -d
" "-f
3` old_modem=`eval
echo
'$'arr|cut -d
'_'-f
1-3`
echo
$old_modem
cp_line=$(grep -n $modem_name bcompile37alic2k.sh | head -n 1 | cut -d : -f
1) start_line=$(grep -n $old_modem bcompile37alic2k.sh | head -n 1 | cut -d : -f
1) end_line=`sed -n '/'
$old_modem
'/;ba;}' bcompile37alic2k.sh`
for((i=$start_line;i<=$end_line;i=i+1))
dohead -n $i bcompile37alic2k.sh | tail -n 1 >>bcompile37alic2k_single.sh
done
head -n $cp_line bcompile37alic2k.sh | tail -n 1 >>bcompile37alic2k_single.sh
./bcompile37alic2k_single.sh
echo
" "echo
" "exit
1;else
echo
" "echo
" "echo
echo
" "echo
" "exit
1;fi
exit
1;fi
MTK modem編譯步驟
分步閱讀 詳細的介紹mtk modem編譯步驟,和modem目錄中一些重要檔案的介紹 將modem原始碼包放到要編譯的路徑下,解壓原始碼包,可以得到原始碼目錄,可以看到有很多的檔案和資料夾,對其中的一些重要的檔案分析。得到的原始碼目錄結構如下圖所示 對make目錄分析,這個目錄是乙個比較重要的目錄,...
WinCE快速編譯
在wince下面,建立工程,然後編譯是需要花很長時間的。當我們第一編譯完工程以後,如果需要改我們的驅動或者bsp,我們是不需要重新編譯整個工程的 1.如果更改了driver,以wince6.0為例,我們可以在選單裡面選擇 build open release directory in build w...
MTK快速編譯
當修改一些 時,使用什麼編譯命令可以最有效率 solution 1 mk n r kernel mk bootimage 當修改kernel相關 時,要使用此命令,具體如下 alps kernel alps mediatek platform mt65xx kernel alps mediatek ...