嵌入式现在可以说是发展最快的行业之一了,据调查,有70%的企业公司都在急招嵌入式人才,嵌入式人才很缺,但是需求量还是很大的,很多人都抓住这个机遇,投身到嵌入式的行业中,在学习arm嵌入式开发的时候会觉得很困难,不知道如何去入手学习,今天我这个老鸟就来谈谈如何轻松学习arm嵌入式开发。
嵌入式,通俗的说,就是一台软、硬件被裁剪过的,只专注于某一应用的电脑。我们生活中嵌入式设备还是很常见的,就像智能手机,智能家居,手表等等都是应用了嵌入式,那么arm嵌入式开发应该如何学呢?
首先你要会做系统,做个最小系统板:如果你从没有做过ARM嵌入式开发,建议你一开始不要贪大求全,把所有的应用都做好,因为ARM的启动方式和dsp或单片机有所不同,往往会遇到各种问题,所以建议先布一个仅有Flash,SRAM或SDRAM、CPU、JTAG、和复位信号的小系统板,留出扩展接口。使最小系统能够正常运行,你的任务就完成了一半,好在ARM的外围接口基本都是标准接口,如果你已有这些硬件的布线经验,这对你来讲是一件很容易的事情。
2. 写启动代码,根据硬件地址先写一个能够启动的小代码,包括以下部分:
初始化端口,屏蔽中断,把程序拷贝到SRAM中;完成代码的重映射;配置中断句柄,连接到C语言入口。也许你看到给你的一些示例程序当中,bootloader会有很多东西,但是不要被这些复杂的程序所困扰,因为你不是做开发板的,你的任务就是做段小程序,让你的应用程序能够运行下去
3. 多看一些操作系统程序,在ARM嵌入式开发的应用开放源代码的程序很多,要想提高自己,就要多看别人的程序,linux,uc/os-II等等这些都是很好的原码。
4. arm嵌入式你需要用到的芯片需要你好好研究,尽管ARM在内核上兼容,但每家芯片都有自己的特色,编写程序时必须考虑这些问题。而且切记不要拿别人的示例程序来修改,那样的话就会越来越乱了。
5. 如果你是作硬件,每个厂家基本上都有针对该芯片的DEMO板原理图。先将原理图消化。这样你以后做设计时,对资源的分配心中有数。器件的DATSHEET一定要好好消化。
6.如果做软件最好对操作系统的机理要有所了解。当然这对软件工程师来说是小菜一碟。但如果是硬件出身的想做ARM嵌入式开发的人就有点费劲。
有很多人会很纠结,对于系统班到底是2层号还是4层好?在这里我告诉你,一般是4层比较好,选用四层板不仅是电源和地的问题,高速数字电路对走线的阻抗有要求,二层板不好控制阻抗,四层的话他的传输线有其特征阻抗,学过传输线理论的都知道,当传输线上某处出现阻抗突变(不匹配)时,信号通过就会发生反射,反射对原信号造成干扰,严重时就会影响电路的正常工作。采用四层板时,通常外层走信号线,中间两层分别为电源和地平面,这样一方面隔离了两个信号层,更重要的是外层的走线与它们所靠近的平面形成称为“微带”(microstrip)的传输线,它的阻抗比较固定,而且可以计算。那对于两层板就比较难以做到这样,所以建议你选择四层比较好。
以上总结下来就是这四个思路:写启动代码,了解操作系统程序,硬件,最小系统板从这几个方面来学习arm嵌入式,那样就不会学的迷茫了,学习这个,切记要理论与实践相结合。