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

ARM初学者学习ARM的步骤

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
8 v+ Z( m, F- h/ t4 S9 T
很多人学完单片机就想学ARM,但不知如何去学~现在列出一下学习这方面的步骤-----基于linux系统的学习步骤如下:(一步步来哦:' U% K9 i* F, |4 N# |2 U
其实这也只是个基础,以后实际做项目了还要去学很多
3 t, _6 m7 h/ m: n* w
( `/ z# {& B' Y/ t9 v5 c; Z/ ~1、Linux 基础
) |2 F, a5 ]: O$ i- d% ~
7 t: w. K) e8 S; C" p& _6 R+ {安装Linux操作系统   P8 Q1 {8 M) F+ Q' x" B: S# T
Linux文件系统
3 I. \* W9 b5 J8 v# ZLinux常用命令 . |# `5 w) x8 p9 |
Linux启动过程详解 / X* x' H  d+ ]1 b. C, `3 @
熟悉Linux服务 能够独立安装Linux操作系统 $ o. f9 |# B. L0 n# N) ^* r, ]3 Z; H
能够熟练使用Linux系统的基本命令 ; c2 D9 g8 w: c" W7 V# ^4 i
认识Linux系统的常用服务 安装Linux操作系统 ! \) w# J; A$ [; ]# N$ }' v2 }6 y- T
Linux基本命令实践
5 Z' b: _  i, |8 g设置Linux环境变量
5 K' N& X' @4 u4 U# l7 \定制Linux的服务 Shell 编程基础使用vi编辑文件
) o& j3 @1 `/ K4 R, r, i; q- q  O使用Emacs编辑文件
! N4 @/ `3 y9 p  O% L. R使用其他编辑器# h! ]) \: E1 {# Q
2、Shell 编程基础+ F2 d. K6 p7 A" p( j
Shell简介
* i& u% i1 E1 K# J认识后台程序% M; m$ ^9 D7 Y# W4 J
Bash编程熟悉Linux系统下的编辑环境 6 _! i( r0 A3 S& Q& ]3 Z
熟悉Linux下的各种Shell 8 q' x: o' x$ {2 J. Q% u6 O* i
熟练进行shell编程熟悉vi基本操作
/ C) i0 e5 N' x熟悉Emacs的基本操作
8 O" H/ }; i# |比较不同shell的区别 ; P& V4 z3 g5 S3 ?4 F8 i2 Y! X) h
编写一个测试服务器是否连通的shell脚本程序
7 V1 o: D% q" v编写一个查看进程是否存在的shell脚本程序 8 \* n9 p7 ~: ?1 }  L4 r& y
编写一个带有循环语句的shell脚本程序0 N) v% ?/ O/ s8 A# Q9 [) g
3、Linux 下的 C 编程基础6 `$ t/ A$ G/ Q) o
linux C语言环境概述
3 \; X$ W! \7 _1 D* p" e$ cGcc使用方法 3 u5 l7 n5 }  k( m) H- ]0 B# z. Y$ i
Gdb调试技术 1 ]6 H$ Q" `) \# t2 P/ {; O% F$ s& A# k
Autoconf 1 }/ r4 _6 ~0 D* ~/ v& W. h5 X  H
Automake
1 s5 i7 U* n# N+ TMakefile
' l" h/ z: B- ^% N+ H) j. F6 P代码优化 熟悉Linux系统下的开发环境
1 x: V1 A7 X! O0 W6 f熟悉Gcc编译器
5 E2 M! n5 }- e% w8 ~7 }: }- j8 b熟悉Makefile规则编写Hello,World程序 3 T6 ~) p4 J7 `- E" S0 s3 X
使用 make命令编译程序 - d8 ~! |" \- a
编写带有一个循环的程序 3 T% M( L' H% k8 j& B5 R& ]! z. R
调试一个有问题的程序
6 p1 |1 Z  H* f2 M* x4、嵌入式系统开发基
2 _2 n) ~5 H8 [' r4 A嵌入式系统概述 7 t$ p8 v! H3 \* R" R2 E# S2 d1 J
交叉编译 + N+ L) W1 b* m  P* {. x
配置TFTP服务0 Q) X6 h0 E* w/ ~6 D9 d: o( z- h
配置NFS服务
8 K7 U+ Z4 N, O* Y: r0 {6 D" t下载Bootloader和内核
. P( S/ n( @2 h嵌入式Linux应用软件开发流程; h& L" I) A' h
熟悉嵌入式系统概念以及开发流程
) x" M$ q" @/ p建立嵌入式系统开发环境制作cross_gcc工具链 ) \8 }: v) u0 Z
编译并下载U-boot
8 T* h0 i& U3 h: U3 y+ W" u' U编译并下载Linux内核 % H% @$ R1 S& N$ I- @
编译并下载Linux应用程序, s+ r4 G* V; e! i1 @# y! a# y
4、嵌入式系统移植% g& x9 \& x5 g! K7 V
Linux内核代码
4 L! x8 ?3 E6 X; S* k# Z% S4 ~平台相关代码分析 / b" W( U, m/ X9 u9 C
ARM平台介绍 & i0 H+ v! H# u0 s1 v% l2 {) \( {
平台移植的关键技术
  ^! [4 D7 ?6 G! ]6 y/ r移植Linux内核到 ARM平台 了解移植的概念 6 g5 h; Z+ v) c' y
能够移植Linux内核移植Linux2.6内核到 ARM9开发板* Y  b: K' t- S1 w' ^
5、嵌入式 Linux 下串口通信5 a3 b2 g$ f9 J& Y$ o. G1 X0 A
串行I/O的基本概念 8 {5 i) H1 e5 Z- _" G
嵌入式Linux应用软件开发流程 # `& u5 }: {  \# e
Linux系统的文件和设备
3 S9 o$ \2 Q* n$ ^3 ^与文件相关的系统调用
0 Z( Z# F8 _1 [3 w/ i0 Q4 ^配置超级终端和MiniCOM 能够熟悉进行串口通信
5 U+ G: l! ^7 m6 T* g. f熟悉文件I/O 编写串口通信程序
2 m: B4 D. {9 e9 ?- @编写多串口通信程序- V# d' ]% X7 W1 e
6、嵌入式系统中多进程程序设计
: p% B* q) X! X! d1 _Linux系统进程概述 0 a8 f; x/ g& k" d
嵌入式系统的进程特点
" m% j1 W& [9 U  L进程操作
1 d. z: v8 g7 g, {" M: O/ L守护进程
7 I1 }$ E  [# q: g6 V, E, H; k- f相关的系统调用了解Linux系统中进程的概念
! a) e" a1 ?! _能够编写多进程程序编写多进程程序
& A) ?. o! |% G7 X( M' p编写一个守护进程程序
* w7 n, {% b. w# x6 T1 H9 esleep系统调用任务管理、同步与通信 Linux任务概述
9 ^0 l: E( {5 \任务调度
! p  l1 R8 V0 E$ @; C; e% a管道 6 _+ t/ a! r# C3 W) n+ m
信号 ! v9 p5 \8 t$ z8 l) ^* S% \/ [
共享内存
, d7 W& w2 _) F. v# N任务管理 API 了解Linux系统任务管理机制
$ U3 R, n, k' m, x7 _7 F: K/ U1 V熟悉进程间通信的几种方式
- h- g* R/ ^0 u$ N4 `8 z9 l+ @熟悉嵌入式Linux中的任务间同步与通信) k2 M2 W7 F$ J+ n7 V
编写一个简单的管道程序实现文件传输 $ k+ a6 u/ O/ U
编写一个使用共享内存的程序
% f, A, B" G7 ?& ?7、嵌入式系统中多线程程序设计' d/ R3 E+ c: |$ X5 r
线程的基础知识
& E& Y  S: s* ^6 @% F8 o多线程编程方法 2 k- i7 H; U. f* ^
线程应用中的同步问题了解线程的概念 ; V; b# @; w; U% W. O) s; l% d
能够编写简单的多线程程序编写一个多线程程序0 C2 h" t  F9 e+ E4 u# A) a! ?
8、嵌入式 Linux 网络编程  i- S4 x* q- z6 Z
网络基础知识 0 @( O7 z' U3 ^' J8 x
嵌入式Linux中TCP/IP网络结构 + `1 n* A) g. o
socket 编程
* G, b; r+ L. L7 W4 I2 a常用 API函数
, f' _- k- ?/ c分析Ping命令的实现 : L* F: m9 q% e
基本UDP套接口编程
  V/ ~5 e/ H9 C! M9 v1 ^6 ?许可证管理 4 Q* [2 _- y6 s& ~7 Y
PPP协议
; O' @1 S' a' h& y# cGPRS 了解嵌入式Linux网络体系结构 1 t/ m8 N/ v0 U' U# m1 m
能够进行嵌入式Linux环境下的socket 编程
! F' r7 m$ {" s3 p3 W' d; G熟悉UDP协议、PPP协议 ( I# r% k+ j/ M% E7 M
熟悉GPRS 使用socket 编写代理服务器
) V$ D7 i: L0 w) {, K7 E使用socket 编写路由器 0 m8 _; `* s/ V. P+ c& ?
编写许可证服务器
6 \$ L1 T$ |9 @  l8 m* }  d$ H8 ~/ q指出TCP和UDP的优缺点 " M& D0 r  v7 ~0 t6 N  a, I* l
编写一个web服务器
1 u) [) Z% |0 L: g编写一个运行在 ARM平台的网络播放器" j! Y+ d0 d3 l  h- w7 o! l* F6 D
9、GUI 程序开发; |, x6 n3 m; y) ^
GUI基础 " r* l) \5 \$ `& g) |- L% a! [
嵌入系统GUI类型
( Y! x% X) c9 U4 e. j编译QT
8 s+ Q' {1 i0 D. V/ @7 j. T& X( a" M* e进行QT开发熟悉嵌入式系统常用的GUI" e( ^: \$ v) C3 O
能够进行QT编程使用QT编写“Hello,World”程序
5 z: [. m& ?$ k6 ^调试一个加入信号/槽的实例
% X! e! ~+ t* ~/ z0 \通过重载QWidget 类方法处理事件+ }+ e# Q4 B( Z6 F. R, s
10、Linux 字符设备驱动程序0 s3 L' W2 O) w/ Q' L
设备驱动程序基础知识 1 [7 `5 Y/ L- R' ~$ Y: A0 q
Linux系统的模块
2 x, j6 b' v% y+ Z- \) r字符设备驱动分析
8 Y' m3 B8 J( L4 ]fs_operation结构 1 a# _, j# Q+ l' n- O6 {
加载驱动程序了解设备驱动程序的概念 $ ?" c; t) l/ G4 D9 u
了解Linux字符设备驱动程序结构 ) N1 o% _  S( _0 r
能够编写字符设备驱动程序编写Skull驱动 . g/ N( t/ G3 A( ?6 u
编写键盘驱动 ' y1 r) R$ N; S+ x+ |
编写I/O驱动 ( _! l" w& b- d
分析一个看门狗驱动程序 " k! W' N% r8 e+ Q3 O# k7 B/ y
对比Linux2.6内核与2.4内核中字符设备驱动的不同4 ~/ q2 h, g, B( y& {9 H2 a" N
Linux 块设备驱动程序块设备驱动程序工作原理
- b) L" t2 Q; o- v6 i典型的块设备驱动程序分析 - \4 |& i/ P% e+ L- W
块设备的读写请求队列了解Linux块设备驱动程序结构
  j* i/ E7 ]  ?  Y能够编写简单的块设备驱动程序比较字符设备与块设备的异同 ) K9 E3 U* R3 n& l: I3 |; j' h# r
编写MMC卡驱动程序 " u, }) I& [8 B; o2 y, T  _# [2 E" Q
分析一个文件系统 0 \7 ?* z8 J. E! b1 D6 w& q
对比Linux2.6内核与2.4内核中块设备驱动的不同
9 z$ p- p! c6 z+ Z0 k' I11、文件系统1 l1 S# u/ y" H+ t- y& Y5 P
虚拟文件系统
$ C) P4 k* f1 ?: c! C4 ^9 ^  @- ?8 [# H$ [文件系统的建立 # D( l) N/ l, N( T2 W$ S
ramfs内存文件系统
2 ]! Y6 `9 n2 W2 y( e. x  Xproc文件系统 ' f( g1 z& X, a
devfs 文件系统 ) T! C3 a+ i2 D  `* h
MTD技术简介 % k. w% K, u  X5 ?! S
MTD块设备初始化 / Q0 V. z* B/ Q' O" b7 f
MTD块设备的读写操作了解Linux系统的文件系统 3 ^. Z7 F2 ^! P+ V3 m5 P, A. f
了解嵌入式Linux的文件系统 ; n2 X8 Z1 h6 {5 u! d  A' L( m
了解MTD技术
, I3 A) X0 s& P- q9 A能够编写简单的文件系统为 ARM9开发板添加 MTD支持
2 Q3 _# C: o) u  R; t1 h移植JFFS2文件系统 5 c# A. [# g2 R/ N: x6 ^- z
通过proc文件系统修改操作系统参数
$ I* s' o1 ]: X2 ^# [+ R, P4 g分析romfs 文件系统源代码
$ T! P$ W) t7 w% A& ^  y# I" ~" |+ }创建一个cramfs 文件系统

该用户从未签到

2#
发表于 2021-5-6 13:20 | 只看该作者
ARM初学者学习ARM的步骤

该用户从未签到

3#
发表于 2021-5-6 15:28 | 只看该作者
虚拟文件系统,文件系统的建立/ H, B+ V7 i( x

该用户从未签到

4#
发表于 2021-5-6 18:28 | 只看该作者
掌握好基础知识
* g0 u2 I+ F: D/ S, F' Q
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-6-24 01:34 , Processed in 0.093750 second(s), 23 queries , Gzip On.

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

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

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