{eval=Array;=+count(Array);}

问答专栏Q & A COLUMN

学嵌入式linux要先学什么?

魏宪会魏宪会 回答0 收藏1
收藏问题

2条回答

whataa

whataa

回答于2022-06-28 11:50

Linux 是一个开源、免费的操作系统,主要应用于服务器(网站服务器、云计算集群、DNS 等)和嵌入式,同时也被很多程序员用作个人操作系统。Linux 使用 GPL 许可证,允许任何人以任何形式传播其源代码。GPL 许可证的内涵很简单:你随意使用我的代码,只要标明这是我的代码就可以了。想学会linux?那么这份嵌入式linux学习路线分享给大家。

1、嵌入式高级C语言

Linux系统

Linux Ubuntu操作系统安装、使用、Linux常用命令、samba服务器、SSH远程登录GCC编译器、GDB调试器、VI编辑器

1、嵌入式C语言高级编程

1、C数据类型、控制语句

2、C程序结构设计、数组、函数、预处理:

3、指针及字符串操作

4、结构体、共用体、宏、枚举

5、文件I/O操作

数据结构及算法

1、数据结构之单向链表、双向链表

2、数据结构之队列、栈

3、数据结构之树、图

4、算法之各种排序(选择法、冒泡法、插入法等)

5、递归

6、算法之二分查找

2、嵌入式设备及GUI开发

嵌入式环境配置与开发工具学习

1、Linux下项目管理工具Make以及Makefile工作原理及其编写

2、Linux下shell脚本相关知识及其编写

3、嵌入式开发环境的基本概念及其搭建

4、A53开发板介绍、设备使用、A53开发板与电脑通信、交叉编译

GUI图形界面开发

1、常用控件——button、label、text edit等

2、常用布局方式——水平布局、垂直布局、固定布局、网格布局、相对布局等

3、常用事件及信号处理技术——信息回调、鼠标、键盘事件等

4、时间编程、数据存储、绘图机制、定时器处理、多任务处理等

3、嵌入式Linux高级程序设计

嵌入式Linux系统编程

1、Linux系统调用概念

2、进程相关概念、多进程实现多任务开发

3、进程间通信:无名管道、命名管道、信号、消息队列、共享内存等

4、多线程实现多任务开发

5、多任务的同步互斥开发:互斥锁、信号量

4、Linux高级网络程序设计

Linux高级网络编程

1、网络相关概念及网络发展

2、TCP/IP协议

3、socket编程、TCP网络编程、UDP网络编程、Web编程开发等

4、Linux网络应用程序开发,Linux网络编程相关API

5、TCP协议服务器的编程方法和并发服务器的实现

6、HTTP协议及其实现方法,熟悉UDP广播、多播的原理及编程方法,掌握混合C/S架构网络通信系统的设计

7、IPv6与IPv4协议,及其编程接口

8、网络数据通信过程

9、网络原始套接字概念及编程接口

学习完后,你可以了解到Linux操作系统的基础知识,进行简单的Linux命令操作。另外,学习时,建议配合实践进行巩固练习,以便能更好的理解记忆。

评论0 赞同0
  •  加载中...
liuyix

liuyix

回答于2022-06-28 11:50

嵌入式发展如此的快,可以说是现在最热的IT技术之一了,很多人加入嵌入式的行业,但是对于刚进入嵌入式或者刚接触嵌入式的人来说,学习嵌入式还是有一定的难度的,我跟前就有很多这样的人,下定决心想要去学嵌入式,但是不知道从何学起,今天我这只老鸟就分享一些嵌入式学习方法,快快搬小板凳来听。

对于嵌入式新手来说,知道一点嵌入式,知道嵌入式大概是做什么的,不是很懂,所以要熟悉掌握嵌入式的概念。我们可以看到网上或者书上很多解释:嵌入式系统是针对某个应用,软硬件可裁减的,对体积,功耗,成本等等有严格要求的一个计算机系统。看起来是很复杂的,其实我们来总结一下就是两点:

第一,嵌入式系统是一个计算机系统

第二,嵌入式系统是针对某个应用的,也就是通常所说的“专用的”。

其实再说的通俗易懂点就是针对某个应用的计算机系统!这样的话就很好理解了。

那么重点来了,那就是要学什么,对于嵌入式来说,不要觉得他学很多东西,你就会没有目的的学这学那的,这样只会让自己更加迷茫,不知道要学哪个了,你要知道,嵌入式也就是软件,硬件,编程这些方面的,最基础的也就是C语言了,那刚开始接触,你就需要先从C语言入手。

1、C语言,关于C语言要知道基本的语法,什么是结构体,什么是共同体,有的东西也不用一定要记忆,因为在实际中很少用到;

2、嵌入式最核心的操作系统,所以操作系统原理也应该是要有所了解的,比如时间片、任务调动等等;

3、Linux基本命令的使用(vi编辑器必须会用,因为在终端改文件的时候只能用这个),现在很多的人对鼠标早是情有独钟了,很少用到命令,在学习嵌入式Linux可要改改这个习惯了,Linux用命令操作具有效率高、功能强大的特点,这个是图形界面无法取代的,其实平时的图形界面操作都要转化为命令传输给硬件的。

4、Linux设备驱动的架构要了解,结合原理图和Linux设备驱动相关书籍把每一行代码分析清楚。

上面只是一些简单的嵌入式学习要点,你要先掌握这些,才能再继续后面的,在这里要切记你不要心急,心急吃不了热豆腐,不要希望看什么或者学什么一次就能会,而且记住要理解,不要死记硬背,要理论与实践相结合,实践的多了,那自然而然也就会弄了。还有,不要直接阅读Linux内核源码,看一些自己撞破头也想不明白的东西只能是浪费时间,要循序渐进。


对于初学者,还有一点小建议,我们拿到一个开发板,很兴奋也很激动,想法自然也很多,想用开发板实现自己的这个想法,实现那个想法,然后又不知道从何下手,然后就去论坛中发一个贴,“那个什么什么怎么实现啊,哪位大侠能详细说一下啊,跪求!!”然后等着别人去回复。见没人回复就抱怨。有想法是好的,我们要实现自己的想法也是有前提的,首先,我们对这部分知识了解吗?如果不了解就去google一下(最好别用百度,不太好用),了解了一些,也就大概知道要怎么做了。如果再遇到问题,再去发贴问,这样也显得咱们有水平。比如自己连串口是什么都不太清楚呢,就问串口通信怎么做啊,就是人家把代码给咱,咱也不明白是怎么回事啊。

记住每个人都有每个人的方法,就是要勤于练习,不要懒惰,你可以根据我上面的学习方式来进行学习,这个方法就是我在我学习工作中总结的,还是很受用的,希望你和我一样从新手到老鸟,这是一个困难的过程,好好努力最重要。

评论0 赞同0
  •  加载中...

相关问题

最新活动

您已邀请0人回答 查看邀请

我的邀请列表

  • 擅长该话题
  • 回答过该话题
  • 我关注的人
向帮助了您的网友说句感谢的话吧!
付费偷看金额在0.1-10元之间
<