大家好,今天小编关注到一个比较有意思的话题,就是关于arm linux 学习 知乎的问题,于是小编就整理了4个相关介绍arm Linux 学习 知乎的解答,让我们一起看看吧。
linux学习书籍推荐?
1. 《Linux程序设计(第4版)》(经典入门书)2. 《跟阿铭学Linux》(畅销新书)3. 深入理解程序设计:使用Linux汇编语言(畅销新书)4. 《深入Linux内核架构》(经典书)5. 《Linux shell脚本编程入门》(新书)、6. 《Linux命令行与Shell脚本编程大全(第2版)》(经典书)7. 《Linux Shell脚本攻略(第2版)》(新书)8. 《Linux就是这个范儿》(畅销新书)9. 《ARM Linux内核源码剖析》(畅销新书)10. 《Linux系统架构和应用技巧》(新书)11. 《只是为了好玩:Linux之父林纳斯自传》(畅销经典)
arm编程入门教程?
ARM编程入门教程包括:
1. 了解ARM处理器的基本结构,如指令集、编程模型及体系结构等;
4. ARM编程的开发工具与环境,如Keil MDK、ARM RealView等;
5. 掌握ARM编程应用os相关知识,如Cortex M4、Linux等;
6. 实现ARM编程应用,如硬件驱动、网络协议及实时操作系统等。
ARM怎么用linux?
相对于ARM linux,我们说的普通linux指的是X86 linux,他们都是linux系统,但是由于ARM和X86是不同的CPU架构,他们的指令集不同,所以软件编译环境不同,软件代码一般不能互用,一般需要进行兼容性移植。 X86是经典的CISC指令集,指令集复杂,功能多,串行执行,但是也意味着执行效率低下,但性价比突出,所以称为民用终端的主流处理器内置指令集。Intel和AMD的家用处理器都是X86指令集。以X86为代表的CISC,理论并发线程1-2条。ARM是Advanced RISC Machine 的缩写。它的指令集比RISC还要精简。通常使用ARM架构处理器的机型,多为嵌入式或者便携机。主频通常不高,现在高通公司的ARM架构处理器有1.0GHz的,已经算相当高了。另外,ARM 7沿用冯·诺依曼结构;而从ARM 9以后,就都***用了哈佛结构。ARM的并发线程,理论上有4条左右,处理效率较X86高不少。
我想学习x86下的linux内核,该怎么起步?
1.不防从引导程序(bootloader)开始,可以选择u-boot,熟悉u-boot启动代码,比如初始化内存、启动的汇编代码是如何跳转至C程序的、bootloader引导Linux有哪些要求(基于CPU架构不同而不同,比如ARM引导Linux可参考《Booting ARM Linux》)、启动后是如何传递参数给Linux内核的、;
2.bootloader将内核映像载入物理内存后,压缩的内核映像是如何自解压、head.S文件中对MMU操作、单/多核是如何跑起来的、start_kernel;***w.内核引导启动这个过程建议结合一些操作系统的理论知识一起熟悉,比如MMU页表的建立,若不熟悉对应CPU架构下的MMU,即使懂汇编但代码看起来可能比较吃力。
熟悉内核的引导过程,个人觉得将大学时学的操作系统理论知识与实践相结合起来了,好多上学时模糊的概念一下清晰了许多。
接下来再来说下内核编程:
1.make menuconfig等配置内核,构建及更新内核;
2.熟悉内核Makefile文件;
3.从Hello World开始学习模块编程,熟悉file_operations尝试编程[_a***_]的驱动;
4.掌握(熟悉使用、区别)内核提供竞争方面的API,spinlock/semaphore/rw_semaphore/completion/rw_lock/mutex,以及RCU等;
5.内核态下动态内存API,get_free_pages/kmalloc/vmalloc等(关于内存管理这块可暂时先了解接口的使用,后续有精力再去熟悉Linux内存管理,里面太多东西太复杂了,呵呵,我也是略知皮毛);
到此,以上就是小编对于arm linux 学习 知乎的问题就介绍到这了,希望介绍关于arm linux 学习 知乎的4点解答对大家有用。