按照惯例,所有的Makefile变量都应该是大写。如果变量的值发生变化,就只需要在一个地方修改,从而简化了Makefile的维护。现在利用变量把前面的Makefile重写一遍:除用户自定义的变量外,make还允许使用环境变量、自动变量和预定义变量。需要注意的是,如果用户在Makefile中定义了同名的变量,用户自定义变量将覆盖同名的环境变量。此外,Makefile中还有一些预定义变量和自动变量,但是看起来并不像自定义变量那样直观。......
2023-11-19
在ARM系统中,要实现对存储系统的管理通常使用协处理器CP15,它通常也被称为系统控制协处理器(System Control Coprocessor)。
ARM处理器支持16个协处理器。在程序执行过程中,每个协处理器忽略属于ARM处理器和其他协处理器的指令。当一个协处理器硬件不能执行属于它的协处理器指令时,将产生一个未定义指令异常中断,在该异常中断处理程序中,可以通过软件模拟该硬件的操作。
Cortex-A8内部实现了CP14和CP15两个协处理器。CP14是调试协处理器,它的功能为用于各种调试功能函数。CP15是系统控制协处理器,它的功能为控制Cortex-A8处理器的功能实现,并为其提供状态信息。除了CP15外,在具体的各种存储管理机制中可能还会用到其他一些技术,如在MMU中除了CP15外,还使用了页表结构等。
在一些没有标准存储管理的系统中,CP15是不存在的。在这种情况下,针对CP15的操作指令将被视为未定义指令,指令的执行结果不可预知。
CP15包含16个32位寄存器,其编号为0~15。实际上对于某些编号的寄存器可能对应多个物理寄存器,在指令中指定特定的标志位来区分这些物理寄存器。
CP15中的寄存器可能是只读的,也可能是只写的,还有一些是可读写的。在对协处理器寄存器进行操作时,需要注意以下几个问题:(www.chuimin.cn)
(1)寄存器的访问类型(只读/只写/可读可写);
(2)不同的访问引发不同的功能;
(3)相同编号的寄存器是否对应不同的物理寄存器;
(4)寄存器的具体作用。
有关ARM嵌入式系统原理与应用的文章
按照惯例,所有的Makefile变量都应该是大写。如果变量的值发生变化,就只需要在一个地方修改,从而简化了Makefile的维护。现在利用变量把前面的Makefile重写一遍:除用户自定义的变量外,make还允许使用环境变量、自动变量和预定义变量。需要注意的是,如果用户在Makefile中定义了同名的变量,用户自定义变量将覆盖同名的环境变量。此外,Makefile中还有一些预定义变量和自动变量,但是看起来并不像自定义变量那样直观。......
2023-11-19
Linux内核主要由5个子系统组成:进程调度子系统、进程间通信子系统、内存管理子系统、虚拟文件系统子系统、网络接口子系统。Linux2.6.28内核的主要结构目录:/arch子目录包含了所有与硬件体系结构相关的内核移植代码。/Documentation子目录包含有关内核的许多非常详细的文档。/include子目录包含了建立内核代码时所需的大部分库文件的头文件,该模块利用其他模块重建内核。/ipc子目录包含了内核的进程间通信的代码。......
2023-11-19
内联汇编器使用汇编器说明符进行调用,后面跟用大括号或括号括起来的汇编器指令序列。以使用“__asm”为例,介绍单行和多行内联汇编。下面的例子显示了内联汇编和真正汇编的区别。嵌入汇编函数语法格式如下:在参数列表中允许使用参数名,但不能用在嵌入式汇编函数体内。......
2023-11-19
ARM微处理器已经遍及工业控制、消费类电子通信系统、网络系统、无线系统各类产品市场,基于ARM技术的微处理器应用占据了32位RISC微处理器80%以上的市场份额。ARM嵌入式技术在联网方面的优势,为弧焊电源实现网络化控制奠定了基础。ARM9可以达到180~200MHz的工作速率,它能驱动的周边装置比ARM7多,应用范围也比较广。ATMEL公司的AT91AM9200是基于ARM9的,具有丰富的接口功能。ARM芯片通信接口能力强,一般用于焊接过程及设备人机界面系统的核心芯片。......
2023-06-26
2.开发模式嵌入式系统本身不具备自举开发能力,即使设计完成以后用户通常也是不能对其中的程序功能进行修改的,必须有一套开发工具和环境才能进行开发,这些工具和环境一般是基于通用计算机上的软硬件设备以及各种逻辑分析仪、混合信号示波器等。表1.2常用嵌入式开发工具......
2023-11-19
Linux统按照文件中数据的特点对文件划分不同的类别,称做文件类型。Linux系统提供了一个file命令用来查看文件的类型,执行file<文件名>即可得到指定文件的类型。目录的第一项是目录本身,以“.”作为目录本身的名称。......
2023-11-19
Linux软件开发一直在Internet环境下讲行。Linux开发工作经常是在Linux用户决定共同完成一个项目时开始的。由于这个活跃的开发环境,新的以Linux为基础的软件功能日益强大,而且呈现爆炸式的增长态势。许多流行的Linux实用程序如C编译器、shell和编辑器都是GNU软件应用程序。Linux程序需要首先转化为低级机器语言即所谓的二进制代码以后,才能被操作系统执行。......
2023-11-19
对一个打开的文件而言,最常用到的就是对文件的读写操作,在Linux系统中,提供了系统调用函数实现文件的读写操作。读取文件数据时,文件的当前读写位置会向后移。以下几种读取文件数据情况下,返回的字节数会小于count值。......
2023-11-19
相关推荐