一般来说,学习一个新的MCU芯片,若用C语言进行编程,快速入门的学习过程如下。
(1)了解性能及内部主要功能模块与存储空间的地址分配。
(2)了解基本的编程结构、编程模式及寻址方式。
(3)了解中断结构。
(4)了解芯片的引脚总体布局情况,掌握硬件最小系统电路。
(5)理解第一个工程的结构,理解工程中各个文件的基本功能。一般来说,第一个工程为一个简单的小程序,如借助通用I/O模块编程控制几个发光二极管,主要目的是给出程序框架和工作过程。
(6)进行实际环境的编译(Compile)、链接(Link)以生成可以下载到芯片内部Flash存储器中的程序(可以运行的机器码),基本理解列表文件和机器码文件。
(7)有硬件评估环境是学习新型MCU的必需品。利用写入调试器将程序下载到目标MCU中;在目标板上,观察运行情况。随后,可进一步利用嵌入式软件的“打桩调试技术”,即在被测程序代码中插入一些函数或语句,利用这些函数或语句在硬件系统中产生可观察的物理现象,以便了解程序的运行情况。
(8)从整个工程组织、各文件功能等角度,透彻理解第一个工程的执行过程。
(9)理解第一个带有中断过程的C语言工程结构,理解主循环与中断两条程序执行路线各自的作用。
(10)根据自己的相关知识基础与项目的实际需求,决定是否采用嵌入式(实时)操作系统。
至此,以上学习过程已经覆盖了学习一个新型MCU硬件设计与软件编程的基本要素。完成了以上学习步骤,就完成了“基本入门”过程。随后,在此框架下,结合嵌入式构件方法,逐模块地学习就方便了。
本章给出上述过程的(1)~(4)步,第3章给出上述过程的(5)~(8)步。这两章完成“基本入门”的前 8 步。“基本入门”的第 9 步(第一个中断例程)将在第4章阐述。这样做只是为了规范编程,符合嵌入式软件工程的基本要求,提高硬件及底层驱动软件的可复用与可移植性。至于上述过程的第(10)步,将在《嵌入式实时操作系统MQX应用开发技术》一书中阐述。