上个月着手写的那个H264码流分析工具基本完成基本的功能,为了显摆,还在部门公布了,不过使用效果不及几十刀的正牌分析工具那样功能强大,速度快。但是,自己从这里面学到了一些东西,还是不错的。当然,肯定是向着更高更强的层次看齐。——所以那个工具还在完善中。
完成一个分析H264码流的工具
最近又开始搞视频相关的东西了。之前一直对H264有畏惧,觉得太难,现在开始慢慢去接触它,了解它。无意中,看到网上有人对H264码流进行分析。地址:http://blog.csdn.net/leixiaohua1020/article/details/17933821。有商业的工具,比如H264VideoESViewer,不过要钱,而且很贵,公司花钱买了一个(真的是“一个”),只有一个人的电脑上装有(不能同时在其它电脑装)。为了学习H264码流,加上自己好久没写MFC了,就参考人家的代码,练练手。好在自己的MFC知识还在。
记一次ubuntu误操作导致无法用sudo
原因:挂载自己做的rootfs,进入目录,执行sudo chmod 777 /etc/* 多了一个斜杠。本意是更改自己的rootfs的etc目录的属性的,没想到变成系统的/etc了。
Linux文件inode用完一例
在实际使用SD卡过程中发现写不进数据了,系统提示类似下面的信息:can't create /mnt/sd/101: No space left on device。查看分区空间,还有很多,但就是写不进数据。上网查了才知道,原来这种情况有可能是inode用完的原因,经过查找,的确是这个原因导致的。
我的git仓库,顺记github配置
我几年前就开始使用git了,不过今年才真正大规模、频繁地使用:自己代码存储管理,部门项目开发过程的代码管理和共享。公司实际上只使用了svn,并没有用git,所以领导们没有创建svn给我们用之前,只好用git管理了——现在一个项目目录即有git也有svn,个人感觉还可以,不会搞混乱,而且也便于开发,因为提交svn远比提交git严格。
记dropbox与git不和谐的一个问题
目前我基本都是使用git来管理代码,用dropbox存储自己写的代码还有git仓库。最近提交远程git仓库时,发现出现了冲突,网上资料比较少,不过还是找了一些方法。实际解决十分简单。 某次用pull来更新一下本地代码时,出现了如下的错误:
我的内核学习笔记4:sysfs学习
写这篇文章起因缘于自己的无知。那个很牛的同事还未离职前,我们组被领导挖了个坑,四个不知天高地厚的小伙伴傻傻地接受了——去抄人家的板子,做一个项目,说让我们组挑大梁。回想起来,真是一把辛酸泪。自从使用了那个同事移植的内核后,发现内核十分强大,许多驱动已经集成了——原谅我的无知,最近的两年时间里,完全没接触过内核,只是跟内核提供的接口打交道,我只知道使用open、ioctl、close,其它就不知了。当然,通过这几天的自学,也了解了当前内核(准确说是“当前几年”)的发展情况,不至于像当初那样的天真了。
我的内核学习笔记3:我的platform驱动模板文件
前面的例子已经实现platform驱动了,可以将之前的字符设备驱动整合到这个驱动中,实际上我也做了这一步。因为没有什么技术含量,所以忽视它的存在(就不发表出来)。这篇文章是将实现好的基于platform模型的字符设备驱动简化成一个可用的模板。如要实现字符设备,可直接套用此模板。
我的内核学习笔记2:platform设备模型
说实话,我做这个例子之前,我对linux的platform设备、platform驱动了解不多,只知道有这些东西,但没概念。上网搜索了一些资料,并下了点功夫跟踪了内核源代码,虽然不能说吃透了原理,但也不至于像以前那样一无所知。这篇文章主要是说一下一个简单的驱动例子。为了明确层次,不把所有代码都放到一个文件中,这个例子中,分别有设备文件simplechar_dev.c,驱动文件simplechar_drv.c以及共用的头文件simplechar.h。为了避免例子十分的简单,额外添加了些结构体,也在代码 中对这些结构体做了测试。总之,可以认为这是一个platform的模板吧。
我的内核学习笔记:环境
最近一篇写的关于linux内核的文章是2年前,这次因为某些原因,不得不再接触内核。2年过去了,激情不再,看着满是灰尘的2440开发板,不禁感慨当年奋斗的时光。再次接触内核,发现自己竟然也是移植过内核的人,正如在部门推广git的时候,发现自己原来也是使用过git的人。曾经学习的东西,冥冥中却遇上了。我期望有一天,有一天能对同窗说:我在大学学的杂七杂八的东西,可以在我的工作中使用到!这次学习,纯粹是不得已而为之,深入想一想,除了事情本身外,自己还是能学到东西的。作为日后的一个资本,也是不错了。