Wednesday, October 20, 2010
嵌入式Linux学习思路及参考资料(ARM+LINUX路线)
ARM+LINUX学习路线
ARM+LINUX学习路线
http://wenku.baidu.com/view/5653742ded630b1c59eeb5bc.html
作者: lmw0417 时间: 2010-05-28 00:18:00
ARM+LINUX路线,主攻嵌入式Linux操作系统及其上应用软件开发目标:
(1)掌握主流嵌入式微处理器的结构与原理(初步定为arm9)
(2)必须掌握一个嵌入式操作系统
(初步定为uclinux或linux,版本待定)
(3)必须熟悉嵌入式软件开发流程并至少做一个嵌入式软件项目。
从事嵌入式软件开发的好处是:
(1)目前国内外这方面的人都很稀缺。这一领域入门门槛较高,所以非专业IT人员很难切入这一领域;另一方面,是因为这一领域较新,目前发展太快,大多数人无条件接触。
(2)与企业计算等应用软件不同,嵌入式领域人才的工作强度通常低一些(但收入不低)。
(3)哪天若想创业,搞自已的产品,嵌入式不像应用软件那样容易被盗版。硬件设计一般都是请其它公司给订做(这叫"贴牌":OEM),都是通用的硬件,我们只管设计软件就变成自己的产品了。
(4)兴趣所在,这是最主要的。
从事嵌入式软件开发的缺点是:
(1)入门起点较高,所用到的技术往往都有一定难度,若软硬件基础不好,特别是操作系统级软件功底不深,则可能不适于此行。
(2)这方面的企业数量要远少于企业计算类企业。
(3)有少数公司经常要硕士以上的人搞嵌入式,主要是基于嵌入式的难度。但大多数公司也并无此要求,只要有经验即可。
(4)平台依托强,换平台比较辛苦。
兴趣的由来:
1、成功观念不同,不虚度此生,就是我的成功。
2、喜欢思考,挑战逻辑思维。
3、喜欢C
C是一种能发挥思维极限的语言。关于C的精神的一些方面可以被概述成短句如下:
相信程序员。
不要阻止程序员做那些需要去做的。
保持语言短小精干。
一种方法做一个操作。
使得它运行的够快,尽管它并不能保证将是可移植的。
4、喜欢底层开发,讨厌vb类开发工具(并不是说vb不好)。
5、发展前景好,适合创业,不想自己要死了的时候还是一个工程师。
方法步骤:
1、基础知识:
目的:能看懂硬件工作原理,但重点在嵌入式软件,特别是操作系统级软件,那将是我的优势。
科目:数字电路、计算机组成原理、嵌入式微处理器结构。
汇编语言、C/C++、编译原理、离散数学。
数据结构和算法、操作系统、软件工程、网络、数据库。
方法:虽科目众多,但都是较简单的基础,且大部分已掌握。不一定全学,可根据需要选修。
主攻书籍:the c++ programming language(一直没时间读)、数据结构-C2。
2、学习linux:
目的:深入掌握linux系统。
方法:使用linux—〉linxu系统编程开发—〉驱动开发和分析linux内核。先看深,那主讲原理。看几遍后,看情景分析,对照深看,两本交叉,深是纲,情是目。剖析则是0.11版,适合学习。最后深入代码。
主攻书籍:linux内核完全剖析、unix环境高级编程、深入理解linux内核、情景分析和源代。
3、学习嵌入式linux:
目的:掌握嵌入式处理器其及系统。
方法:(1)嵌入式微处理器结构与应用:直接arm原理及汇编即可,不要重复x86。
(2)嵌入式操作系统类:ucOS/II简单,开源,可供入门。而后深入研究uClinux。
(3)必须有块开发板(arm9以上),有条件可参加培训(进步快,能认识些朋友)。
主攻书籍:毛德操的《嵌入式系统》及其他arm9手册与arm汇编指令等。
4、深入学习:
A、数字图像压缩技术:主要是应掌握MPEG、mp3等编解码算法和技术。
B、通信协议及编程技术:TCP/IP协议、802.11,Bluetooth,GPRS、GSM、CDMA等。
C、网络与信息安全技术:如加密技术,数字证书CA等。
D、DSP技术:Digital Signal Process,DSP处理器通过硬件实现数字信号处理算法。
说明:太多细节未说明,可根据实际情况调整。重点在于1、3,不必完全按照顺序作。对于学习c++,理由是c++不只是一种语言,一种工具,她还是一 种艺术,一种文化,一种哲学理念、但不是拿来炫耀得东西。对于linux内核,学习编程,读一些优秀代码也是有必要的。
注意: 要学会举一反多,有强大的基础,很多东西简单看看就能会。想成为合格的程序员,前提是必须熟练至少一种编程语言,并具有良好的逻辑思维。一定要理论结合实践。
不要一味钻研技术,虽然挤出时间是很难做到的,但还是要留点余地去完善其他的爱好,比如宇宙,素描、机械、管理,心理学、游戏、科幻电影。还有一些不愿意做但必须要做的!
技术是通过编程编程在编程编出来的。永远不要梦想一步登天,不要做浮躁的人,不要觉得路途漫上。而是要编程编程在编程,完了在编程,在编程!等机会来了在创业(不要相信有奇迹发生,盲目创业很难成功,即便成功了发展空间也不一定很大)。
嵌入式书籍推荐
Linux基础
1、《Linux与Unix Shell 编程指南》
C语言基础
1、《C Primer Plus,5th Edition》【美】Stephen Prata着
2、《The C Programming Language, 2nd Edition》【美】Brian W. Kernighan David M. Rithie(K & R)着
3、《Advanced Programming in the UNIX Environment,2nd Edition》(APUE)
4、《嵌入式Linux应用程序开发详解》
Linux内核
1、《深入理解Linux内核》(第三版)
2、《Linux内核源代码情景分析》毛德操 胡希明著
研发方向
1、《UNIX Network Programming》(UNP)
2、《TCP/IP详解》
3、《Linux内核编程》
4、《Linux设备驱动开发》(LDD)
5、《Linux高级程序设计》杨宗德著
硬件基础
1、《ARM体系结构与编程》杜春雷着
2、S3C2410 Datasheet
英语基础
1、《计算机与通信专业英语》
系统教程
1、《嵌入式系统――体系结构、编程与设计》
2、《嵌入式系统――采用公开源代码和StrongARM/Xscale处理器》毛德操 胡希明着
3、《Building Embedded Linux Systems》
4、《嵌入式ARM系统原理与实例开发》杨宗德著
理论基础
1、《算法导论》
2、《数据结构(C语言版)》
3、《计算机组织与体系结构?性能分析》
4、《深入理解计算机系统》【美】Randal E. Bryant David O''Hallaron着
5、《操作系统:精髓与设计原理》
6、《编译原理》
7、《数据通信与计算机网络》
8、《数据压缩原理与应用》
C语言书籍推荐
1. The C programming language 《C程序设计语言》
2. Pointers on C 《C和指针》
3. C traps and pitfalls 《C陷阱与缺陷》
4. Expert C Lanuage 《专家C编程》
5. Writing Clean Code -----Microsoft Techiniques for Developing Bug-free C Programs
《编程精粹--Microsoft 编写优质无错C程序秘诀》
6. Programming Embedded Systems in C and C++ 《嵌入式系统编程》
7.《C语言嵌入式系统编程修炼》
8.《高质量C++/C编程指南》林锐
尽可能多的编码,要学好C,不能只注重C本身。算法,架构方式等都很重
Tuesday, October 19, 2010
Open Virtual Platforms
Open Virtual Platforms - an dev kit of emulator, tool chains, examples for multi chips
ARM, MIPS, OpenCore ...
http://www.ovpworld.org
Monday, October 18, 2010
Qemu in cross building from Kobayashi
I found a good slide to explain compile software with user-mode QEMU.
It's about 10 times faster than system-mode virtual machine,
supporting all the features for 'configure' and 'make'.
http://www.slideshare.net/tetsu.koba/qemu-in-cross-building
The author have blog and company homepage.(Japanese)
http://d.hatena.ne.jp/embedded/
http://blog.kmckk.com/
Sunday, October 17, 2010
Skype and Facebook: Shoestring Communications Hub
Skype and Facebook: Shoestring Communications Hub
With the launch of Skype 5.0 this week, the PC-based voice over IP (VoIP) and messaging service is now integrated with the Facebook social network. While neither Skype nor Facebook are typically considered business platforms, the combination of the two offer many of the benefits and features of unified communications on a budget that small and medium businesses can appreciate: free.
Skype alone provides most of those elements. Skype established itself as a leading provider of online VoIP communications, and has subsequently also become one of the most widely used video chat services. Cable news networks like CNN frequently use Skype video as a means of conducting remote interviews without having to send a camera crew onsite. With Skype 5.0, group video chats can now be conducted between up to ten parties--expanding the capabilities of Skype as a teleconferencing platform.First, let's define unified communications (UC). Admittedly, that is easier said than done. UC is more of a concept than a specific technology. UC is somewhat subjective and can involve combining whichever elements of communications and productivity suit the needs of the organization. For the sake of simplicity, though, let's assume that UC involves melding voice communications, video conferencing, instant messaging, and e-mail.
Skype also has instant messaging capabilities, but the value of an instant messaging service is directly related to your number of contacts that are available on it, and Skype has never been a leading platform in that regard. Facebook, on the other hand, has more than half a billion members and has surpassed Google as the online destination that users spend the most time with. Essentially, if there is a contact you want to instant message with, odds are good that contact has a Facebook account, and there is a relatively high chance the contact is on Facebook right now.
Neither Skype nor Facebook offers e-mail. However, Facebook does provide a messaging feature which can be used to send messages between individual contacts, or to groups of contacts. The downside, though, is that Facebook messaging relies on the recipient either being on Facebook to see that a message has arrived, or on an e-mail notification being distributed to a third-party e-mail account outside of Facebook or Skype.
Small and medium businesses can take advantage of the alliance between Skype and Facebook, as well as the alliance between Facebook and Microsoft, to leverage Facebook as a communications hub that approximates the features and functions of much more expensive unified communications solutions like those offered by Microsoft and Cisco.
From within Skype, users can view their entire Facebook social network as a phone book, and initiate an SMS text message or VoIP call with a click of the mouse. Video chat, or group video conferencing can be used for client presentations and team meetings with remote parties. Docs.com from Microsoft provides a platform for creating and sharing Microsoft Office documents. All that's really missing is e-mail, and there are plenty of free Web-based solutions available to fill that gap.
For organizations willing to invest a little money, Skype and Facebook can deliver a more comprehensive UC experience. For a fee, Skype can provide the ability to dial in from any phone and place calls through the Skype service, or an actual phone number that anyone can use to contact you even without Skype, or a voicemail box that answers incoming Skype calls even when Skype is offline.
It may not be a perfect unified communications solution, but the Skype-Facebook alliance delivers many of the essential elements and for small and medium businesses without a budget, the price can't be beat.
Social networking and unified communications - a match made in heaven or just good friends?
Social networking and unified communications - a match made in heaven or just good friends?
communications' conjures up many meanings, but is most often used by those with software or network assets to sell. Whether it is routers, switches, hubs, directories, phones or high definition video conferencing equipment, the thrust is often the same—we have the hardware to remove complexity from your network and software to unify those different modes of communication that your users 'enjoy'. Basically it's the IP dividend of voice over IP (VoIP) mixed with video over IP plus anything else over IP with a bit of contextual status thrown in via 'presence'.
Sounds good to those managing a complex mix of networks, or those paying for separate forms of connection when they can see what looks like a great big free (or perceived to be free) fat internet pipe that will take all IP traffic. Unify the packets over IP and you've unified communications, right?
The problems come when trying to see how users fit into the deal and it does not always end in a fully cross functional, matrix managed, dispersed workforce collaborating all the way across the extended enterprise. The technology is fine, the commercial aspect works, but the social side just does not deliver, because it depends on acceptance, initiative and commitment from the workforce, and generating that takes more work than installing a CD or network appliance.
So how about taking a different approach?
There is much talk about the influx of consumer technology into the workplace, and an interesting area to look at here is social networking. However this time it is not about the use of social networking tools to connect with customers, reinvigorate marketing budgets or make the business look cool. Nor is it about the fears of employees spending so much of their time glued to their social networks that they forget to work, or how to interact with real people; although these issues do merit some attention from organisations.
An aspect of social networking that might catalyse and support the broader adoption of unified communications is the current trend towards 'social dashboards'. These are coming about partly in recognition that most people like and use a multiplicity of social communications tools—YouTube, Facebook, Twitter, LinkedIn, instant messaging, email etc—to hook up with their friends and contacts, yet would like to avoid the complexity of using these as separate applications. A single live 'portal' embracing the other tools would be ideal, but who would be the master site/supplier?
It may be too early to narrow down as there have been false dawns and social networking failures, but current players are positioning themselves as 'accommodating' as the market evolves. Recent innovations and updates from Microsoft around Live Essentials and the new look Twitter are examples of the trend towards this.
So what is a 'social dashboard' and what are the characteristics that have merit for consumers, which might turn out to be a valuable in a business context? There are several recurring themes:
- Feeds – these are live updates, tickers, messages, blogged and tweeted lifestreams or even streaming audio and videos. Ever present, constantly updated without the need for the recipient to make requests.
- Finds – uploaded responses or comment using scraps of information, interesting webpages, uploaded photos and videos can be simply and easily fed in and propagated to all contacts, 'inline' and without the need to open new windows or be diverted by separate applications.
- Feedback – instant opinion and comment on feeds and finds from all those in the network, a loose collaboration, trending and sometimes herd-like behaviour in the crowd. Voting and recommendation engines might seem too democratic for business decisions that need top down command and control, but with suitable moderation there may be wisdom in the crowd.
- Filters – the key to making sense of a cacophony of information. Filtering by areas of interest, favouritism dependant on the contact type (e.g. messages from the boss, or the activities of a key customer), current activities or status (do not disturb, busy working, on holiday so friends only etc). Organisations may also be able to push down centralised policies to provide automated filtering and implement security measures to block malware, filter inappropriate content and mitigate risky behaviour or data leakage, as well as permit more personal policies to improve productivity by adapting to ensure information is relevant to the context of the place, time and person.
Finally there is also the underlying ability to grow the network by finding contacts, or suggesting potential friends. When applied with business intelligence, this mechanism of seeking out the right person to contact would be extremely useful in many organisations where the traditional 'org charts' are always out of date or the sheer volume of external relationships make the divisions of 'employee' and 'contractor' meaningless.
Buddy lists and presence directories are already part of many unified communications solutions, but they could go a lot further to envelop the groups, commonalities and relationships that people really build their personal communications networks on. Simply having a directory with phone number, contact details and current status or presence is not enough, and the social network element provides some provenance, knowledge of, or social value of the contact. Social networks have meaning attached to the link as well as the point of the connection.
Many unified communications vendors have overly focused on the networking technology and forgotten the key part of communications; it is about people. Perhaps they could learn something relevant for businesses from social and consumer oriented tools?
Reader Comments
Do you agree with what Rob Bamforth is saying? Perhaps you feel, or even know, different? Why not post your opinion on this issue?
日本国内のユニファイドコミュニケーション(UC)市場トレンドと対策
2009年日本国内のユニファイドコミュニケーション(UC)市場の調査はIDCが発表した。2014年までのトレンドの予測も発表した。しかし、どのような手を打つのは難しい。
下記はIDC発表の抜粋:
「http://japan.zdnet.com/news/nw/story/0,2000056190,20411643,00.htm
2009年の国内UC市場は景気低迷の影響を受け、エンドユーザー価格ベースで前年比1.5%減の1905億6400万円になったものの、2009〜2014年の年間平均成長率(CAGR)4.5%で推移し、2014年の市場規模は2369億2500万円に達すると予測している。
同社は国内UC市場について2007年から調査を継続している。今回の調査ではUC市場を、IP-PBXや企業向けVoIPサービスなどを含む「UCプラットフォーム市場」、ユニファイドメッセージングやIP会議システムなどを含む「UCアプリケーション市場」、SIサービスなどを含む「UCプロフェッショナルサービス市場」に加え、ASP型サービスを含む「UCアプリケーションサービス市場」を対象市場とし、市場規模予測を行ったという。
また、市場規模予測では「IPテレフォニー市場」「企業向けVoIPサービス市場」「ユニファイドメッセージング/プレゼンス管理市場」「IP会議システム/テレプレゼンス市場」「IPコンタクトセンター市場」という5つに分類し、それぞれのUCソリューション市場についても個別に市場予測を行ったとしている。
2009年の国内UC市場規模は、経済状況の低迷に伴う企業のICT設備投資動向は国内UC市場にも大きく影響し、特にIPテレフォニー市場ではその影響が大きく、前年比10.7%の大幅な減少となったという。一方、UCアプリケーション市場では、IP会議システムやIPコンタクトセンターシステムが堅調な成長を遂げ、特にASP型サービスが高い成長率を維持し、国内UC市場の下支えとなったとしている。
同社は、国内UC市場がUCアプリケーション市場/UCアプリケーションサービス市場に牽引される傾向が中期的に継続すると予測。ソリューション別では、企業向けVoIPサービス市場、IP会議システム/テレプレゼンス市場、IPコンタクトセンター市場が高い成長率を維持するとみている。
IDC Japan コミュニケーションズ リサーチマネージャーの眞鍋敬氏は今後の成長のキーポイントとして「国内UC市場が今後も成長を維持するためには、ユーザー企業はUCにより利用方法をシンプルにした通信プラットフォームの活用推進を、ベンダーはICT投資の新しい基準に対応した販売戦略とクラウド型UCサービスへの準備を進めるべき」と分析している。」