- 积分
- 10
贡献75
飞刀20 FD
注册时间2017-5-31
在线时间1 小时
扫一扫,手机访问本帖
|
本帖最后由 bsaver 于 2020-11-28 14:55 编辑
在使用imx6ul-c3核心板,由于工作原因需要对libc进行升级。
------------------------------------------------------------------
- 内 核:linux3.14.38(飞凌官方提供)
- 编译链:gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux,里面集成:
- libc2.19,
- linux头文件版本3.1.1,
- gcc版本:4.9
------------------------------------------------------------------
- 使用buildroot重做了文件系统(busybox1.29),并且交叉编译了zImage、modules、dtb
- 交叉编译并移植tslib、Qt5.6.2
-----------------------------------------------------------------
使用飞凌官方提供的uboot(由于不开源,未重新编译),内核设备树有修改并且在飞凌官方提供的文件系统下验证可用。
使用飞凌推荐的SD卡方式对核心板进行烧写,烧写完成后,系统可正常启动,并且显示开机画面正确。
问题来了:
系统运行起来后,应用程序画面不能显示、触摸屏校准画面无法显示。
查看屏幕分辨率:
- root@tonhe:/etc# cat /sys/class/graphics/fb0/virtual_size
- 800,960
- root@tonhe:/etc#
复制代码 直接修改virtual_size文件:
- root@tonhe:/etc# echo 800,480 > /sys/class/graphics/fb0/virtual_size
- root@tonhe:/etc#
复制代码 画面居然显示出来了,当然触摸是无法用的,但是用 ts_test测试屏幕是可以正常使用的。
重启系统又回到800,960的分辨率,通过fbset查看屏幕信息:
- root@tonhe:~# fbset
- mode "800x480-57"
- # D: 33.000 MHz, H: 31.220 kHz, V: 57.496 Hz
- geometry 800 480 800 960 32
- timings 30303 88 121 39 21 48 3
- accel false
- rgba 8/16,8/8,8/0,0/0
- endmode
- root@tonhe:~#
复制代码 显示画面分辨率是800,480,但是屏幕分辨率是:800,960(不太专业,可能说的名词都不对,了解的专家可以给解释一下这个数字的意义)。
设备树是根据飞凌官方资料修改的(只修改了GPIO,并且在飞凌原文件系统下验证可用):
- &lcdif {
- pinctrl-names = "default";
- pinctrl-0 = <&pinctrl_lcdif_dat
- &pinctrl_lcdif_ctrl>;
- display = <&display0>;
- status = "okay";
- display0: display {
- bits-per-pixel = <24>;
- bus-width = <24>;
- display-timings {
- /* native-mode = <&timing0>;
- timing0: timing0 {
- clock-frequency = <9200000>;
- hactive = <480>;
- vactive = <272>;
- hfront-porch = <8>;
- hback-porch = <4>;
- hsync-len = <41>;
- vback-porch = <2>;
- vfront-porch = <4>;
- vsync-len = <10>;
- hsync-active = <0>;
- vsync-active = <0>;
- de-active = <1>;
- pixelclk-active = <0>;
- };
- */
- timing0: timing0 {
- clock-frequency = <33000000>;
- hactive = <800>;
- vactive = <480>;
- hfront-porch = <121>;
- hback-porch = <88>;
- hsync-len = <48>;
- vback-porch = <39>;
- vfront-porch = <21>;
- vsync-len = <3>;
- hsync-active = <0>;
- vsync-active = <0>;
- de-active = <1>;
- pixelclk-active = <0>;
- };
- };
- };
- };
复制代码 文件系统启动信息:
- U-Boot 2015.04-gcab9885 (Jul 11 2019 - 15:45:19)
- CPU: Freescale i.MX6UL rev1.1 at 396 MHz
- CPU: Temperature 48 C
- Reset cause: POR
- Board: MX6UL 14x14 EVK
- I2C: ready
- DRAM: 256 MiB
- NAND: 256 MiB
- MMC: FSL_SDHC: 0
- Display: TFT70AB-800x480 (800x480)
- Video: 800x480x24
- NAND read: device 0 offset 0x400000, size 0x200000
- 2097152 bytes read: OK
- display bmp cfb_console.c
- In: serial
- Out: serial
- Err: serial
- Net: Phy 2 not found
- PHY reset timed out
- FEC0
- Error: FEC0 address not set.
- Normal Boot
- Hit any key to stop autoboot: 0
- nand boot..........
- NAND read: device 0 offset 0xa00000, size 0x800000
- 8388608 bytes read: OK
- NAND read: device 0 offset 0x700000, size 0x40000
- 262144 bytes read: OK
- Kernel image @ 0x80800000 [ 0x000000 - 0x5e0c78 ]
- ## Flattened Device Tree blob at 83000000
- Booting using the fdt blob at 0x83000000
- Using Device Tree in place at 83000000, end 8300b76b
- Starting kernel ...
复制代码
问题到现在还没有解决,有一个疑问需要大家给点意见:
- 未交叉编译uboot会不会影响屏幕分辨率?
- 如果不是uboot导致的,是那些原因导致出现这个问题?
- 这个问题提问飞凌官方:是否可以帮忙交叉编译一下uboot?
|
|