linux framebuffer,内存共享与组播

本文介绍了Linux系统中Framebuffer显示图片的原理,包括支持的YUV420格式,并探讨了使用ffmpeg和libjpeg库显示图片的方法。接着详细阐述了共享内存的创建与使用,通过ftok和shmget函数实现跨进程通信。最后,讲解了组播通信的实现,包括发送方和接收方的配置,如何通过setsockopt函数加入组播组。
摘要由CSDN通过智能技术生成
 

 

 

板子快要回来了,这几天开始着手修改项目了。突然又感觉学了不少东西,在这里记录下来,也算是一点进步吧。

1,关于fb显示图片的问题,以前以为所有的图片,要在lcd上显示,必须转换为RGB格式的,网上也都这么说的,但现在发现,原来不是,至少我现在要做的这个系统,fb是支持yuv420数据的。还有fb页的概念,下来要好好看一下fb驱动代码。关于fb,在我们这个系统里,jpg图片通过ffmpeg转化为yuv420格式的数据直接显示在lcd上面,这不失为一种lcd上显示图片的方案。但还要继续研究怎么很好的使用,ffmpeg这个东西。另外一种显示方案就是libjpeg库,很多系统都用这个,先关注一下。当然,fb为什么支持yuv,为什么支持rgb,下来要好好研究一下。

2,共享内存的使用。每一个ipc通信,都要有一个key_t型的id号,用:

key_t ftok( char * fname, int id )
fname就时你指定的文件名,id是子序号。然后,取得共享内存段,用:

int shmget(key,size,shmflg);

key_t key 是这块共享内存的标识符。如果是父子关系的进程间通信的话,这个标识符用IPC_PRIVATE来代替。但是刚才我们的两个进程没有任何关系,所以就用ftok()算出来一个标识符使用了。
int shmsiz 是这块内存的大小.
int flag 是这块内存的模式(mode)以及权限标识。
模式可取如下值: 新建:IPC_CREAT
使用已开辟的内存:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值