英语翻译Many applications written for ARM-based systems are embedded applications that arecontained in ROM and execute on reset.There are a number of factors that must beconsidered when writing embedded operating systems,or embedded applications thatexecute from reset without an operating system,including:• Remapping ROM to RAM,to improve execution speed.• Initializing the execution environment,such as exception vectors,stacks,I/Os.• Initializing the appl

问题描述:

英语翻译
Many applications written for ARM-based systems are embedded applications that are
contained in ROM and execute on reset.There are a number of factors that must be
considered when writing embedded operating systems,or embedded applications that
execute from reset without an operating system,including:
• Remapping ROM to RAM,to improve execution speed.
• Initializing the execution environment,such as exception vectors,stacks,I/Os.
• Initializing the application.
– For example,copying initialization values for initialized variables from ROM
to RAM and resetting all other variables to zero.
• Linking an embedded executable image to place code and data in specific locations
in memory.
For an embedded application without an operating system,the code in ROM must provide
a way for the application to initialize itself and start executing.No automatic
initialization takes place on reset,therefore the application entry point must perform
some initialization before it can call any C code.
The initialization code,located at address zero after reset,must:
• Mark the entry point for the initialization code.
• Set up exception vectors.
• Initialize the memory system.
• Initialize the stack pointer registers.
• Initialize any critical I/O devices.
• Initialize any RAM variables required by the interrupt system.
• Enable interrupts (if handled by the initialization code).
• Change processor mode if necessary.
• Change processor state if necessary.
After the environment has been initialized,the sequence continues with the application
initialization and should enter the C code.
大体意思就行·

基于ARM的系统编写的许多应用,嵌入式应用程序的
载于ROM和执行复位.有许多因素必须
时考虑编写嵌入式操作系统或嵌入式应用
从复位执行无作业系统,包括:
•重新映射到RAM光盘,以提高执行速度.
•初始化运行环境,如异常向量,堆栈,I / O口.
•初始化应用程序.
- 例如,从ROM复制为初始化的变量初始化值
到RAM和重置所有其他变量为零.
•嵌入式可执行映像链接放置在特定地点的代码和数据
在内存中.
对于没有操作系统的嵌入式应用,ROM中的代码必须提供
为应用程序的方式进行初始化并开始执行.没有自动
上电复位初始化发生的地方,因此,应用程序的入口点必须执行
一些初始化之前,它可以调用任何C代码.
初始化代码,在地址位于零复位后,必须:
•标记为初始化代码的入口点.
•设置异常向量.
•初始化内存系统.
•初始化堆栈指针寄存器.
•初始化所有关键的I/ O设备.
•初始化任何RAM的中断系统所需的变量.
•使能中断(如果初始化代码来处理).
•如果有必要改变处理器模式.
•如果有必要改变处理器的状态.
之后,环境已经初始化,序列继续与应用
初始化,并应进入C代码.