《嵌入式设备驱动开发精解》——2.3 嵌入式开发入门第一步

简介:

本节书摘来异步社区《嵌入式设备驱动开发精解》一书中的第2章,第2.3节,作者:孙智博,更多章节内容可以访问云栖社区“异步社区”公众号查看

2.3 嵌入式开发入门第一步

嵌入式设备驱动开发精解
当我们谈论嵌入式开发的时候,最常听到的就是嵌入式开发是如何地难学,比如既需要一定的开发语言基础,又需要相关的数、模、电方面的知识,难道嵌入式真的那么难吗?其实难与不难最关键是一个入门的问题,等真正入了门就会发现先前的努力与汗水都是值得的,你会迈入一个全新的世界。入门嵌入式开发确实有一定的难度,因为它不像学习Java,只要有一台PC,然后按照教科书的例子一个个抄下来,通过一段时间的学习就能编写小的程序了,并且在PC上能立刻看到执行的效果,也可以一步一步地跟踪调试编写的程序,直到你的Java程序完美实现了原来的设计。

而嵌入式开发就没有这么简单了,首先在PC上不能立即看到运行的效果,需要建立一个交叉编译环境,用这个环境编译、链接写的程序,然后把链接后的程序烧写到板子上的Flash里,然后给板子加电,让程序在板子上去执行,程序的执行结果并不像PC程序中Java那样,立刻就能直观地看到结果,如果程序执行不正确也不能像PC上那样简单的一步一步地跟踪调试,需要借助第三方的工具才能一步一步地跟踪调试,所以也相应地增加了难度。

另外如下的知识点是需要重点掌握的。

掌握ARM系列的CPU,要求对ARM CPU的体系结构有深入的理解,并且能够做到熟悉一款特定ARM CPU的总线、时钟、外设接口,以及通过Memory map迅速了解它的大概配置。
掌握常用的外设,如LCD、各种存储设备(NAND flash或者Nor Flash)的使用方法。
掌握常用的外设接口,如IIC、SPI、MIPI、EBI等。
熟悉硬件原理图,能够看懂基本的硬件原理。可以说硬件原理图是硬件和软件的接口的表达,要做到通过读硬件原理图能够编写相应的软件。
掌握常用的调试手段,如串口log跟踪,JTAG工具的熟练使用,这些工具可以协助我们跟踪程序内部流程,能够直观看到程序流。
扎实的C语言基础,我们可以看到嵌入式开发充分利用了C语言的灵活,嵌入式开发是C语言灵活展示的舞台,另外,通过读别人的代码可以了解设计者的思想,同时也可以去学习并发扬有价值的设计思想。
当你掌握了一款ARM CPU之后,那么对于其他使用ARM CPU的嵌入式产品来说,你也会非常容易上手,并能很快对整个系统有一个很好的认识。另外驱动程序的研发工作不光是写好一个设备的驱动程序,同时也是要架构一个驱动程序框架,可以让同类的设备方便地加入该框架之下,让框架来管理这些相似设备的驱动,一个好的框架设计对于一个项目来说是至关重要的。

相关文章
|
3月前
|
传感器 设计模式 安全
嵌入式底层驱动需要知道的基本知识
嵌入式底层驱动需要知道的基本知识
33 0
|
6月前
|
传感器 C语言 芯片
「入门指南」轻松学习嵌入式 GPIO:从原理到应用一步到位
「入门指南」轻松学习嵌入式 GPIO:从原理到应用一步到位
|
芯片
嵌入式基础知识
视觉项目落地少不了的是嵌入式相关知识
198 0
嵌入式基础知识
|
Linux API SoC
嵌入式实践教程--设备树下的I2C驱动开发
嵌入式实践教程--设备树下的I2C驱动开发
|
存储 小程序 编译器
【从零开始的嵌入式生活】必备基础知识1——数据的表示和程序编译调试
【从零开始的嵌入式生活】必备基础知识1——数据的表示和程序编译调试
【从零开始的嵌入式生活】必备基础知识1——数据的表示和程序编译调试
|
传感器 数据采集 物联网
嵌入式基础教程之嵌入式系统的知识体系
嵌入式系统的应用范围可以粗略分为两大类:电子系统的智能化(工业 控制、现代农业、家用电器、汽车电子、测控系统、数据采集等),计算机应用的延伸(MP3、手机、通信、网络、计算机外围设备等)。从这些应用可以看出, 要完成一个以MCU为核心的嵌入式系统应用产品设计,需要硬件、软件及行业领域相关知识。
1205 0