学习了4个月,这段时间的学习伴随着无数的困惑与迷茫,走的非常艰难且缓慢,所以现在有许多问题想请教一下各位前辈,请大家一定要帮帮我
首先说一下这5个月的学习吧。
1.对于arm,对于linux,都是从零开始,这样自学起来真的很辛苦,也很慢。买了一块arm11的板子后,学了gpio,然后是中断,定时器,再串口。按照那些培训学校的课程安排,接下来应该是触摸屏,我没有接触过,也没什么资料,所以对于裸机这块就停这了。
2.看了一下《arm体系结构与编程》,收获不大,熟悉了arm汇编,也写了几个小程序,不过现在又忘的差不多了。
3.然后我直接跳到linux了,花了一段时间熟悉了基本命令,操作,shell。然后,粗略看了一下《linux程序设计》,没有写过什么综合性的程序,也感觉收获不大
4.看了《linux设备驱动程序》前半,会点字符驱动,中断之类的,依然收获不大。
5.看了一下《深入理解linux内核》,迷迷糊糊,谈不上收获
总之,这5个月我感觉没学什么东西,学习有点凌乱,各方面都是了解了一点皮毛,没有深入,学了这块,那里又忘了,唉
现在我在做以及准备做的:
1.正在看《Unix环境高级编程》,讲的还是那些东西,只是细化了很多,但是我不知道怎么样深入学习。 我感觉这样学下来还是不能实用,没有把知识点综合起来,但我不知道怎样去做。
2.然后我准备继续看《linux设备驱动程序》(但是看起来很慢,很多东西不懂)
3.我还想复习一下模电,数电,感觉上课没学什么
4.对于c语言,现在基本的程序没问题,但是没做过什么项目,也不知道该怎么深入了,我有没有必要再学一下数据结构与算法,我现在写的程序这些用的很少,看了一下,感觉有点难,估计会很费时间
5.想自己移植一下uboot,可是完全不知改怎么下手,照着别人的做感觉没什么用
6.然后我不知道什么时候才能顺畅一点的学习linux内核
以上这些都要做的话,我感觉时间安排不过来了,我也不知道该怎么安排,孰轻孰重,有点分辨不清
而且学习进度好慢,感觉自己像个单核cpu,这么多线程调度不过来,似乎要阻塞了
种种疑问,还需要前辈们给点指示啊
另外,开学后两个月就要实习了,我这水平能做什么
------解决方案--------------------
哥们,我也是自学的,是国嵌的视频,电驴上有,可以下载看看
------解决方案--------------------
刚开始都是挺难的 慢慢来
啃一下内核代码吧 结合官方资料理解下
------解决方案--------------------
有说要从上而下,先从应用程序开始入手。你玩的太多了。
------解决方案--------------------
以前看到一个前辈写的,可能有用
------------------------------------------
------------------------------------------
------------------------------------------
1、Linux 基础
安装Linux操作系统 Linux文件系统 Linux常用命令 Linux启动过程详解 熟悉Linux服务能够独立安装Linux操作系统 能够熟练使用Linux系统的基本命令 认识Linux系统的常用服务安装Linux操作系统 Linux基本命令实践 设置Linux环境变量 定制Linux的服务 Shell 编程基础使用vi编辑文件 使用Emacs编辑文件 使用其他编辑器
2、Shell 编程基础
Shell简介 认识后台程序Bash编程熟悉Linux系统下的编辑环境 熟悉Linux下的各种Shell 熟练进行shell编程熟悉vi基本操作 熟悉Emacs的基本操作 比较不同shell的区别 编写一个测试服务器是否连通的shell脚本程序 编写一个查看进程是否存在的shell脚本程序 编写一个带有循环语句的shell脚本程序
3、Linux 下的 C 编程基础
linux C语言环境概述 Gcc使用方法 Gdb调试技术 Autoconf Automake Makefile 代码优化 熟悉Linux系统下的开发环境 熟悉Gcc编译器 熟悉Makefile规则编写Hello,chi dazzle,World程序 使用 make命令编译程序 编写带有一个循环的程序 调试一个有问题的程序
4、嵌入式系统开发基础
嵌入式系统概述 交叉编译 配置TFTP服务 配置NFS服务 下载Bootloader和内核 嵌入式Linux应用软件开发流程熟悉嵌入式系统概念以及开发流程 建立嵌入式系统开发环境制作cross_gcc工具链 编译并下载U-boot 编译并下载Linux内核 编译并下载Linux应用程序
4、嵌入式系统移植
Linux内核代码 平台相关代码分析 ARM平台介绍 平台移植的关键技术 移植Linux内核到 ARM平台 了解移植的概念 能够移植Linux内核移植Linux2.6内核到 ARM9开发板
5、嵌入式 Linux 下串口通信
串行I/O的基本概念 嵌入式Linux应用软件开发流程 Linux系统的文件和设备 与文件相关的系统调用 配置超级终端和MiniCOM 能够熟悉进行串口通信 熟悉文件I/O 编写串口通信程序 编写多串口通信程序
6、嵌入式系统中多进程程序设计
Linux系统进程概述 嵌入式系统的进程特点 进程操作 守护进程 相关的系统调用了解Linux系统中进程的概念 能够编写多进程程序编写多进程程序 编写一个守护进程程序 sleep系统调用任务管理、同步与通信 Linux任务概述任务调度 管道 信号 共享内存 任务管理 API 了解Linux系统任务管理机制 熟悉进程间通信的几种方式 熟悉嵌入式Linux中的任务间同步与通信编写一个简单的管道程序实现文件传输 编写一个使用共享内存的程序
7、嵌入式系统中多线程程序设计
线程的基础知识 多线程编程方法 线程应用中的同步问题了解线程的概念 能够编写简单的多线程程序编写一个多线程程序