搜索
bottom↓
回复: 23

imx6的linux(3.0.35_4.1.0)编译出来开机画面怎么是2个企鹅-已解决

[复制链接]

出0入0汤圆

发表于 2014-7-24 15:19:09 来自手机 | 显示全部楼层 |阅读模式
本帖最后由 hiberhe 于 2014-7-25 00:26 编辑

如题,怎么干掉一个?是前景和背景的原因吗,我用的dl,显示是lvds0,sep0方式。

出0入0汤圆

发表于 2014-7-24 15:20:49 | 显示全部楼层
^_^         ^_^

出0入0汤圆

 楼主| 发表于 2014-7-24 15:28:23 来自手机 | 显示全部楼层
在fb_show_logo中添加dump_stack(),从dmesg结果只看到调用了一次。因而是在mxc_ipuv3_fb.c中做了什么处理?

出0入0汤圆

发表于 2014-7-24 15:46:28 | 显示全部楼层
是lcd驱动分辨率小了吧。所以会出现多个企鹅

出0入0汤圆

发表于 2014-7-24 16:12:57 | 显示全部楼层
本帖最后由 aammoo 于 2014-7-24 16:14 编辑

好像是因为有多个核,单核的CPU是一个

出0入0汤圆

发表于 2014-7-24 16:21:27 | 显示全部楼层
楼上兄弟好萌...

出0入0汤圆

发表于 2014-7-24 16:25:36 | 显示全部楼层
aammoo 发表于 2014-7-24 16:12
好像是因为有多个核,单核的CPU是一个

我的 zynq 也是 两个  呵呵

出0入0汤圆

发表于 2014-7-24 17:52:38 | 显示全部楼层
richards 发表于 2014-7-24 16:25
我的 zynq 也是 两个  呵呵

你的也是双核的

出0入0汤圆

 楼主| 发表于 2014-7-24 18:33:50 来自手机 | 显示全部楼层
肯定不是分辨率的问题,我的是1027×768的分辨率呢。看俩企鹅在那太不顺眼了。

出0入0汤圆

 楼主| 发表于 2014-7-24 18:36:30 来自手机 | 显示全部楼层
honami520 发表于 2014-7-24 15:46
是lcd驱动分辨率小了吧。所以会出现多个企鹅

我的是两企鹅并列在左上角...

出0入0汤圆

发表于 2014-7-24 18:55:41 | 显示全部楼层
有啥奇怪的,一个核是一个企鹅,我的4412 显示4个企鹅。

出0入0汤圆

 楼主| 发表于 2014-7-24 19:19:53 来自手机 | 显示全部楼层
真与核有关?这倒也有可能,我查查显示logo的代码。

出0入0汤圆

 楼主| 发表于 2014-7-24 23:55:06 来自手机 | 显示全部楼层
好吧,好像真跟cpu数目有关:
int fb_show_logo(struct fb_info *info, int rotate)
{
int y;
y = fb_show_logo_line(info, rotate, fb_logo.logo, 0,
num_online_cpus());
y = fb_show_extra_logos(info, y, rotate);
return y;
}

static void fb_do_show_logo(struct fb_info *info, struct fb_image *image,
int rotate, unsigned int num)
{
unsigned int x;
if (rotate == FB_ROTATE_UR) {
for (x = 0;
x < num && image->dx + image->width <= info->var.xres;
x++) {
info->fbops->fb_imageblit(info, image);
image->dx += image->width + 8;
}
} else if (rotate == FB_ROTATE_UD) {
for (x = 0; x < num && image->dx >= 0; x++) {
info->fbops->fb_imageblit(info, image);
image->dx -= image->width + 8;
}
} else if (rotate == FB_ROTATE_CW) {
for (x = 0;
x < num && image->dy + image->height <= info->var.yres;
x++) {
info->fbops->fb_imageblit(info, image);
image->dy += image->height + 8;
}
} else if (rotate == FB_ROTATE_CCW) {
for (x = 0; x < num && image->dy >= 0; x++) {
info->fbops->fb_imageblit(info, image);
image->dy -= image->height + 8;
}
}
}

出0入0汤圆

 楼主| 发表于 2014-7-25 00:05:24 来自手机 | 显示全部楼层
include/linux/cpumask.h:
83 #if NR_CPUS > 1
84 #define num_online_cpus() cpumask_weight(cpu_online_mask)
...

include/linux/threads.h:
14 #ifndef CONFIG_NR_CPUS  15 /* FIXME: This should be fixed in the arch's Kconfig */  16 #define CONFIG_NR_CPUS 1
17 #endif
20 #define NR_CPUS CONFIG_NR_CPUS

出0入0汤圆

 楼主| 发表于 2014-7-25 00:14:12 来自手机 | 显示全部楼层
本帖最后由 hiberhe 于 2014-7-25 00:15 编辑

arch/arm/Kconfig:
config NR_CPUS
int "Maximum number of CPUs (2-32)"
range 2 32
depends on SMP
default "4"

include/linux/cpumask.h,:
442 /**  
443 * cpumask_weight - Count of bits in *srcp  
444 * @srcp: the cpumask to count bits (< nr_cpu_ids) in.
445 */  
446 static inline unsigned int cpumask_weight(const struct cpumask *srcp)
447 {
448 return bitmap_weight(cpumask_bits(srcp), nr_cpumask_bits);
449 }

出0入0汤圆

 楼主| 发表于 2014-7-25 00:25:17 来自手机 | 显示全部楼层
后续就不查了,在手机上找起来不方便。

由上可知,要在多核cpu上用系统缺省logo机制只显示1个logo图标,只需修改drivers/video/fbmem.c中的fb_show_logo,将对fb_show_logo_line的调用的最后一个参数由num_online_cpus()改为1即可!

出0入0汤圆

发表于 2014-7-25 01:00:51 | 显示全部楼层
真八核出来8只企鹅,很壮观啊~

出0入0汤圆

发表于 2014-7-25 11:24:10 来自手机 | 显示全部楼层
我的三星5260 显示6只

出0入0汤圆

发表于 2014-7-25 11:30:26 | 显示全部楼层
richards 发表于 2014-7-24 16:25
我的 zynq 也是 两个  呵呵

如果多弄16个NIOS2核,会不会一窝企鹅出来了?哇哈哈


不过Linux kernel里真的是按照CPU核的个数来显示企鹅数量的。

出0入0汤圆

 楼主| 发表于 2014-7-25 12:48:22 来自手机 | 显示全部楼层
不会显示那么多啦,具体的显示数量与核数,logo宽度以及屏宽有关:
x < num && image->dx + image->width <= info->var.xres

出0入0汤圆

发表于 2014-7-25 22:22:19 | 显示全部楼层
hiberhe 发表于 2014-7-25 12:48
不会显示那么多啦,具体的显示数量与核数,logo宽度以及屏宽有关:
x < num && image->dx + image->width va ...

lz 认真钻研的精神值得敬佩

出0入0汤圆

发表于 2014-7-29 14:24:23 | 显示全部楼层
首先要给楼主大赞~~自己专研的同时分享给大家。
楼主的结论是正确的,使用i.mx6q的话,会出现4个企鹅,i.mx6dl的是双核的,所以是两个。

出0入0汤圆

发表于 2014-8-2 22:27:32 来自手机 | 显示全部楼层
linux都是这样的,几个核就是几只企鹅,我台式机8核的,开机8只企鹅

出0入4汤圆

发表于 2021-2-5 13:48:32 | 显示全部楼层
Linux 启动时显示的小企鹅的数量,就是你的 CPU 个数,你最多见过几个?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子论坛 -- 东莞阿莫电子网站 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2022-10-7 21:28

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表