source: rtems/bsps/arm/beagle/simscripts/sdcard.sh @ eb36d11

5
Last change on this file since eb36d11 was eb36d11, checked in by Sebastian Huber <sebastian.huber@…>, on Apr 25, 2018 at 1:06:08 PM

bsps: Move documentation, etc. files to bsps

This patch is a part of the BSP source reorganization.

Update #3285.

  • Property mode set to 100644
File size: 2.0 KB
Line 
1# we store all generated files here.
2TMPDIR=tmp_sdcard_dir.$$
3
4FATIMG=$TMPDIR/bbxm_boot_fat.img
5SIZE=65536
6OFFSET=2048
7FATSIZE=`expr $SIZE - $OFFSET`
8UENV=uEnv.txt
9
10rm -rf $TMPDIR
11mkdir -p $TMPDIR
12
13if [ $# -ne 2 ]
14then    echo "Usage: $0 <RTEMS prefix> <RTEMS executable>"
15        exit 1
16fi
17
18PREFIX=$1
19
20if [ ! -d "$PREFIX" ]
21then    echo "This script needs the RTEMS tools bindir as the first argument."
22        exit 1
23fi
24
25executable=$2
26
27case "$2" in
28        *beagleboard*)
29                ubootcfg=omap3_beagle
30                imgtype=bb
31                ;;
32        *beaglebone*)
33                ubootcfg=am335x_evm
34                imgtype=bone
35                ;;
36        *)
37                echo "Can't guess which uboot to use - please specify full path to executable."
38                exit 1
39                ;;
40esac
41
42app=rtems-app.img
43
44if [ ! -f "$executable" ]
45then    echo "Expecting RTEMS executable as arg; $executable not found."
46        exit 1
47fi
48
49set -e
50
51IMG=${imgtype}_`basename $2`-sdcard.img
52
53# Make an empty image
54dd if=/dev/zero of=$IMG bs=512 seek=`expr $SIZE - 1` count=1
55dd if=/dev/zero of=$FATIMG bs=512 seek=`expr $FATSIZE - 1` count=1
56
57# Make an ms-dos FS on it
58$PREFIX/bin/newfs_msdos -r 1 -m 0xf8 -c 4 -F16  -h 64 -u 32 -S 512 -s $FATSIZE -o 0 ./$FATIMG
59
60# Prepare the executable.
61base=`basename $executable`
62$PREFIX/bin/arm-rtems4.12-objcopy $executable -O binary $TMPDIR/$base.bin
63gzip -9 $TMPDIR/$base.bin
64$PREFIX/bin/mkimage -A arm -O rtems -T kernel -a 0x80000000 -e 0x80000000 -n RTEMS -d $TMPDIR/$base.bin.gz $TMPDIR/$app
65echo "setenv bootdelay 5
66uenvcmd=run boot
67boot=fatload mmc 0 0x80800000 $app ; bootm 0x80800000" >$TMPDIR/$UENV
68
69# Copy the uboot and app image onto the FAT image
70$PREFIX/bin/mcopy -bsp -i $FATIMG $PREFIX/uboot/$ubootcfg/MLO ::MLO
71$PREFIX/bin/mcopy -bsp -i $FATIMG $PREFIX/uboot/$ubootcfg/u-boot.img ::u-boot.img
72$PREFIX/bin/mcopy -bsp -i $FATIMG $TMPDIR/$app ::$app
73$PREFIX/bin/mcopy -bsp -i $FATIMG $TMPDIR/$UENV ::$UENV
74
75# Just a single FAT partition (type C) that uses all of the image
76$PREFIX/bin/partition -m $IMG $OFFSET c:${FATSIZE}\*
77
78# Put the FAT image into the SD image
79dd if=$FATIMG of=$IMG seek=$OFFSET
80
81# cleanup
82rm -rf $TMPDIR
83
84echo "Result is in $IMG."
Note: See TracBrowser for help on using the repository browser.