mtk modem快速編譯指令碼

2021-08-11 02:11:39 字數 4386 閱讀 7598

公司的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 ...