1 / 16
文档名称:

嵌入式开发基本流程(英文版精华).pdf

格式:pdf   大小:436KB   页数:16页
下载后只包含 1 个 PDF 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

嵌入式开发基本流程(英文版精华).pdf

上传人:1557281760 2017/10/1 文件大小:436 KB

下载得到文件列表

嵌入式开发基本流程(英文版精华).pdf

文档介绍

文档介绍:Developing embedded
applications

Before you start developing your embedded
application software, you should read about these
concepts:

● The development cycle
● Commonly used software models
● The build process
● Programming for performance
● Considering hardware and software factors
● Application execution.

THE DEVELOPMENT CYCLE
Before the actual development starts you must gather
requirements and design and specify your application
architecture (manually or using automated code
generation tools, such as visualSTATE). Then, you are
ready to start the IAR Embedded Workbench IDE.
This is a typical development cycle:
● Set up a project, which includes general and
tool-specific options
● Create your source code files in C, C++, or assembler
● pile and link—your project for
debugging
● Correct any errors in your source code
● Test and debug your application
● Build for release
● Load the image to flash or PROM memory.



Developing embedded applications 21
COMMONLY USED SOFTWARE MODELS
These are monly used software models:
● Superloop systems (tasks are performed in sequence)
● Multitask systems (tasks are scheduled by an RTOS)
● State machine models.
Typically, you have either a superloop system or a multitask system, and a
popular way anizing the logic of your application is to design it using
state machines.

Superloop systems
Without a multitasking kernel, only one task can be executed by the CPU at
a time. This is called a single-task system or a superloop; basically a program
that runs in an endless loop and executes the appropriate operations in
sequence. No real-time kernel is used, so interrupt service routines (ISRs)
must be used for real-time parts of the software or critical operations
(interrupt level).












Superloops can e difficult to maintain if the program es too
large. Because one ponent cannot be in