⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 size_rtems.in

📁 RTEMS (Real-Time Executive for Multiprocessor Systems) is a free open source real-time operating sys
💻 IN
字号:
#!@KSH@ -p##  size_rtems##  This script gathers information related to the size of RTEMS#  using the GNU "size" command.##  This script operates by summing up the sizes of the various#  object files which constitute a particular configuration of#  RTEMS.  This size information is gathered for placement in the#  brochure flyers and supplement manuals.##  NOTE: The concept of the minimum executive size is buried in this script.##  COPYRIGHT (c) 1989-1999.#  On-Line Applications Research Corporation (OAR).##  The license and distribution terms for this file may be#  found in the file LICENSE in this distribution or at#  http://www.rtems.com/license/LICENSE.##  $Id: size_rtems.in,v 1.15.6.1 2003/09/04 18:47:43 joel Exp $#target=@target@program_prefix=@program_prefix@gnusize=${program_prefix}size# check usageif [ $# -ne 2 ] ; then  echo usage ${0}: bsp object_directory  exit 1fibsp=$1board=$1ARCH=$2cpu=`echo $target | sed -e 's/-.*//'`case $target in  sparc-sun-solaris*)      rtems_cpu=unix      bsp=solaris2      echo Not supported on unix port.      exit 0      ;;  i[34567]86-pc-linux-gnu)      echo linux      rtems_cpu=unix      bsp=linux1      echo Not supported on unix port.      exit 0      ;;  i[34567]86-unknown-freebsd2.[12]*)      echo freebsd      rtems_cpu=unix      bsp=freebsd2      echo Not supported on unix port.      exit 0      ;;  *-rtems*)    cpu=`echo $target | sed -e 's/-.*//'`    rtems_cpu=$cpu    ;;  *)    echo unknown target $target    exit 1    ;;esaccase $ARCH in  *debug*)   VARIANT=debug ;;  *profile*) VARIANT=profile ;;  *)         VARIANT=optimized;;esacechoecho Size Information for the Following Configuration:echo CPU: ${cpu}echo BSP: ${board}echo VARIANT: ${VARIANT}echo##  KLUDGE to figure out at runtime how to echo a line without a#  newline.#count=`echo "\\c" | wc -c`if [ ${count} -ne 0 ] ; then  EARG="-n"  EOL=""else  EARG=""  EOL="\\c"fiif [ ! -d ../${board} ] ; then  echo "${board} does not exist ... is the current directory the build directory?"  exit 1fi#DIRLIST -- so greps for DIRLIST will find this fileCPUOBJ=exec/score/cpu/${rtems_cpu}/wrap/${ARCH}COREOBJ=exec/score/src/${ARCH}RTEMSOBJ=exec/rtems/src/${ARCH}SAPIOBJ=exec/sapi/src/${ARCH}OPTOBJ=exec/rtems/optman/${ARCH}# XXX These have been split upMANLIST=" \${RTEMSOBJ}/clockget.o \${RTEMSOBJ}/clockset.o \${RTEMSOBJ}/clocktick.o \${RTEMSOBJ}/dpmem.o \${RTEMSOBJ}/event.o \${RTEMSOBJ}/intr.o \${RTEMSOBJ}/msg.o \${RTEMSOBJ}/part.o \${RTEMSOBJ}/ratemon.o \${RTEMSOBJ}/region.o \${RTEMSOBJ}/sem.o \${RTEMSOBJ}/signal.o \${RTEMSOBJ}/tasks.o \${RTEMSOBJ}/timer.o \${SAPIOBJ}/debug.o \${SAPIOBJ}/extension.o \${SAPIOBJ}/fatal.o \${SAPIOBJ}/exinit.o \${SAPIOBJ}/io.o \${SAPIOBJ}/rtemsapi.o \"if [ -r ${RTEMSOBJ}/mp.o ] ; then  MPLIST="\  ${RTEMSOBJ}/mp.o ${RTEMSOBJ}/eventmp.o \  ${COREOBJ}/mpci.o ${RTEMSOBJ}/msgmp.o ${COREOBJ}/objectmp.o \  ${RTEMSOBJ}/partmp.o ${RTEMSOBJ}/regionmp.o ${RTEMSOBJ}/semmp.o \  ${RTEMSOBJ}/signalmp.o ${RTEMSOBJ}/taskmp.o ${COREOBJ}/threadmp.o \  "  MPOBJLIST=${OPTOBJ}/no-mp.relfiOPTMANLIST="\${OPTOBJ}/no-dpmem.rel \${OPTOBJ}/no-event.rel \${MPOBJLIST} \${OPTOBJ}/no-msg.rel \${OPTOBJ}/no-part.rel \${OPTOBJ}/no-region.rel \${OPTOBJ}/no-rtmon.rel \${OPTOBJ}/no-sem.rel \${OPTOBJ}/no-signal.rel \${OPTOBJ}/no-timer.rel \"REQMANLIST="\${SAPIOBJ}/exinit.o \${RTEMSOBJ}/tasks.o \${RTEMSOBJ}/intr.o \${SAPIOBJ}/fatal.o \"# XXX parts of these have been split upCORELIST=" \${COREOBJ}/apiext.o ${COREOBJ}/chain.o \${COREOBJ}/coremsg.o   ${COREOBJ}/coremutex.o ${COREOBJ}/coresem.o \${COREOBJ}/heap.o  ${COREOBJ}/interr.o \${COREOBJ}/isr.o \${COREOBJ}/object.o \${SAPIOBJ}/rtemsapi.o \${COREOBJ}/thread.o ${COREOBJ}/threadq.o ${COREOBJ}/tod.o \${COREOBJ}/userext.o \${COREOBJ}/watchdog.o ${COREOBJ}/wkspace.o \"CPULIST="\${CPUOBJ}/rtems-cpu.rel \"# check directoriesfor i in ${EXECOBJ} ${CPUOBJ} ${OPTOBJ}do  if [ ! -d ${i} ] ; then    echo "${i} does not exist ... is RTEMS compiled and installed?"    exit 1  fidonefor i in ${MANLIST} ${MPLIST} ${OPTMANLIST} ${REQMANLIST} ${CORELIST} ${CPULIST}do  if [ ! -r ${i} ] ; then    echo ${i} does not exist ... is RTEMS compiled and installed?    exit 1  fidone# "rips" a line of gsize's output and prints size, data, bssparse_size(){  echo $1 $2 $3}# prepares a list of code, data, bss sizes for a directorysizedir(){  ${gnusize} $* | sed -e '1,1d' |    while read line      do        parse_size ${line}      done}# adds the numbers passed on the command lineaddit(){  sumx=0  for x in $*  do    sumx=`expr $sumx + $x`  done  echo $sumx}# adds a column from the output of sizediraddsizes(){  # dc version is not portable enough -- It can be left out during  #  installing linux and may not be available on non-UNIX hosts.  #cut -d' ' -f${2} ${1} | sed -e '2,$s/$/ + /' -e '$,$s/$/ p/' | dc    #  This may not be as fast but it is probably more portable.  addit `cut -d' ' -f${2} ${1}`}# calculates total size of a directory and prints report linesize_files(){  trap "rm -f /tmp/size.$$ ; exit 1"  2 3    for file in $*      do        parse_size `${gnusize} $file | sed -e '/text/d'`      done >/tmp/size.$$  code=`cat /tmp/size.$$ | addsizes 1`  data=`cat /tmp/size.$$ | addsizes 2`  bss=` cat /tmp/size.$$ | addsizes 3`  echo "${code}	${data}	${bss}"  rm /tmp/size.$$}echoecho "     RTEMS SIZE REPORT"echoecho   "          CODE	DATA	BSS"echo   "          =================="echo ${EARG} "MANAGERS: " ${EOL} ; size_files $MANLIST $MPLISTecho ${EARG} "CORE    : " ${EOL} ; size_files $CORELIST $CPULISTecho ${EARG} "CPU     : " ${EOL} ; size_files $CPULISTecho ${EARG} "OVERALL : " ${EOL} ; size_files $CPULIST $CORELIST $MANLIST \                                               $MPLISTecho ${EARG} "MINIMUM : " ${EOL} ; size_files $CPULIST $CORELIST \                                               $OPTMANLIST $REQMANLISTechofor file in $MANLISTdo  base=`basename ${file}`  echo ${EARG}  ""${base}	: " ${EOL} " ; size_files ${file}doneecho ${EARG} "MP	 : " ${EOL} ; size_files $MPLISTechofor file in $OPTMANLISTdo  base=`basename ${file}`  echo ${EARG} "${base}	: " ${EOL} ; size_files ${file}doneechoexit 0

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -