Linux QT开发随笔


接触Linux已经有一两年时间了,但是一直没有很充裕的时间去总结一下Linux学习的经历。今天好歹闲下来,希望可以记录一些东西以便日后温习。其实学习嵌入式已经5年了,一步一步走过来,最终发现最重要的学习方法还是懂得积累,好多东西总是觉得自己看过能记住,但事实无数次的证明这种想法是错误的,都是因为懒惰情绪的存在阻碍了我自己的前进。话不多说,还是谈谈我的Linux入门过程吧。

最开始实验室拿到一个国家863的项目,经过初步讨论决定选择ARM9处理器做,然后重任就落到了我的头上,我早就知道,实验室只要有新的东西,那必然会让我去开辟这片土地,然后实验室后来人都能学到一些基础,没办法,也许我天生就具有探索新知识的潜能吧。调查了一下去年ARM9的主要开发产品,发现用S3C2440的居多,而且网上资料较多,开发板也比较丰富,最后选择了口碑还不错的友善之壁,主要是考虑到他们的资料比较全,容易上手。

拿到板子后比较兴奋,只花了2天时间基本就按照手册将简单的测试走了一遍,不过都是裸机程序,跟以前做的ARM7和单片机没啥区别,其实我认为嵌入式的处理器只要你时刻的了解一款,其他的处理器无非就个别地方有些特点,资源、开发方式这些都大同小异。而关于Linux系统的学习一直没有进入实际阶段,我这个人有个习惯,一个新的东西拿到手,我喜欢首先将它所有的功能、开发工具、各类接口、平台之类的了解一遍,虽然我可能完全看不懂别人写的东西,但是我也会坚持看,看到我认为基本上把整体构建摸透了才开始自己动手去做第一个实例。看资料大概看了一周,包括所有的环境配置,开发工具选择、优劣、驱动如何开发、应用程序等等,好多地方看不懂,但是没有关系,有了整体的认识之后,再进行第一个例子,你会发现很简单,当然很可能会遇到问题,有的问题很头疼,特别是在Linux下,动不动编出一堆错误,看着就有要放弃的念头,总是希望有个高人能给自己一些指导,但高人毕竟少之又少,况且出现在自己周围的可能性则更低,大部分的问题只能通过网络解决,一般我遇到这些问题,第一反应是上网搜索,大多数情况下你会发现你的问题很多人都有遇到,有耐心的将只要相关的帖子都看一遍,问题基本就能解决了,就算不能解决,看了部分高人对问题的分析之后,你就会积累很多相关的知识,也许这次没用,但将来一定会有用的。如果在网上搜索都不能发现你的问题的话,则只能自己搞定了,通过和稍微懂一些的人交谈,也许你会发现很多问题的可能,我就会经常和别人聊着聊着,突发其想,解决了很多奇怪的问题。很多时候,并不是希望别人帮我解决问题,而是在不经意间改变我的某些固有思维。

几天之后,将内核配置、编译、驱动、简单应用程序实验等都过了一遍之后,就可以考虑学习一些Linux的图像界面编程了,选择QT是因为我觉得QT很灵活,用我自己的话说就是Linux下的QT就是Windows下的VC6,只不过后者更为人性化而已,前者则大多需要再命令行下面完成指定的功能,不过QT里面丰富的类的确为我们的开发节省了许多时间。

一切的开发过程都是入门容易,想深入则难,每拿到一个新的开发板,基本上2、3天就可以搞定其基本原理和例子,但是只有真正到了实际应用的时候你才会发现其实每一个小的方面都藏这许多许多的深奥知识。现在自己总结了一下,就是我在各个方面都有涉猎,但是真正谈得上精通的则几乎没有。每次都是为了项目进度,对一个处理器或者开发平台一知半解,不能解决的问题大都采用绕过的方式,其实这并利于个人的长期进步,希望以后能有机会好好将以前做过的东西整理一下,把一些没有想明白的问题好好分析分析,这个过程中其实自己也能得到更多的知识。

第一次写这么长的随笔,写得很烂,希望以后可以有进步吧,我想每个人走出这一步都很不容易,呵呵。接下来我会将我这几年完成了的所有项目全部通过随笔写出来,希望自己能留下点回忆吧。

相关内容