找回密码
 注册
关于网站域名变更的通知
查看: 334|回复: 1
打印 上一主题 下一主题

嵌入式linux入门学习规划

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2021-10-6 14:15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

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

x
% Q  ^5 j& f4 a8 ?0 h" M
ARM+LINUX路线,主攻嵌入式Linux操作系统及其上应用软件开发目标: 0 A+ K8 Y1 p8 J/ C) l
(1) 掌握主流嵌入式微处理器的结构与原理(初步定为arm9)
# V, x) C) I) Z; U% b1 ^/ t(2) 必须掌握一个嵌入式操作系统 (初步定为uclinux或linux,版本待定)
% a! @: _) {: ?- Y: s(3) 必须熟悉嵌入式软件开发流程并至少做一个嵌入式软件项目。
" ^1 L$ G9 F% X5 y$ p从事嵌入式软件开发的好处是:
( s- C+ J+ O% n(1)目前国内外这方面的人都很稀缺。这一领域入门门槛较高,所以非专业IT人员很难切入这一领域;另一方面,是因为这一领域较新,目前发展太快,大多数人无条件接触。 4 x' e) e: r) k+ g7 ~" e4 o
(2)与企业计算等应用软件不同,嵌入式领域人才的工作强度通常低一些(但收入不低)。
: [! L6 r5 O  |% F4 [! k- @8 R: P(3)哪天若想创业,搞自已的产品,嵌入式不像应用软件那样容易被盗版。硬件设计一般都是请其它公司给订做(这叫“贴牌”:OEM),都是通用的硬件,我们只管设计软件就变成自己的产品了。
1 x& s& |. k# \8 J5 U5 A(4)兴趣所在,这是最主要的。
: m& x4 c; ?* g, l6 N0 l  h从事嵌入式软件开发的缺点是: " D( b2 l' N: Q& f
(1)入门起点较高,所用到的技术往往都有一定难度,若软硬件基础不好,特别是操作系统级软件功底不深,则可能不适于此行。 # `7 K7 T. u3 L6 a) w, U% `# J# {
(2)这方面的企业数量要远少于企业计算类企业。
; H7 u+ H# R- X" x/ ^( j(3)有少数公司经常要硕士以上的人搞嵌入式,主要是基于嵌入式的难度。但大多数公司也并无此要求,只要有经验即可。 0 H% [; a0 n6 p, [
(4)平台依托强,换平台比较辛苦。
7 q/ j/ r% i8 x* p0 R兴趣的由来: , _( ~: R" N9 M9 S* h3 `% H. ~: e) ~
1、成功观念不同,不虚度此生,就是我的成功。
* \* r0 g$ \0 X% R3 U+ c6 P2 R2、喜欢思考,挑战逻辑思维。 ; K6 C! i9 Q$ r. {) k! {# G
3、喜欢C
/ Q+ _; U8 @2 J3 LC是一种能发挥思维极限的语言。关于C的精神的一些方面可以被概述成短句如下: 2 @% z9 ]& v! o0 u
相信程序员。 7 k* ~- d4 s' s. D
不要阻止程序员做那些需要去做的。
* }6 G- p8 E7 b0 }% ?1 q保持语言短小精干。
7 V- {% C) n- Z! c8 ^3 a一种方法做一个操作。
/ Y( V+ G! C  _1 L  J( u使得它运行的够快,尽管它并不能保证将是可移植的。
" _  Q. _7 i6 e( \4、喜欢底层开发,讨厌vb类开发工具(并不是说vb不好)。
0 |" K8 \) _0 x7 W* o5、发展前景好,适合创业,不想自己要死了的时候还是一个工程师。
4 E2 g1 b8 [, u- r' f方法步骤:
3 B. P' X) j0 i1、基础知识: 1 s. k- G. ?, y5 F
目的:能看懂硬件工作原理,但重点在嵌入式软件,特别是操作系统级软件,那将是我的优势。
: P, y, ?% D+ U, F科目:数字电路、计算机组成原理、嵌入式微处理器结构。
  H5 @. i2 c7 L5 S/ s汇编语言、C/C++、编译原理、离散数学。 " j% o% r2 J+ {# K
数据结构和算法、操作系统、软件工程、网络、数据库。
3 u; u0 }( q) p1 [+ T9 _8 }: r& C方法:虽科目众多,但都是较简单的基础,且大部分已掌握。不一定全学,可根据需要选修。 - T; \# ], h& J- @5 u) ^7 q$ o5 A9 P
主攻书籍:the c++ programming language(一直没时间读)、数据结构-C2。
! p' {) O) n4 y; W+ l3 l2、学习linux: 2 f" K& t0 d, Y( C4 y2 X# K& @' l
目的:深入掌握linux系统。 , N+ i; [& ]6 k0 x$ g1 F# Y4 C
   方法:使用linux—〉linxu系统编程开发—〉驱动开发和分析linux内核。先看深,那主讲原理。看几遍后,看情景分析,对照深看,两本交叉,深是纲,情是目。剖析则是0.11版,适合学习。最后深入代码。
0 w0 ?) M. @7 Q9 \  J( G" r主攻书籍:linux内核完全剖析、unix环境高级编程、深入理解linux内核、情景分析和源代。
7 ~) }' M) \& S; E/ p, U+ w: [1 N2 h3、学习嵌入式linux: & `4 D" N+ V! k/ e( e
目的:掌握嵌入式处理器其及系统。
7 v. k- U) [* z  @7 z  g! g方法:(1)嵌入式微处理器结构与应用:直接arm原理及汇编即可,不要重复x86。
2 Q* O$ |9 C& n0 B. H: [   (2)嵌入式操作系统类:ucOS/II简单,开源,可供入门。而后深入研究uClinux。 , Z- r* b( w  L# L, N( b* w
   (3)必须有块开发板(arm9以上),有条件可参加培训(进步快,能认识些朋友)。 : ~: a: P+ T7 K+ C6 A7 H) o
   主攻书籍:毛德操的《嵌入式系统》及其他arm9手册与arm汇编指令等。 4 P7 d& w3 c! H  k# [
4、深入学习:
% ?; u2 I3 l$ |4 @5 z8 L+ z   A、数字图像压缩技术:主要是应掌握MPEG、mp3等编解码算法和技术。
: E# u' J$ S. J& Q( K" Q# C   B、通信协议及编程技术:TCP/IP协议、802.11,Bluetooth,GPRS、GSM、CDMA等。
7 N; J. [/ I8 T) Q3 [7 a" E. r7 t   C、网络与信息安全技术:如加密技术,数字证书CA等。
) {; i' ^: |& C5 _- D0 J   D、DSP技术:Digital Signal Process,DSP处理器通过硬件实现数字信号处理算法。
6 n7 `! J* A9 R% Q$ j) x$ m    说明:太多细节未说明,可根据实际情况调整。重点在于1、3,不必完全按照顺序作。对于学习c++,理由是c++不只是一种语言,一种工具,她还是一 种艺术,一种文化,一种哲学理念、但不是拿来炫耀得东西。对于linux内核,学习编程,读一些优秀代码也是有必要的。 5 a4 V0 {8 X6 C
   注意: 要学会举一反多,有强大的基础,很多东西简单看看就能会。想成为合格的程序员,前提是必须熟练至少一种编程语言,并具有良好的逻辑思维。一定要理论结合实践。
" r' y; ^) s  L8 W9 J6 T   不要一味钻研技术,虽然挤出时间是很难做到的,但还是要留点余地去完善其他的爱好,比如宇宙,素描、机械、管理,心理学、游戏、科幻电影。还有一些不愿意做但必须要做的! : W- N1 L, n$ r# V. ^
   技术是通过编程编程在编程编出来的。永远不要梦想一步登天,不要做浮躁的人,不要觉得路途漫上。而是要编程编程在编程,完了在编程,在编程!等机会来了在创业(不要相信有奇迹发生,盲目创业很难成功,即便成功了发展空间也不一定很大)。
: @$ c# ~$ i+ A7 J: c+ _; D嵌入式书籍推荐 2 g" f; k2 Q5 u1 [* v! F9 M
   Linux基础
, ^* i( S! Y4 H, e1 _1 R: L" l' x   1、《Linux与Unix Shell 编程指南》 : v$ h/ x6 n& O: j9 S! F% |9 y
   C语言基础
4 a; u5 s( @; S1 D   1、《C Primer Plus,5th Edition》【美】Stephen Prata着
2 [3 u) A$ L+ V; s% K   2、《The C Programming Language, 2nd Edition》【美】Brian W. Kernighan David M. Rithie(K & R)着
% C0 _+ v" d1 I; H, k; a# B   3、《Advanced Programming in the UNIX Environment,2nd Edition》(APUE) 0 r8 ^& O7 F+ `  ?/ e
   4、《嵌入式Linux应用程序开发详解》
* A' W* W: F( q' C( i4 b   Linux内核 & e1 |8 m9 n; J5 \
   1、《深入理解Linux内核》(第三版)
" [' L8 i9 @6 x' Q/ X   2、《Linux内核源代码情景分析》毛德操 胡希明著 3 `8 Z  R6 T2 j, ?/ p! a$ ]
   研发方向
" u) J$ Q1 Z) T# O/ k, \, V   1、《UNIX Network Programming》(UNP) . x, v! ~% F9 t- |8 B: d! d% ~
   2、《TCP/IP详解》
" Y" {5 t6 V( A# Y. r' F" n. g. p6 R   3、《Linux内核编程》
  L6 D7 Q5 S* l+ h% ]" `   4、《Linux设备驱动开发》(LDD) 
3 A$ X) y5 T: ^- D' V. w   5、《Linux高级程序设计》 杨宗德著% |  o6 i8 a6 v" Y6 i: t
   硬件基础 " C8 M  T  ^3 x8 X- H6 ?8 ?
   1、《ARM体系结构与编程》杜春雷着 5 Y2 C6 d6 {5 S* R7 i8 `4 }: e
   2、S3C2410 Datasheet 4 n' [( d. m7 a
   英语基础
0 w9 p2 m$ u4 ^% l/ x. W   1、《计算机与通信专业英语》
- \  a4 r& ~* }( h7 j* S0 [   系统教程 + P! K' r/ s$ `, l/ D+ d! p
   1、《嵌入式系统――体系结构、编程与设计》
* a* w  e) i. O' h   2、《嵌入式系统――采用公开源代码和StrongARM/Xscale处理器》毛德操 胡希明着
* a. q+ c9 N: n) i/ j1 w( j   3、《Building Embedded Linux Systems》   
( M. n4 N# y; o/ j* p1 h   4、《嵌入式ARM系统原理与实例开发》 杨宗德著" e) Q' N9 s; u! ~  d4 r6 {- x) j
   理论基础 0 q  i( J# c9 p$ ^
   1、《算法导论》
0 {  i$ \* \# ]; q; l2 ]; |   2、《数据结构(C语言版)》 / r4 K. `# `% Y6 W3 o4 ?" u
   3、《计算机组织与体系结构?性能分析》
7 V$ m" q5 O$ q' x5 E3 @2 Q6 K2 z4 H   4、《深入理解计算机系统》【美】Randal E. Bryant David O''Hallaron着
& v2 I: S' o5 g: H- t   5、《操作系统:精髓与设计原理》
; b" h- P5 J4 D' x4 x   6、《编译原理》   S- v# |/ Q9 x7 t4 P
   7、《数据通信与计算机网络》
9 d0 t1 t6 Q0 D9 J   8、《数据压缩原理与应用》
2 ~, z! T6 C" n8 _   C语言书籍推荐
+ L/ a+ q. u: b% A   1. The C programming language 《C程序设计语言》
" j! X( z4 m4 ?& U& D5 y* D- {   2. Pointers on C 《C和指针》
, n9 H+ L3 P9 Z; D   3. C traps and pitfalls 《C陷阱与缺陷》 . f. U5 N/ ?2 E6 C9 \2 R
   4. Expert C Lanuage 《专家C编程》
3 z6 a  E" S/ g% ]4 h  S   5. Writing Clean Code -----Microsoft Techiniques for Developing Bug-free C Programs
2 E0 F: N! u/ m5 D8 r! f/ F   《编程精粹--Microsoft 编写优质无错C程序秘诀》
0 C5 r8 c- q. S8 Q: T   6. Programming Embedded Systems in C and C++ 《嵌入式系统编程》 7 q# @! `/ B& K  {
   7.《C语言嵌入式系统编程修炼》 + T7 \6 Z6 W! X# X: w; o. y
   8.《高质量C++/C编程指南》林锐 & r% o& ]' p5 E" [* X
   尽可能多的编码,要学好C,不能只注重C本身。算法,架构方式等都很重要。+ Q" i# e) \; B. g
, ^; x( _4 y; \7 `; a. F. s' `( y
6 l4 ~- Z7 |* e) @
  • TA的每日心情
    开心
    2023-5-15 15:14
  • 签到天数: 1 天

    [LV.1]初来乍到

    2#
    发表于 2021-10-6 20:30 | 只看该作者
    学习ARM,最重要的是需学习Linux
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

    推荐内容上一条 /1 下一条

    EDA365公众号

    关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

    GMT+8, 2025-10-6 11:17 , Processed in 0.140625 second(s), 23 queries , Gzip On.

    深圳市墨知创新科技有限公司

    地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

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