OK335xS Splash Screen 移植

/***********************************************************************
 *                   OK335xS Splash Screen 移植
 * 说明:
 *     有时候,每次看到TI的logo自己心里是不爽的,因为本来就是定制的东西,
 * 为什么还要他的开机Logo呢,于是自己尝试移植编译一下Splash。
 *
 *                                     2016-4-16 深圳 南山平山村 曾剑锋
 **********************************************************************/

一、参考文档:
    1. Customizing the SDK Splash Screen
        http://processors.wiki.ti.com/index.php/Customizing_the_SDK_Splash_Screen
    2. Makefile Makefile.am Makefile.in
        http://blog.csdn.net/OLillian/article/details/6281126
    3. config.h.in missing? #1
        https://github.com/stevedh/readingdb/issues/1

二、download:
    http://git.yoctoproject.org/cgit/cgit.cgi/psplash/commit/

三、编译、运行流程:
    1. aclocal;
    2. autoconf;
    3. automake --add-missing;
    4. autoreconf --install
    5. ./configure --host=arm-linux CC=arm-linux-gnueabihf-gcc;
    6. make.
    7. Replace the /usr/bin/psplash file in your root file system with the generated psplash file.

四、编译错误:
    1. error:
        1. 现象:
            [email protected]:~/cmdTest/psplash-master$ ./autogen.sh --host=arm-linux CC=arm-linux-gnueabihf-gcc
            bash: ./autogen.sh: No such file or directory
        2. 解决办法:
            1. aclocal;
            2. autoconf;
            3. automake --add-missing;
            4. ./configure --host=arm-linux CC=arm-linux-gnueabihf-gcc;
            5. make.
    2. error:
        1. 现象:
            configure.ac:5: required file `config.h.in‘ not found
        2. 解决办法:
            autoreconf --install
    3. error:
        1. 现象:
            ......
            Screenshot-img.h:7:16: warning: missing whitespace after the macro name [enabled by default]
            Screenshot-img.h:7:0: warning: "psplash" redefined [enabled by default]
            Screenshot-img.h:6:0: note: this is the location of the previous definition
            psplash.c: In function ‘main’:
            psplash.c:277:19: error: ‘POKY_IMG_WIDTH’ undeclared (first use in this function)
            psplash.c:277:19: note: each undeclared identifier is reported only once for each function it appears in
            psplash.c:282:40: error: ‘POKY_IMG_HEIGHT’ undeclared (first use in this function)
            psplash.c:286:5: error: ‘POKY_IMG_BYTES_PER_PIXEL’ undeclared (first use in this function)
            psplash.c:287:5: error: ‘POKY_IMG_ROWSTRIDE’ undeclared (first use in this function)
            psplash.c:288:5: error: ‘POKY_IMG_RLE_PIXEL_DATA’ undeclared (first use in this function)
            make[1]: *** [psplash.o] Error 1
            make[1]: Leaving directory `/home/Qt/cmdTest/psplash-master‘
            make: *** [all] Error 2
        2. 解决办法:
            ./make-image-header.sh Screenshot.png POKY
        3. 原因:
            psplash.c中的需要用到这个POKY有关的宏名,如果改了,那么这里也要跟着改。
                [email protected]:~/cmdTest/psplash-master$ grep POKY *
                psplash.c:             (fb->width  - POKY_IMG_WIDTH)/2,
                psplash.c:             (fb->height - POKY_IMG_HEIGHT)/2,
                psplash.c:              / PSPLASH_IMG_SPLIT_DENOMINATOR - POKY_IMG_HEIGHT)/2,
                psplash.c:             POKY_IMG_WIDTH,
                psplash.c:             POKY_IMG_HEIGHT,
                psplash.c:             POKY_IMG_BYTES_PER_PIXEL,
                psplash.c:             POKY_IMG_ROWSTRIDE,
                psplash.c:             POKY_IMG_RLE_PIXEL_DATA);
                ......

五、完整编译过程如下:
    [email protected]:~/cmdTest/psplash-master$  aclocal
    [email protected]:~/cmdTest/psplash-master$ autoconf
    [email protected]:~/cmdTest/psplash-master$ automake --add-missing
    configure.ac:3: installing `./install-sh‘
    configure.ac:3: installing `./missing‘
    Makefile.am: installing `./INSTALL‘
    configure.ac:5: required file `config.h.in‘ not found
    Makefile.am: installing `./depcomp‘
    [email protected]:~/cmdTest/psplash-master$ autoreconf --install
    [email protected]:~/cmdTest/psplash-master$ ./configure --host=arm-linux CC=arm-linux-gnueabihf-gcc
    configure: WARNING: if you wanted to set the --build type, don‘t use --host.
        If a cross compiler is detected then cross compile mode will be used
    checking for a BSD-compatible install... /usr/bin/install -c
    checking whether build environment is sane... yes
    checking for arm-linux-strip... no
    checking for strip... strip
    checking for a thread-safe mkdir -p... /bin/mkdir -p
    checking for gawk... no
    checking for mawk... mawk
    checking whether make sets $(MAKE)... yes
    checking for style of include used by make... GNU
    checking for arm-linux-gcc... arm-linux-gnueabihf-gcc
    checking whether the C compiler works... yes
    checking for C compiler default output file name... a.out
    checking for suffix of executables...
    checking whether we are cross compiling... yes
    checking for suffix of object files... o
    checking whether we are using the GNU C compiler... yes
    checking whether arm-linux-gnueabihf-gcc accepts -g... yes
    checking for arm-linux-gnueabihf-gcc option to accept ISO C89... none needed
    checking dependency style of arm-linux-gnueabihf-gcc... gcc3
    checking for library containing strerror... none required
    checking for arm-linux-gcc... (cached) arm-linux-gnueabihf-gcc
    checking whether we are using the GNU C compiler... (cached) yes
    checking whether arm-linux-gnueabihf-gcc accepts -g... (cached) yes
    checking for arm-linux-gnueabihf-gcc option to accept ISO C89... (cached) none needed
    checking dependency style of arm-linux-gnueabihf-gcc... (cached) gcc3
    checking how to run the C preprocessor... arm-linux-gnueabihf-gcc -E
    checking for grep that handles long lines and -e... /bin/grep
    checking for egrep... /bin/grep -E
    checking for ANSI C header files... yes
    configure: creating ./config.status
    config.status: creating Makefile
    config.status: creating config.h
    config.status: executing depfiles commands
    [email protected]:~/cmdTest/psplash-master$ make
    make  all-am
    make[1]: Entering directory `/home/Qt/cmdTest/psplash-master‘
    arm-linux-gnueabihf-gcc -DHAVE_CONFIG_H -I.    -g -Wall -Wextra -D_GNU_SOURCE -g -O2 -MT psplash.o -MD -MP -MF .deps/psplash.Tpo -c -o psplash.o psplash.c
    mv -f .deps/psplash.Tpo .deps/psplash.Po
    arm-linux-gnueabihf-gcc -DHAVE_CONFIG_H -I.    -g -Wall -Wextra -D_GNU_SOURCE -g -O2 -MT psplash-fb.o -MD -MP -MF .deps/psplash-fb.Tpo -c -o psplash-fb.o psplash-fb.c
    mv -f .deps/psplash-fb.Tpo .deps/psplash-fb.Po
    arm-linux-gnueabihf-gcc -DHAVE_CONFIG_H -I.    -g -Wall -Wextra -D_GNU_SOURCE -g -O2 -MT psplash-console.o -MD -MP -MF .deps/psplash-console.Tpo -c -o psplash-console.o psplash-console.c
    mv -f .deps/psplash-console.Tpo .deps/psplash-console.Po
    arm-linux-gnueabihf-gcc -g -Wall -Wextra -D_GNU_SOURCE -g -O2   -o psplash psplash.o psplash-fb.o psplash-console.o
    arm-linux-gnueabihf-gcc -DHAVE_CONFIG_H -I.    -g -Wall -Wextra -D_GNU_SOURCE -g -O2 -MT psplash-write.o -MD -MP -MF .deps/psplash-write.Tpo -c -o psplash-write.o psplash-write.c
    mv -f .deps/psplash-write.Tpo .deps/psplash-write.Po
    arm-linux-gnueabihf-gcc -g -Wall -Wextra -D_GNU_SOURCE -g -O2   -o psplash-write psplash-write.o
    make[1]: Leaving directory `/home/Qt/cmdTest/psplash-master‘
    [email protected]:~/cmdTest/psplash-master$ ls
    aclocal.m4      config.log     install-sh            psplash            psplash-console.o   psplash.o           Screenshot-img.h
    AUTHORS         config.status  Makefile              psplash-bar-img.h  psplash.doap        psplash-poky-img.h  Screenshot.png
    autom4te.cache  configure      Makefile.am           psplash.c          psplash-fb.c        psplash-write       stamp-h1
    base-images     configure.ac   Makefile.in           psplash-colors.h   psplash-fb.h        psplash-write.c
    ChangeLog       COPYING        make-image-header.sh  psplash-config.h   psplash-fb.o        psplash-write.o
    config.h        depcomp        missing               psplash-console.c  psplash.h           radeon-font.h
    config.h.in     INSTALL        NEWS                  psplash-console.h  psplash-hand-img.h  README
    [email protected]:~/cmdTest/psplash-master$
        
时间: 2024-08-25 23:00:16

OK335xS Splash Screen 移植的相关文章

Windows Phone Splash Screen

Why to use splash screen? Typically, you should use a splash screen in your app only if your app is unusually slow to load if you want to add additional branding to the app. You can use splash screen to show company logo, promote apps, load data and

Android UI常用实例 如何实现欢迎界面(Splash Screen)

在Android平台下,下载一个应用后,首次打开映入眼帘的便是Splash Screen,暂且不说Android的设计原则提不提倡这种Splash Screen.先来看看一般使用Splash Screen的场景: 1,第一次安装后,简单APP的闪屏达到品牌营销的目的,复杂点的APP用来提供新手指导: 2,版本更新,说明版本新特性: 有人对这种设计嗤之以鼻,有人趋之若鹜,孰好孰坏不在我们探讨之列. 1,简单的Splash Screen 这种Splash Screen实现及其简单,常用来显示产品Lo

Xamarin Android -创建Splash Screen (一)

......(空话少说) Xamarin 开发的技术资料很少,通过学习,把自己的学习过程及其中碰到的问题与大家分享. Splash Screen 就是在应用程序启动时,出现的一张图片,一般App的Splash Screen都是动态的广告信息. 先学习一下如何加载一个固定的Splash Screen. 一.在Resource/values/Styles.xml添加代码. <?xml version="1.0" encoding="UTF-8" ?> <

纯C++打造的Splash Screen类(打造专业的启动画面)

Introduction 每一个应用程序可能都需要一个"about box"和程序启动时一个"splash screen"(启动画面),大多数开发者都使用自带的""about dialog"".我创建了一个类CSplashScreen,都可以处理这两者,使开发变的容易,有趣!从小的对话框组件程序到需要加在几分复杂程序,我都会使用这个类. 这个类有两个文件组成,SplashScreen.h 和 SplashScreen.cpp.

Android UI经常使用实例 怎样实现欢迎界面(Splash Screen)

在Android平台下.下载一个应用后,首次打开映入眼帘的便是Splash Screen,暂且不说Android的设计原则提不提倡这样的Splash Screen.先来看看一般使用Splash Screen的场景: 1,第一次安装后,简单APP的闪屏达到品牌营销的目的,复杂点的APP用来提供新手指导: 2.版本号更新.说明版本号新特性. 有人对这样的设计嗤之以鼻.有人趋之若鹜,孰好孰坏不在我们探讨之列. 1,简单的Splash Screen 这样的Splash Screen实现及其简单.经常使用

Flutter - 给App增加启动屏幕(Splash Screen)并且设置背景颜色

先看一下效果图,启动图最好设置为png格式的透明图,以防图片填充不满的时候背景图会非常的煞白(Flutter 默认背景色是白色). 打开android\app\src\main\res\drawable\launch_background.xml, <?xml version="1.0" encoding="utf-8"?> <!-- Modify this file to customize your launch splash screen -

iphone splash screen

https://developer.apple.com/library/ios/documentation/General/Reference/InfoPlistKeyReference/Articles/iPhoneOSKeys.html#//apple_ref/doc/uid/TP40009252-SW24 在app的plist文件增加以下字段: <key>UILaunchImageFile</key> <string>SplashScreen</string

ionic 3 icon和splash screen生成和设置

官方文档中介绍 ionic cordova resources命令可以生成应用的图标和启动画面图片(前提是你必须在resources 目录下放icon源文件和splash源文件,格式可以为png, psd 或者 ai,但是官方推荐使用png格式的源文件),然后在应用根目录下打开命令行工具输入. 注:如果不加platform是可选参数,ios或者android ionic cordova resources [<platform>] 但是...我试了好几遍,我没有成功过,报错显示: 这可能意味着

app为什么要有启动页(Splash screen)

1.包名(Package name)在Android系统中是判断一个App的唯一标识. 2.启动页Activity简单的来说Activity指的就是App中我们看到的页面,一个页面就是一个Activity,通常第一页启动起来的页面我们就称之为 "启动页Activity". 3.为什么要有启动页(闪屏) ①闪屏首先是交互的响应,就像一个按钮凸起,点击它如果没有凹陷或者变色等变化,用户会觉得不可点击或者是木有反应,卡机,垃圾.闪屏就是一个最直接迅速的交互响应. ②其次,通过闪屏可以有效捕捉