导航

    全志在线开发者论坛

    • 注册
    • 登录
    • 搜索
    • 版块
    • 话题
    • 在线文档
    • 社区主页

    D1S移植SDL1.2.15版本

    爱搞机专区
    6
    9
    4349
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • L
      lovexulu LV 7 最后由 编辑

      此次在司徒大佬指点下 学习移植SDL1.215版本,过程有点曲折,但还是解决了问题。主要步骤如下:
      1。全志sdk的包里原本就有SDL2.X版本的,因此修改/package/multimedia/sdl/Makefile,
      Makefile 。
      2。执行 m menuconfig 配置中选中sdl。
      3。编译会报错,打开/tina_d1_h/out/d1s-nezha/compile_dir/target/SDL-1.2.15/configure.in文件。注释.png 注释掉中间代码。
      4。修改板级配置文件board.dts disp节点下 fb0_format = <10>;
      5。运行 m kernel_menuconfig ,选中Device Drivers > Character devices下Virtual terminal项及Enable character translations in console与 Support for console on virtual termin两项。如图:选项.png
      6。此时已经编译移植完成了,但是由于全志的sdk默认配置会裁剪系统用不到的库,因此编译出的固件应该是搜不到sdl的库文件,有2个办法,一是添加应用,应用的Makefile中依赖项有SDL。二是关闭裁剪库的选项,这个选项位于 m menuconfig 配置中的Target Image > downsize the root filesystem or initramfs选项,取消此选项。如图:选项2.png
      运行司徒大佬的例程---------:
      例程在这里:https://steward-fu.github.io/website/program/sdl/v1.2/cpp_fill.htm
      若要正常运行例程 还需要修改一点参数,因为D1S是默认开启双缓冲的,所以要在
      screen = SDL_SetVideoMode(320, 240, 16, SDL_HWSURFACE);中添加双缓冲支持项,改为:
      screen = SDL_SetVideoMode(320, 240, 16, SDL_HWSURFACE|SDL_DOUBLEBUF);即可
      最后来一张运行司徒大佬例程的照片:例程.jpg
      最后附上 helloworld程序包。将包解压至 /package目录下 m menuconfig 中选中helloworld,编译后 执行SDL_NOMOUSE=1 /usr/bin/helloworld 即可。
      helloworld.tar.xz
      在下才疏学浅,有幸得司徒大佬指点才移植成功,其中还有诸多问题尚待解决,还请大家不惜赐教!

      W 1 条回复 最后回复 回复 引用 分享 5
      • Referenced by  hsinyuwang hsinyuwang 
      • W
        wj8331585 LV 6 @lovexulu 最后由 编辑

        @lovexulu 你好近进也在研究这个,能一起聊下吗?qq545818496

        hsinyuwang 1 条回复 最后回复 回复 引用 分享 1
        • Referenced by  W wj8331585 
        • hsinyuwang
          hsinyuwang LV 6 @wj8331585 最后由 编辑

          @wj8331585 我有资料,除了sdl还得移植sdl_image sdl_mixer sdl_ttf才行😁

          hsinyuwang 1 条回复 最后回复 回复 引用 分享 0
          • hsinyuwang
            hsinyuwang LV 6 @hsinyuwang 最后由 编辑

            @hsinyuwang 如果是移植Funkey的话

            W 1 条回复 最后回复 回复 引用 分享 0
            • W
              wj8331585 LV 6 @hsinyuwang 最后由 编辑

              @hsinyuwang 在 D1S移植SDL1.2.15版本 中说:

              @hsinyuwang 如果是移植Funkey的话

              funkey已经移植完成,基本可用吧。
              请问我用的tina linux为什么SDL_DOUBLEBUF不支持呢?

              czlz_fun 1 条回复 最后回复 回复 引用 分享 0
              • czlz_fun
                粗制乱造 LV 3 @wj8331585 最后由 编辑

                @wj8331585 有交流群吗?我也正在学习Funkey

                xiaowenge 1 条回复 最后回复 回复 引用 分享 0
                • xiaowenge
                  DOT小文哥 LV 8 @czlz_fun 最后由 编辑

                  @czlz_fun 在 D1S移植SDL1.2.15版本 中说:

                  @wj8331585 有交流群吗?我也正在学习Funkey

                  我知道有个专门搞DIY掌机的群,群号:139642475
                  有兴趣可以加入。不过好像要收几块钱群费的,以筛选一些发广告的
                  50a3a724-fe77-4e32-8f01-9dc4c0b4a79d-061029197ed4d75691f8bccc00f4788.jpg

                  1 条回复 最后回复 回复 引用 分享 0
                  • D
                    dyufeimen LV 2 最后由 编辑

                    按此步骤编译SDL时,出现了缺少libasound库的错误;
                    Package sdl is missing dependencies for the following libraries:
                    libasound.so.2
                    Makefile:57: recipe for target '/home/test/LC/Tina-Linux/out/t113-mq_r/packages/base/sdl_1.2.15-1_sunxi.ipk' failed
                    但是在sdl链接路径里是有此库的。请问有遇到此情况吗?

                    D 1 条回复 最后回复 回复 引用 分享 0
                    • D
                      dyufeimen LV 2 @dyufeimen 最后由 编辑

                      @dyufeimen 问题解决了,自我回复一下!缺少libasound是因为在package/multimedia/sdl路径下的Malefile中缺少依赖,增加DEPENDS:=+alsa-lib即可解决。
                      当然也可以disable-alsa也可以解决此报错问题

                      1 条回复 最后回复 回复 引用 分享 1
                      • 1 / 1
                      • First post
                        Last post

                      Copyright © 2024 深圳全志在线有限公司 粤ICP备2021084185号 粤公网安备44030502007680号

                      行为准则 | 用户协议 | 隐私权政策