sunxi: convert to new image generation method

The new Device/xxx were transformed automatically from old profiles.

Most device names are now taken from basename of the corresponding
kernel device tree file.  Device/sun5i-a13-olimex-som is an exception
because it is not explicitly supported in the kernel yet and shares the
same dts file with Device/sun5i-a13-olinuxino

Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
owl
Yousong Zhou 2017-01-04 22:19:27 +08:00 committed by Felix Fietkau
parent 6268d496a4
commit 4eb0fd8283
18 changed files with 169 additions and 361 deletions

View File

@ -1,5 +1,6 @@
# #
# Copyright (C) 2013-2016 OpenWrt.org # Copyright (C) 2013-2016 OpenWrt.org
# Copyright (C) 2016 Yousong Zhou
# #
# This is free software, licensed under the GNU General Public License v2. # This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information. # See /LICENSE for more information.
@ -11,111 +12,182 @@ include $(INCLUDE_DIR)/host.mk
FAT32_BLOCK_SIZE=1024 FAT32_BLOCK_SIZE=1024
FAT32_BLOCKS=$(shell echo $$(($(CONFIG_SUNXI_SD_BOOT_PARTSIZE)*1024*1024/$(FAT32_BLOCK_SIZE)))) FAT32_BLOCKS=$(shell echo $$(($(CONFIG_SUNXI_SD_BOOT_PARTSIZE)*1024*1024/$(FAT32_BLOCK_SIZE))))
define Image/BuildKernel KERNEL_LOADADDR:=0x40008000
-mkdir -p $(KDIR_TMP)
mkimage -A arm -O linux -T kernel -C none \ define Build/sunxi-sdcard
-a 0x40008000 -e 0x40008000 \ rm -f $@.boot
-n 'ARM OpenWrt Linux-$(LINUX_VERSION)' \ mkfs.fat $@.boot -C $(FAT32_BLOCKS)
-d $(KDIR)/zImage $(BIN_DIR)/$(IMG_PREFIX)-uImage
ifneq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),) mcopy -i $@.boot $(KDIR)/uboot-sunxi-$(SUNXI_UBOOT)-boot.scr ::boot.scr
$(CP) $(KDIR)/zImage-initramfs $(BIN_DIR)/$(IMG_PREFIX)-zImage-initramfs mcopy -i $@.boot $(DTS_DIR)/$(SUNXI_DTS).dtb ::dtb
echo -ne '\x00\x00\x00\x00' >> $(BIN_DIR)/$(IMG_PREFIX)-zImage-initramfs mcopy -i $@.boot $(IMAGE_KERNEL) ::uImage
$(call Image/BuildKernel/MkuImage, \ ./gen_sunxi_sdcard_img.sh $@ \
none, 0x40008000, 0x40008000, \ $@.boot \
$(BIN_DIR)/$(IMG_PREFIX)-zImage-initramfs, \ $(IMAGE_ROOTFS) \
$(BIN_DIR)/$(IMG_PREFIX)-uImage-initramfs \
)
endif
endef
define Image/Build/SDCard
rm -f $(KDIR_TMP)/$(IMG_PREFIX)-$(PROFILE)-boot.img
mkfs.fat $(KDIR_TMP)/$(IMG_PREFIX)-$(PROFILE)-boot.img -C $(FAT32_BLOCKS)
mcopy -i $(KDIR_TMP)/$(IMG_PREFIX)-$(PROFILE)-boot.img $(KDIR)/uboot-sunxi-$(PROFILE)-boot.scr ::boot.scr
mcopy -i $(KDIR_TMP)/$(IMG_PREFIX)-$(PROFILE)-boot.img $(DTS_DIR)/$(2).dtb ::dtb
mcopy -i $(KDIR_TMP)/$(IMG_PREFIX)-$(PROFILE)-boot.img $(BIN_DIR)/$(IMG_PREFIX)-uImage ::uImage
./gen_sunxi_sdcard_img.sh \
$(BIN_DIR)/$(IMG_PREFIX)-$(PROFILE)-sdcard-vfat-$(1).img \
$(KDIR_TMP)/$(IMG_PREFIX)-$(PROFILE)-boot.img \
$(KDIR)/root.$(1) \
$(CONFIG_SUNXI_SD_BOOT_PARTSIZE) \ $(CONFIG_SUNXI_SD_BOOT_PARTSIZE) \
$(CONFIG_TARGET_ROOTFS_PARTSIZE) \ $(CONFIG_TARGET_ROOTFS_PARTSIZE) \
$(KDIR)/uboot-sunxi-$(PROFILE)-u-boot-with-spl.bin $(KDIR)/uboot-sunxi-$(SUNXI_UBOOT)-u-boot-with-spl.bin
rm -f $@.boot
ifneq ($(CONFIG_TARGET_IMAGES_GZIP),)
gzip -f9n $(BIN_DIR)/$(IMG_PREFIX)-$(PROFILE)-sdcard-vfat-$(1).img
endif
endef endef
define Image/Build/Profile/A10-OLinuXino-Lime # why \x00\x00\x00\x00 for zImage-initramfs
$(call Image/Build/SDCard,$(1),sun4i-a10-olinuxino-lime) define Device/Default
PROFILES := Default
DEVICE_VARS := SUNXI_DTS SUNXI_UBOOT
KERNEL_NAME := zImage
KERNEL := kernel-bin | uImage none
IMAGES := sdcard.img.gz
IMAGE/sdcard.img.gz := sunxi-sdcard | gzip
endef endef
define Image/Build/Profile/A13-OLinuXino define Device/sun4i-a10-olinuxino-lime
$(call Image/Build/SDCard,$(1),sun5i-a13-olinuxino) DEVICE_TITLE:=Olimex A10-OLinuXino-LIME
DEVICE_PACKAGES:=uboot-sunxi-A10-OLinuXino-Lime kmod-ata-core kmod-ata-sunxi kmod-sun4i-emac kmod-rtc-sunxi
SUNXI_DTS:=sun4i-a10-olinuxino-lime
SUNXI_UBOOT:=A10-OLinuXino-Lime
endef endef
define Image/Build/Profile/A20-OLinuXino-Lime TARGET_DEVICES += sun4i-a10-olinuxino-lime
$(call Image/Build/SDCard,$(1),sun7i-a20-olinuxino-lime)
define Device/sun5i-a13-olimex-som
DEVICE_TITLE:=Olimex A13 SOM
DEVICE_PACKAGES:=uboot-sunxi-OLIMEX_A13_SOM kmod-rtl8192cu
SUNXI_DTS:=sun5i-a13-olinuxino
SUNXI_UBOOT:=OLIMEX_A13_SOM
endef endef
define Image/Build/Profile/A20-OLinuXino_MICRO TARGET_DEVICES += sun5i-a13-olimex-som
$(call Image/Build/SDCard,$(1),sun7i-a20-olinuxino-micro)
define Device/sun5i-a13-olinuxino
DEVICE_TITLE:=Olimex A13-Olinuxino
DEVICE_PACKAGES:=uboot-sunxi-A13-OLinuXino kmod-rtl8192cu
SUNXI_DTS:=sun5i-a13-olinuxino
SUNXI_UBOOT:=A13-OLinuXino
endef endef
define Image/Build/Profile/Bananapi TARGET_DEVICES += sun5i-a13-olinuxino
$(call Image/Build/SDCard,$(1),sun7i-a20-bananapi)
define Device/sun7i-a20-olinuxino-lime
DEVICE_TITLE:=Olimex A20-OLinuXino-LIME
DEVICE_PACKAGES:=uboot-sunxi-A20-OLinuXino-Lime kmod-ata-core kmod-ata-sunxi kmod-rtc-sunxi
SUNXI_DTS:=sun7i-a20-olinuxino-lime
SUNXI_UBOOT:=A20-OLinuXino-Lime
endef endef
define Image/Build/Profile/Bananapro TARGET_DEVICES += sun7i-a20-olinuxino-lime
$(call Image/Build/SDCard,$(1),sun7i-a20-bananapro)
define Device/sun7i-a20-olinuxino-micro
DEVICE_TITLE:=Olimex A20-Olinuxino Micro
DEVICE_PACKAGES:=uboot-sunxi-A20-OLinuXino_MICRO kmod-ata-core kmod-ata-sunxi kmod-sun4i-emac kmod-rtc-sunxi
SUNXI_DTS:=sun7i-a20-olinuxino-micro
SUNXI_UBOOT:=A20-OLinuXino_MICRO
endef endef
define Image/Build/Profile/Lamobo_R1 TARGET_DEVICES += sun7i-a20-olinuxino-micro
$(call Image/Build/SDCard,$(1),sun7i-a20-lamobo-r1)
define Device/sun7i-a20-bananapi
DEVICE_TITLE:=LeMaker Banana Pi
DEVICE_PACKAGES:=uboot-sunxi-Bananapi kmod-rtc-sunxi kmod-ata-core kmod-ata-sunxi
SUNXI_DTS:=sun7i-a20-bananapi
SUNXI_UBOOT:=Bananapi
endef endef
define Image/Build/Profile/Cubieboard TARGET_DEVICES += sun7i-a20-bananapi
$(call Image/Build/SDCard,$(1),sun4i-a10-cubieboard)
define Device/sun7i-a20-bananapro
DEVICE_TITLE:=LeMaker Banana Pro
DEVICE_PACKAGES:=uboot-sunxi-Bananapro kmod-rtc-sunxi kmod-ata-core kmod-ata-sunxi kmod-brcmfmac
SUNXI_DTS:=sun7i-a20-bananapro
SUNXI_UBOOT:=Bananapro
endef endef
define Image/Build/Profile/Cubieboard2 TARGET_DEVICES += sun7i-a20-bananapro
$(call Image/Build/SDCard,$(1),sun7i-a20-cubieboard2)
define Device/sun7i-a20-cubieboard2
DEVICE_TITLE:=Cubietech Cubieboard2
DEVICE_PACKAGES:=uboot-sunxi-Cubieboard2 kmod-ata-core kmod-ata-sunxi kmod-sun4i-emac kmod-rtc-sunxi
SUNXI_DTS:=sun7i-a20-cubieboard2
SUNXI_UBOOT:=Cubieboard2
endef endef
define Image/Build/Profile/Cubietruck TARGET_DEVICES += sun7i-a20-cubieboard2
$(call Image/Build/SDCard,$(1),sun7i-a20-cubietruck)
define Device/sun4i-a10-cubieboard
DEVICE_TITLE:=Cubietech Cubieboard
DEVICE_PACKAGES:=uboot-sunxi-Cubieboard kmod-ata-core kmod-ata-sunxi kmod-sun4i-emac kmod-rtc-sunxi
SUNXI_DTS:=sun4i-a10-cubieboard
SUNXI_UBOOT:=Cubieboard
endef endef
define Image/Build/Profile/OLIMEX_A13_SOM TARGET_DEVICES += sun4i-a10-cubieboard
$(call Image/Build/SDCard,$(1),sun5i-a13-olinuxino)
define Device/sun7i-a20-cubietruck
DEVICE_TITLE:=Cubietech Cubietruck
DEVICE_PACKAGES:=uboot-sunxi-Cubietruck kmod-ata-core kmod-ata-sunxi kmod-rtc-sunxi kmod-brcmfmac
SUNXI_DTS:=sun7i-a20-cubietruck
SUNXI_UBOOT:=Cubietruck
endef endef
define Image/Build/Profile/Mele_M9 TARGET_DEVICES += sun7i-a20-cubietruck
$(call Image/Build/SDCard,$(1),sun6i-a31-m9)
define Device/sun7i-a20-lamobo-r1
DEVICE_TITLE:=Lamobo R1
DEVICE_PACKAGES:=uboot-sunxi-Lamobo_R1 kmod-ata-sunxi kmod-rtl8192cu swconfig wpad-mini
SUNXI_DTS:=sun7i-a20-lamobo-r1
SUNXI_UBOOT:=Lamobo_R1
endef endef
define Image/Build/Profile/Linksprite_pcDuino TARGET_DEVICES += sun7i-a20-lamobo-r1
$(call Image/Build/SDCard,$(1),sun4i-a10-pcduino)
define Device/sun6i-a31-m9
DEVICE_TITLE:=Mele M9 top set box
DEVICE_PACKAGES:=uboot-sunxi-Mele_M9 kmod-sun4i-emac kmod-rtc-sunxi kmod-rtl8192cu
SUNXI_DTS:=sun6i-a31-m9
SUNXI_UBOOT:=Mele_M9
endef endef
define Image/Build/Profile/Linksprite_pcDuino3 TARGET_DEVICES += sun6i-a31-m9
$(call Image/Build/SDCard,$(1),sun7i-a20-pcduino3)
define Device/sun8i-h3-orangepi-plus
DEVICE_TITLE:=Xunlong Orange Pi Plus
DEVICE_PACKAGES:=kmod-rtc-sunxi uboot-sunxi-orangepi_plus
SUNXI_DTS:=sun8i-h3-orangepi-plus
SUNXI_UBOOT:=orangepi_plus
endef endef
define Image/Build/Profile/orangepi_plus TARGET_DEVICES += sun8i-h3-orangepi-plus
$(call Image/Build/SDCard,$(1),sun8i-h3-orangepi-plus)
define Device/sun7i-a20-pcduino3
DEVICE_TITLE:=LinkSprite pcDuino3
DEVICE_PACKAGES:=uboot-sunxi-Linksprite_pcDuino3 kmod-sun4i-emac kmod-rtc-sunxi kmod-ata-core kmod-ata-sunxi kmod-rtl8xxxu rtl8188eu-firmware
SUNXI_DTS:=sun7i-a20-pcduino3
SUNXI_UBOOT:=Linksprite_pcDuino3
endef endef
define Image/Build TARGET_DEVICES += sun7i-a20-pcduino3
$(call Image/Build/$(1),$(1))
$(call Image/Build/Profile/$(PROFILE),$(1))
dd if=$(KDIR)/root.$(1) of=$(BIN_DIR)/$(IMG_PREFIX)-root.$(1) bs=128k conv=sync
define Device/sun4i-a10-pcduino
DEVICE_TITLE:=LinkSprite pcDuino
DEVICE_PACKAGES:=uboot-sunxi-Linksprite_pcDuino kmod-sun4i-emac kmod-rtc-sunxi kmod-rtl8192cu
SUNXI_DTS:=sun4i-a10-pcduino
SUNXI_UBOOT:=Linksprite_pcDuino
endef endef
TARGET_DEVICES += sun4i-a10-pcduino
$(eval $(call BuildImage)) $(eval $(call BuildImage))

View File

@ -1,5 +1,4 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# #
# Copyright (C) 2013 OpenWrt.org # Copyright (C) 2013 OpenWrt.org
# #
@ -7,7 +6,7 @@
# See /LICENSE for more information. # See /LICENSE for more information.
# #
set -x set -ex
[ $# -eq 6 ] || { [ $# -eq 6 ] || {
echo "SYNTAX: $0 <file> <bootfs image> <rootfs image> <bootfs size> <rootfs size> <u-boot image>" echo "SYNTAX: $0 <file> <bootfs image> <rootfs image> <bootfs size> <rootfs size> <u-boot image>"
exit 1 exit 1

View File

@ -0,0 +1,28 @@
#
# Copyright (C) 2017 Yousong Zhou
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
define Profile/Default
NAME:=Default Profile (all drivers)
PACKAGES:= \
kmod-ata-core \
kmod-ata-sunxi \
kmod-brcmfmac \
kmod-rtc-sunxi \
kmod-rtl8192cu \
kmod-rtl8xxxu \
kmod-sun4i-emac \
rtl8188eu-firmware \
swconfig \
uboot-sunxi-all \
wpad-mini
PRIORITY := 1
endef
define Profile/Default/Description
Default profile with package set compatible with most boards.
endef
$(eval $(call Profile,Default))

View File

@ -1,17 +0,0 @@
#
# Copyright (C) 2013 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
define Profile/Default
NAME:=Default package set
PACKAGES += uboot-sunxi-A13-OLinuXino
endef
define Profile/Default/Description
Default package set compatible with most boards.
endef
$(eval $(call Profile,Default))

View File

@ -1,19 +0,0 @@
#
# Copyright (C) 2013 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
define Profile/A10-OLinuXino-Lime
NAME:=A10 OLinuXino LIME
PACKAGES:=\
uboot-sunxi-A10-OLinuXino-Lime kmod-ata-core kmod-ata-sunxi \
kmod-sun4i-emac kmod-rtc-sunxi
endef
define Profile/A10-OLinuXino-Lime/Description
Package set optimized for the Olimex A10 OLinuXino LIME
endef
$(eval $(call Profile,A10-OLinuXino-Lime))

View File

@ -1,18 +0,0 @@
#
# Copyright (C) 2013 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
define Profile/OLIMEX_A13_SOM
NAME:=Olimex A13 SOM
PACKAGES:=\
uboot-sunxi-OLIMEX_A13_SOM kmod-rtl8192cu
endef
define Profile/OLIMEX_A13_SOM/Description
Package set optimized for the Olimex A13 SOM
endef
$(eval $(call Profile,OLIMEX_A13_SOM))

View File

@ -1,18 +0,0 @@
#
# Copyright (C) 2013 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
define Profile/A13-OLinuXino
NAME:=A13 OLinuXino
PACKAGES:=\
uboot-sunxi-A13-OLinuXino kmod-rtl8192cu
endef
define Profile/A13-OLinuXino/Description
Package set optimized for the Olimex A13 OLinuXino
endef
$(eval $(call Profile,A13-OLinuXino))

View File

@ -1,33 +0,0 @@
#
# Copyright (C) 2013 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
define Profile/A20-OLinuXino-Lime
NAME:=A20 OLinuXino Lime
PACKAGES:=\
uboot-sunxi-A20-OLinuXino-Lime kmod-ata-core kmod-ata-sunxi \
kmod-rtc-sunxi
endef
define Profile/A20-OLinuXino-Lime/Description
Package set optimized for the Olimex A20 OLinuXino Lime
endef
$(eval $(call Profile,A20-OLinuXino-Lime))
define Profile/A20-OLinuXino_MICRO
NAME:=A20 OLinuXino Micro
PACKAGES:=\
uboot-sunxi-A20-OLinuXino_MICRO kmod-ata-core kmod-ata-sunxi \
kmod-sun4i-emac kmod-rtc-sunxi
endef
define Profile/A20-OLinuXino_MICRO/Description
Package set optimized for the Olimex A20 OLinuXino micro
endef
$(eval $(call Profile,A20-OLinuXino_MICRO))

View File

@ -1,18 +0,0 @@
#
# Copyright (C) 2013 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
define Profile/Bananapi
NAME:=Bananapi
PACKAGES:=\
uboot-sunxi-Bananapi kmod-rtc-sunxi kmod-ata-core kmod-ata-sunxi
endef
define Profile/Bananapi/Description
Package set optimized for the Bananapi
endef
$(eval $(call Profile,Bananapi))

View File

@ -1,19 +0,0 @@
#
# Copyright (C) 2015 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
define Profile/Bananapro
NAME:=Bananapro
PACKAGES:=\
uboot-sunxi-Bananapro kmod-rtc-sunxi kmod-ata-core kmod-ata-sunxi \
kmod-brcmfmac
endef
define Profile/Bananapro/Description
Package set optimized for the Bananapro
endef
$(eval $(call Profile,Bananapro))

View File

@ -1,19 +0,0 @@
#
# Copyright (C) 2013 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
define Profile/Cubieboard
NAME:=Cubieboard
PACKAGES:=\
uboot-sunxi-Cubieboard kmod-ata-core kmod-ata-sunxi \
kmod-sun4i-emac kmod-rtc-sunxi
endef
define Profile/Cubieboard/Description
Package set optimized for the Cubieboard
endef
$(eval $(call Profile,Cubieboard))

View File

@ -1,19 +0,0 @@
#
# Copyright (C) 2013 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
define Profile/Cubieboard2
NAME:=Cubieboard2
PACKAGES:=\
uboot-sunxi-Cubieboard2 kmod-ata-core kmod-ata-sunxi \
kmod-sun4i-emac kmod-rtc-sunxi
endef
define Profile/Cubieboard2/Description
Package set optimized for the Cubieboard2
endef
$(eval $(call Profile,Cubieboard2))

View File

@ -1,19 +0,0 @@
#
# Copyright (C) 2013 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
define Profile/Cubietruck
NAME:=Cubietruck
PACKAGES:=\
uboot-sunxi-Cubietruck kmod-ata-core kmod-ata-sunxi \
kmod-rtc-sunxi kmod-brcmfmac
endef
define Profile/Cubietruck/Description
Package set optimized for the Cubietruck
endef
$(eval $(call Profile,Cubietruck))

View File

@ -1,19 +0,0 @@
#
# Copyright (C) 2015 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
define Profile/Lamobo_R1
NAME:=Lamobo R1
PACKAGES:=\
uboot-sunxi-Lamobo_R1 kmod-ata-sunxi kmod-rtl8192cu \
swconfig wpad-mini
endef
define Profile/Lamobo_R1/Description
Package set optimized for the Lamobo R1
endef
$(eval $(call Profile,Lamobo_R1))

View File

@ -1,18 +0,0 @@
#
# Copyright (C) 2013 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
define Profile/Mele_M9
NAME:=Mele_M9
PACKAGES:=\
uboot-sunxi-Mele_M9 kmod-sun4i-emac kmod-rtc-sunxi kmod-rtl8192cu
endef
define Profile/Mele_M9/Description
Package set optimized for the Mele M9
endef
$(eval $(call Profile,Mele_M9))

View File

@ -1,18 +0,0 @@
#
# Copyright (C) 2016 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
define Profile/orangepi_plus
NAME:=orangepi_plus
PACKAGES:=\
kmod-rtc-sunxi uboot-sunxi-orangepi_plus
endef
define Profile/orangepi_plus/Description
Package set optimized for the OrangePi Plus (H3)
endef
$(eval $(call Profile,orangepi_plus))

View File

@ -1,18 +0,0 @@
#
# Copyright (C) 2013 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
define Profile/Linksprite_pcDuino
NAME:=Linksprite_pcDuino
PACKAGES:=\
uboot-sunxi-Linksprite_pcDuino kmod-sun4i-emac kmod-rtc-sunxi kmod-rtl8192cu
endef
define Profile/Linksprite_pcDuino/Description
Package set optimized for the Linksprite pcDuino
endef
$(eval $(call Profile,Linksprite_pcDuino))

View File

@ -1,19 +0,0 @@
#
# Copyright (C) 2013 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
define Profile/Linksprite_pcDuino3
NAME:=pcDuino3
PACKAGES:=\
uboot-sunxi-Linksprite_pcDuino3 kmod-sun4i-emac kmod-rtc-sunxi \
kmod-ata-core kmod-ata-sunxi kmod-rtl8xxxu rtl8188eu-firmware
endef
define Profile/Linksprite_pcDuino3/Description
Package set optimized for the pcDuino3
endef
$(eval $(call Profile,Linksprite_pcDuino3))