]> Gitweb @ Texas Instruments - Open Source Git Repositories - git.TI.com/gitweb - processor-sdk/pdk.git/blob - packages/ti/board/diag/create_sd.sh
board-rtos: add to PDK
[processor-sdk/pdk.git] / packages / ti / board / diag / create_sd.sh
1 #!/bin/sh
3 # ******************************************************************************
4 # * FILE NAME: create_sd.sh
5 # *
6 # * DESCRIPTION:
7 # *  This script file parses the .out executables generated by the diagnostic
8 # *  makefile into SD card loadable files.
9 # *
10 # *  The script expects the board as a parameter. Out2rprc and MulitcoreImageGen
11 # *  can be set manually by environment variables $OUT2RPRC and 
12 # *  $MULTICOREIMAGEGEN, respectively. If not set, script will assume default
13 # *  location in $PDK_INSTALL_PATH/ti/boot/sbl/tools
14 # *
15 # *  Syntax:
16 # *      create_sd.sh [BOARD]
17 # *
18 # *  Example:
19 # *      create_sd.sh idkAM572x
20 #
21 # * Copyright (C) 2015, Texas Instruments, Inc.
22 # *****************************************************************************
24 board=$1
25 target=$2
26 cpu_id=$3
27 file_ext=*.out
29 if [ $board = "evmAM335x" ]
30 then
31     echo Done! create_sd script not needed for $board!
32     exit 0
33 fi
35 if [ $board = "evmAM437x" ]
36 then
37     echo Done! create_sd script not needed for $board!
38     exit 0
39 fi
41 if [ $board = "idkAM437x" ]
42 then
43     echo Done! create_sd script not needed for $board!
44     exit 0
45 fi
47 if [ $board = "skAM437x" ]
48 then
49     echo Done! create_sd script not needed for $board!
50     exit 0
51 fi
53 if [ $board = "bbbAM335x" ]
54 then
55     echo Done! create_sd script not needed for $board!
56     exit 0
57 fi
59 if [ $board = "icev2AM335x" ]
60 then
61     echo Done! create_sd script not needed for $board!
62     exit 0
63 fi
65 if [ $board = "skAM335x" ]
66 then
67     echo Done! create_sd script not needed for $board!
68     exit 0
69 fi
71 boarddir=$PDK_DIAG_DIR
72 if [ -d "$boarddir/bin/$board/$target" ]
73 then
74         echo Creating SD files for $board...
75 else
76         echo Missing folder/files under $boarddir/bin/$board/$target
77         echo Usage: ./create_sd.sh [BOARD]
78         echo     Eg. ./create_sd.sh idkAM572x
79         exit
80 fi
82 out2rprc=$OUT2RPRC
83 if [ -z $out2rprc ]
84 then
85         out2rprc=$PDK_INSTALL_PATH/ti/boot/sbl/tools/out2rprc/bin/out2rprc.exe
86 fi
87 if [ ! -f $out2rprc ]
88 then
89         echo Missing out2rprc!
90         echo     Not found in default location: \$PDK_INSTALL_PATH/ti/boot/sbl/tools/out2rprc/bin/out2rprc.exe
91         echo     Override default location by setting OUT2RPRC, eg:
92         echo         export OUT2RPRC=$PDK_INSTALL_PATH/ti/boot/sbl/tools/out2rprc/bin/out2rprc.exe
93         exit
94 else
95         echo Using out2prc: $out2rprc
96 fi
98 multigen=$MULTICOREIMAGEGEN
99 if [ -z $multigen ]
100 then
101         multigen=$PDK_INSTALL_PATH/ti/boot/sbl/tools/multicoreImageGen/bin/MulticoreImageGen
102 fi
103 if [ ! -f $multigen ]
104 then
105         echo Missing multigen!
106         echo     Not found in default location: \$PDK_INSTALL_PATH/ti/boot/sbl/tools/multicoreImageGen/bin/MulticoreImageGen
107         echo     Override default location by setting MULTICOREIMAGEGEN, eg:
108         echo         export MULTICOREIMAGEGEN=$PDK_INSTALL_PATH/ti/boot/sbl/tools/multicoreImageGen/bin/MulticoreImageGen
109         exit
110 else
111         echo Using multigen: $multigen
112 fi
114 sd_dir=$boarddir/bin/$board/sd
116 if [ $board = "am65xx_evm" ]
117 then
118     sd_dir=$boarddir/bin/$board/sd/$target
119 fi
121 if [ $board = "am65xx_idk" ]
122 then
123     sd_dir=$boarddir/bin/$board/sd/$target
124 fi
126 if [ $board = "j721e_evm" ]
127 then
128     sd_dir=$boarddir/bin/$board/sd/$target
129         if [ $target = "armv8" ]
130         then
131                 file_ext=*mpu1_0_release.xa72fg
132         else
133                 file_ext=*mcu1_0_release.xer5f
134         fi
135 fi
137 mkdir -p $sd_dir
138 outfiles=$boarddir/bin/$board/$target/$file_ext
139 for out in $outfiles
140 do
141         echo Parsing $out ...
142         name=${out##*/}
143         name=${name%%_$file_ext}
144         rprc=$sd_dir/${name}_rprc
145         mono $out2rprc $out $rprc
146         $multigen LE 55 $sd_dir/${name}_TEST $cpu_id $rprc
147         rm $rprc
148 done
150 if [ -e $sd_dir/framework_TEST ]
151 then
152         if [ -e $sd_dir/frameworkLoader_TEST ]
153         then
154                 mv $sd_dir/framework_TEST $sd_dir/framework
155                 mv $sd_dir/frameworkLoader_TEST $sd_dir/app
156         else
157                 mv $sd_dir/framework_TEST $sd_dir/app
158         fi
159 else
160         echo Warning! Diagnostic framework not found!
161 fi
163 if [ $board = "am65xx_evm" ] || [ $board = "am65xx_idk" ] || [ $board = "j721e_sim" ] || [ $board = "j721e_evm" ]
164 then
165         x509certgen=$PDK_INSTALL_PATH/ti/build/makerules/x509CertificateGen.sh
166         k3devkey=$PDK_INSTALL_PATH/ti/build/makerules/k3_dev_mpk.pem
167         echo Signing $sd_dir/app for K3 platform ...
168         mv $sd_dir/app $sd_dir/framework_app.unsigned
169         $x509certgen -b $sd_dir/framework_app.unsigned -o $sd_dir/app -c R5 -l 0x0 -k $k3devkey
170         rm $sd_dir/framework_app.unsigned
171 fi
173 echo Done! Check $sd_dir for images to put onto SD card.