此次在司徒大佬指点下 学习移植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文件。 注释掉中间代码。
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两项。如图:
6。此时已经编译移植完成了,但是由于全志的sdk默认配置会裁剪系统用不到的库,因此编译出的固件应该是搜不到sdl的库文件,有2个办法,一是添加应用,应用的Makefile中依赖项有SDL。二是关闭裁剪库的选项,这个选项位于 m menuconfig 配置中的Target Image > downsize the root filesystem or initramfs选项,取消此选项。如图:
运行司徒大佬的例程---------:
例程在这里: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);即可
最后来一张运行司徒大佬例程的照片:
最后附上 helloworld程序包。将包解压至 /package目录下 m menuconfig 中选中helloworld,编译后 执行SDL_NOMOUSE=1 /usr/bin/helloworld 即可。
helloworld.tar.xz
在下才疏学浅,有幸得司徒大佬指点才移植成功,其中还有诸多问题尚待解决,还请大家不惜赐教!
lovexulu 发布的最佳帖子
-
D1S移植SDL1.2.15版本
-
回复: nv3052cRGB 720*720屏出现花屏,颜色失真,请问是什么原因
@fans168168 是的,rgb bit0->bit7,bit1->bit6.。。。就会显示成这样。
-
求教如何在Tina linux SDK中调用i2c对lcd初始化?
由于太过菜鸟没能看懂SDK手册中的示例,还请路过的大神指点一下,dts中应该如何配置,在屏驱动中如何调用i2c。
我参照手册示例写了驱动,编译能过,但不能启动,原因是不能调用i2c_smbus_write_byte_data函数写数据。不能启动也没有任何提示 卡在内核启动2行位置。 -
回复: 【复刻麦当劳游戏机】用 ST7789V LCD 在 lichee pi nano (f1c100s)
@bankbank Hello, F1c100 supports MCU display drivers, but to use it correctly, you need to modify the Linux device tree configuration and configure the corresponding driver yourself, including the initialization program for the screen you currently have. This is a relatively complicated process, and if you are familiar with Linux drivers, it may be very simple. Here is a reference image
-
回复: 可以在這裡寫非全志晶片的文章嗎 ?
@steward 你好司徒大佬,我只是用过这几款全志的芯片的菜鸟罢了,对于全志其他芯片也了解不是很多,不过目前所知也就是R128-s3 接近您的要求,但ram仅有32MB。不过个人以为外挂一片wifi+bt的芯片或模块会比较灵活。看上面大佬帖子,想跑精简的Debian桌面,使用T113-s3/s4估计是很合适的芯片,-s4芯片有内置256M DDR3,双核A7。貌似比S3更加合适。