#Toolchain ¼³Ä¡ $ cd /opt/ $ sudo wget http://crztech.iptime.org:8080/Release/Toolchain/x86_64-arago-linux.tgz $ sudo tar xf x86_64-arago-linux.tgz Ä¿³Î ¼Ò½º µð·ºÅ丮·Î À̵¿ "build_kernel" ÆÄÀÏ¿¡¼­ ¼öÁ¤ export CROSS_COMPILE=/opt/x86_64-arago-linux/usr/bin/arm-linux-gnueabihf- export TOOLCHAIN_PATH=/opt/x86_64-arago-linux/usr #source download http://crztech.iptime.org:8080/Release/mango-am335x-ST/Linux/kernel4.4/ $ tar xf m3358_buildroot_k4419-xxxx.tgz $ tar xf m3358_buildroot_k4419-xxxx-image.tgz mv m3358_buildroot_k4419-xxxx-image m3358_buildroot_k4419-xxxx/image #u-boot ÄÄÆÄÀÏ $ ./build_uboot config $ ./build_uboot #Kernel ÄÄÆÄÀÏ $ ./build_kernel defconfig m3358_audio_defconfig $ ./build_kernel #ÆÄÀÏ ½Ã½ºÅÛ ÄÄÆÄÀÏ $ ./build_rootFS.sh #MMC ºÎÆà À̹ÌÁö Write ¹× ºÎÆÃÇϱâ 1) Àüü À̹ÌÁö Write ¹æ¹ý $ tar xvf m3358_buildroot_xxx_image.tgz # ubuntu 16.04 ÀÌ»óÀÎ °æ¿ì $ sudo ./create-sdcard-ubuntu16.0.6.sh /dev/sdb # ubuntu 12.04, 14.04 ÀÌÇÏÀÎ °æ¿ì $ sudo ./create-sdcard.sh /dev/sdb 2) Ä¿³Î À̹ÌÁö Write ¹æ¹ý ÄÄÆÄÀÏ ÈÄ $ cp /zImage custom_datafs/boot/ $ cp am335x-evmsk.dtb custom_datafs/boot/ $ ./custom_datafs_make.sh ½ÇÇà ÈÄ custom_datafs.tar.gz ÀÌ ¸¸µé¾î Áø´Ù. $ ./boot_tar_make.sh $ sudo ./create-sdcard-ubuntu16.0.6.sh /dev/ ¶Ç´Â $ sudo ./create-sdcard.sh /dev/ #ºÎÆà ¸ðµå SD ºÎÆà : SW 4¹ø ON, ³ª¸ÓÁö OFF NAND ºÎÆà : SW 1,2, 4¹ø ON, ³ª¸ÓÁö OFF #application ÄÄÆÄÀÏ·¯ http://crztech.iptime.org:8080/Release/Toolchain/arm-2013.05-24-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2 #gcc 5.3 ÀÌ»ó application ÄÄÆÄÀÏ·¯ : °æ·Î´Â ÀÛ¾÷ÀÚ PC¿¡¼­ buildroot-2021.02.3 µð·ºÅ丮ÀÓ. /home/icanjji/work/am335x/m3358_buildroot_k4419-20220104/buildroot-2021.02.3/output/host/bin/arm-buildroot-linux-gnueabi-gcc »ç¿ëÇÑ´Ù. linux app ´Ù¿î·Îµå $cd ~/work $ wget http://crztech.iptime.org:8080/Release/Linux-App/serial_test-20160229.tgz $ tar xf serial_test-20160229.tgz $ cd serial_test/ $ vi Makefile ¼öÁ¤ CROSS_COMPILE=/home/icanjji/work/am335x/m3358_buildroot_k4419-20220104/buildroot-2021.02.3/output/host/bin/arm-buildroot-linux-gnueabi- :wq ·Î ÀúÀå serial_test ÆÄÀÏÀ» micro sd ¿¡ º¹»çÇÑ´Ù. º¹»çÇÏ´Â ¹æ¹ýÀº ºÎÆà Micro SD Ä«µå¸¦ ¸®´ª½º PC¿¡ »ðÀÔ $ mkdir fs $ sudo mount /dev/sdc2 fs $ sudo cp serial_test fs/root/ $ sync;sudo umount /dev/sdc2 SD Ä«µå¸¦ »©¼­ º¸µå¿¡ ÀåÂø ÈÄ ºÎÆÃÀ» ÇÑ´Ù. ½ÇÇà ¹æ¹ý # ./serial_test root@localhost ~]# fb-test fb-test 1.0.0 (tablet_rosa) fb res 1024x600 virtual 1024x600, line_len 3200 dim -1mm x -1mm # ÅÍÄ¡ º¸Á¤ ¹× Å×½ºÆ® # evtest No device specified, trying to scan all of /dev/input/event* Available devices: /dev/input/event0: ti-tsc => °¨¾Ð½Ä ÅÍÄ¡ /dev/input/event1: mango-ts => Á¤Àü½Ä ÅÍÄ¡ /dev/input/event2: gpio_buttons@0 Select the device event number [0-2]: 1 1¹ø ¼±Åà export TSLIB_TSDEVICE=/dev/input/event1 ts_calibrate (°¨¾Ð½Ä LCDÀÎ °æ¿ì¿¡¸¸) ts_test #Qt ¾îÇà Å×½ºÆ® [root@localhost ~]# cat /proc/bus/input/devices I: Bus=0000 Vendor=0000 Product=0000 Version=0000 N: Name="ti-tsc" P: Phys= S: Sysfs=/devices/platform/ocp/44e0d000.tscadc/TI-am335x-tsc/input/input0 U: Uniq= H: Handlers=mouse0 event0 B: PROP=0 B: EV=b B: KEY=400 0 0 0 0 0 0 0 0 0 0 B: ABS=1000003 I: Bus=0018 Vendor=0000 Product=0000 Version=0000 N: Name="mango-ts" P: Phys= S: Sysfs=/devices/virtual/input/input1 U: Uniq= H: Handlers=kbd event1 B: PROP=0 B: EV=b B: KEY=400 0 4 0 0 0 0 c0000 0 0 0 B: ABS=2650000 1000000 <10.4ÀÎÄ¡ , 7ÀÎÄ¡ °¨¾Ð½Ä LCD> export QWS_MOUSE_PROTO="tslib:/dev/input/event0" export TSLIB_TSEVENTTYPE=INPUT export TSLIB_TSDEVICE=/dev/input/event0 export TSLIB_CALIBFILE=/etc/pointercal export TSLIB_CONFFILE=/etc/ts.conf export TSLIB_PLUGINDIR=/usr/lib/ts export LD_LIBRARY_PATH=/usr/lib:/lib export QWS_SIZE=800*600 export QWS_DISPLAY=Transformed:Rot270:VNC:LinuxFb <7ÀÎÄ¡ Á¤Àü½Ä ÅÍÄ¡ LCD> export QWS_MOUSE_PROTO="tslib:/dev/input/event1" export TSLIB_TSEVENTTYPE=INPUT export TSLIB_TSDEVICE=/dev/input/event1 export TSLIB_CALIBFILE=/etc/pointercal export TSLIB_CONFFILE=/etc/ts.conf export TSLIB_PLUGINDIR=/usr/lib/ts export LD_LIBRARY_PATH=/usr/lib:/lib export QWS_SIZE=1024*600 export QWS_DISPLAY=Transformed:Rot0:VNC:LinuxFb # /usr/lib/qt/examples/gui/analogclock/analogclock -platform linuxfb gpio ¹øÈ£ ¾Ë¾Æº¸±â mount -t debugfs none /sys/kernel/debug cat /sys/kernel/debug/gpio 3.Nand¿¡ u-boot¿Í Ä¿³Î WriteÇϱâ ÆÄÀÏ ½Ã½ºÅÛ ¸¸µé±â Linux pc¿¡¼­ image µð·ºÅ丮·Î À̵¿ mkdir rootfs cd rootfs/ sudo tar xf ../rootfs.tar.gz sudo tar cf ../rootfs.tar . cd .. - nand¿¡ WriteÇÒ rootfs À̹ÌÁö SD¿¡ º¹»ç(linux pc¿¡¼­ ÀÛ¾÷) ºÎÆà µÇ´Â SDÄ«µå¸¦ linux pc¿¡ ÀåÂø $ cd => rootfs.tar ÆÄÀÏÀÌ ÀÖ´Â µð·ºÅ丮·Î À̵¿ $ mkdir fs $ dmesg | tail sdc: sdc1 sdc2 device node È®ÀÎ : ÇÊÀÚ´Â µð¹ÙÀ̽º ³ëµå °¡ sdc ÀÌ´Ù. 2¹ø° ÆÄƼ¼Ç¿¡ ÆÄÀÏ ½Ã½ºÅÛÀÌ ÀÖÀ¸¹Ç·Î $ sudo mount /dev/sdc2 fs $ sudo cp rootfs.tar fs/root/ $ sync;sudo umount /dev/sdc2 SD Ä«µå¸¦ »©¼­ º¸µå¿¡ ÀåÂø ÈÄ ºÎÆÃÀ» ÇÑ´Ù. -nfs server¸¦ ÀÌ¿ëÇÑ ¹æ¹ý SD ºÎÆà ÈÄ ¾Æ·¡ ¸í·É ¼öÇà Root ÆÄÀÏ ½Ã½ºÅÛÀ» copyÇÑ´Ù. mkdir nfs_mount ÀÌ´õ³Ý ¿¬°áÇÏ°í, nfs ¸¶¿îÆ® Çϱâ udhcpc -ieth0 mount -t nfs 192.168.100.10:/home/icanjji/work ./nfs_mount -o nolock IP´Â »ç¿ëÀÚ ¸¶´Ù ´Ù¸£´Ù. ¸Â°Ô ¼³Á¤ÇÑ´Ù. (nfs server ¼³Á¤ ÈÄ) cp ./nfs_mount/dk-am3358/4.4/image/rootfs.tar . sync --ÆÄÀÏ ½Ã½ºÅÛ nand WriteÇϱâ SD ·Î ºÎÆà ÈÄ u-boot ÇÁ·ÒÇÁÆ®·Î µé¾î°¡¼­ nand scrub.chip ÈÄ ´Ù½Ã ºÎÆà ÈÄ ¾Æ·¡ ¸í·ÉÀ» ¼öÇàÇÑ´Ù. ./image_write.sh Write°¡ ¿Ï·á°¡ µÇ¸é, nand mode·Î ºÎÆÃÇÑ´Ù. -imag_write.sh ÆÄÀÏ ³»¿ë #!/bin/sh ROOT_DIR=`pwd` mkdir -p $ROOT_DIR/boot-images mount /dev/mmcblk0p1 $ROOT_DIR/boot-images flash_erase /dev/mtd0 0 0 flash_erase /dev/mtd4 0 0 flash_erase /dev/mtd5 0 0 flash_erase /dev/mtd8 0 0 flash_erase /dev/mtd9 0 0 echo $ROOT_DIR echo nandwrite -p /dev/mtd0 $ROOT_DIR/boot-images/MLO nandwrite -p /dev/mtd0 $ROOT_DIR/boot-images/MLO echo nandwrite -p /dev/mtd4 $ROOT_DIR/boot-images/am335x-evmsk.dtb nandwrite -p /dev/mtd4 /boot/am335x-evmsk.dtb echo nandwrite -p /dev/mtd5 $ROOT_DIR/boot-images/u-boot.img nandwrite -p /dev/mtd5 $ROOT_DIR/boot-images/u-boot.img echo nandwrite -p /dev/mtd8 /boot/zImage nandwrite -p /dev/mtd8 /boot/zImage ubiformat /dev/mt9 -s 2048 echo ubiattach /dev/ubi_ctrl -m 9 -O 2048 ubiattach /dev/ubi_ctrl -m 9 -O 2048 echo ubimkvol /dev/ubi0 -N rootfs -m -n 0 ubimkvol /dev/ubi0 -N rootfs -m -n 0 echo mkdir -p /mnt/nand_rootfs mkdir -p /mnt/nand_rootfs echo mount -t ubifs -o sync ubi0:rootfs /mnt/nand_rootfs mount -t ubifs -o sync ubi0:rootfs /mnt/nand_rootfs cd /mnt/nand_rootfs echo tar xvf $ROOT_DIR/rootfs.tar tar xvf $ROOT_DIR/rootfs.tar cd umount /mnt/nand_rootfs sync