无操作系统的应用程序开发PPT教学课件
合集下载
无操作系统的应用程序开发课件

1. 基于Web的应用程序运行在各种操作系统和设备上, 只要有Web浏览器即可使用。
4. 随着云计算技术的发展,基于Web的应用程序可以轻 松实现云端部署和扩展。
开发实例二:基于命令行的应用程序
总结词:基于命令行的应用程序是一种运行在命令行环 境下的简单应用程序,具有体积小、运行速度快、易于 移植等优点。
案例二:基于命令行的系统工具程序
总结词
轻量级、易用性、可移植性、高效性
详细描述
基于命令行的系统工具程序是一种无操作系 统应用,通过命令行界面提供服务,实现系 统管理和维护等功能。它具有轻量级、易用 性、可移植性和高效性等特点,能够快速响
应用户的命令和需求。
案例三:基于硬件的实时控制系统
要点一
总结词
04
无操作系统应用程序开发实践
开发实例一:基于Web的应用程序
总结词:基于Web的应用程序是运行在Web浏览器上的 应用程序,具有跨平台、易于部署和维护的特点。
2. 这类应用程序通常使用HTML、CSS和JavaScript等技 术进行开发,可以与后端服务器进行数据交互。
详细描述
3. 基于Web的应用程序具有跨平台优势,可以在不同的 操作系统和设备上使用,减少了开发成本和维护成本。
起源
无操作系统最早可以追溯到20世纪60年代的嵌入式系统领 域。当时,嵌入式系统的硬件资源非常有限,因此需要一 个轻量级的系统来控制硬件资源。随着嵌入式系统和实时 控制系统的不断发展,无操作系统逐渐成为这些领域的重 要选择。
发展
随着计算机技术的不断发展,无操作系统的设计和实现也 越来越成熟。现代的无操作系统通常具有更高的性能和可 靠性,同时提供了更好的定制化和优化能力。无操作系统 也逐渐应用于其他领域,例如高性能计算、桌面应用程序 等。
设计一个简单的VisualBasic应用程序-PPT课件

例题中,在事件过程Form_Click中规定对用户单击 事件的响应是: 在屏幕上显示出一行字“Visual Basic欢迎您!”。在Visual Basic中用来响应事件的过 程称为“事件过程”。现在修改以上程序,要求在 窗体上添加两个命令按钮,一个是“显示”,另一 个是“退出”。程序开始运行后,用户若单击一次 “显示”按钮,就会在窗体上输出一行文字。单击 “退出”按钮,则结束程序的运行。 可以通过以下两种方法将命令按钮添加到窗体上。
(6) 工程窗口: 位置在屏幕的右上方。它列出当 前应用程序所包含的文件清单。一个应用程序可以 包含多种类型的文件,它们分别是: 后缀为.frm的 窗口文件,后缀为.bas的标准程序模块文件,后缀 为.cls的类文件,后缀为.ctl的用户控件文件,后缀 为.pag的属性页文件。如图2.3所示。 (7) 属性窗口: 位置在工程窗口的下方。属性窗 口中列出当前激活的一个窗体或控件(统称对象) 的所有属性。
图2.5
选择“视图”菜单中的“代码窗口”命令,如图2.6 所示。 双击窗体后,屏幕上出现与该窗体对应的代码窗口, 如图2.7所示。 代码窗口的标题栏中显示窗体的名称。代码窗口分 为对象框和过程框这两个部分。代码窗口左边是对 象框,它包含所有与当前窗体相联系的对象。由于 是双击窗体后进入代码窗口的,所以对象框中显示 的是Form。如果现在要对其他对象进行编码,应单 击对象框右侧向下的箭头以打开一个下拉列表框, 框中列出了本窗体用到的所有对象,可以用鼠标单 击任一个对象,对象框中可显示出所选的当前对象。 图2.8中显示的是Form。
图2.9
“事件”是由系统事先设置好的、某一对象可以识 别的动作。通俗地说,“事件”是作用在对象上的 某种事先规定的动作,如在窗体上单击一次鼠标 (单击窗体),在窗体上连续单击两次鼠标(双击 窗体),等等。不同的对象可以识别不同的事件。 例如上题的窗体能识别单击事件(Form_Click )。 在运行时,当用户用鼠标单击窗体时,就发生了窗 体的单击事件,这时窗体会对该事件作出响应,至 于具体作出什么样的响应,要由程序人员所编写的 事件过程来实现。
《嵌入式Linux开发》课件

交叉编译工具链的安装
指导如何安装适用于目标板的交叉编译工具 链。
测试交叉编译环境
提供一种简单的方法来测试交叉编译环境是 否设置成功。
目标板与宿主机的连接方式
串口通信
介绍如何通过串口连接目标板和宿主机 ,以及串口通信的配置和常用命令。
USB连接
介绍如何通过USB连接目标板和宿主 机,以及USB通信的配置和常用命令
02
03
嵌入式系统
是一种专用的计算机系统 ,主要用于控制、监视或 帮助操作机器与设备。
特点
具有实时性、硬件可裁剪 、软件可定制、低功耗、 高可靠性等特点。
应用
汽车电子、智能家居、医 疗设备、工业自动化等领 域。
Linux作为嵌入式操作系统的优势
开源
Linux是开源的,可以免费使用和定制,降 低了开发成本。
路由与交换
介绍路由器和交换机的原理及在网 络中的作用。
03
02
IP地址
解释IP地址的分类、寻址方式以及子 网掩码的作用。
网络安全
简述常见的网络安全威胁和防范措 施。
04
TCP/IP协议栈简介
TCP/IP协议栈结构
详细描述TCP/IP协议栈的层次结构,包括应 用层、传输层、网络层和链路层。
IP协议
解释IP协议的核心功能,如地址解析、路由 选择等。
调试工具
介绍常用的调试工具,如gdbserver和gdb等,并说明如何使用这些 工具进行远程调试。
调试过程
详细描述调试过程,包括启动调试会话、设置断点、单步执行代码等 操作。
调试技巧与注意事项
提供调试过程中的一些技巧和注意事项,以提高调试效率和准确性。
03
嵌入式Linux系统开发基础
第13,14次课 第五章 Linux下的C编程 Linux应用程序开发 教学课件

printf(“before fork.\n”); if( (pid = fork() )<0) {
printf(“fork error \n”); exit(0); } else if ( pid == 0 ) printf(“Child is printing. \n”); else printf(“Parent is printing .\n”); exit(0); /*both parent and child execute*/ }
#include <sys/types.h>
#include <unistd.h>
int globa = 4;
int main(void)
{ pid_t pid;
int vari = 5 ;
printf(“before fork.\n”);
(1) 用 户 数 据 的 保 存 : 包 括 正 文 段 (TEXT), 数 据 段 (DATA,BSS), 栈段 (STACK), 共享内存段(SHARED MEMORY)的保存.
2020/9/24
13
(2)寄存器数据的保存: 包括 PC(program counter,指向下一条要执行的指 令的地 址), PSW(processor status word,处理机状态字), SP(stack pointer,栈指针), PCBP(pointer of process control block,进程控 制块指 针), FP(frame pointer,指向栈中一个函数的local变量的首 地 址), AP(augument pointer,指向栈中函数调用的实参位置), ISP( interrupt stack pointer,中断栈指针), 以及其他的通用寄存器等.
printf(“fork error \n”); exit(0); } else if ( pid == 0 ) printf(“Child is printing. \n”); else printf(“Parent is printing .\n”); exit(0); /*both parent and child execute*/ }
#include <sys/types.h>
#include <unistd.h>
int globa = 4;
int main(void)
{ pid_t pid;
int vari = 5 ;
printf(“before fork.\n”);
(1) 用 户 数 据 的 保 存 : 包 括 正 文 段 (TEXT), 数 据 段 (DATA,BSS), 栈段 (STACK), 共享内存段(SHARED MEMORY)的保存.
2020/9/24
13
(2)寄存器数据的保存: 包括 PC(program counter,指向下一条要执行的指 令的地 址), PSW(processor status word,处理机状态字), SP(stack pointer,栈指针), PCBP(pointer of process control block,进程控 制块指 针), FP(frame pointer,指向栈中一个函数的local变量的首 地 址), AP(augument pointer,指向栈中函数调用的实参位置), ISP( interrupt stack pointer,中断栈指针), 以及其他的通用寄存器等.
Linux操作系统应用编程课件(完整版)

2.Linux操作系统的发行版
Linux操作系统发行版实际就是Linux内核加上外围实用程序 组成的一个大软件包。相对于Linux操作系统的内核版本,发行版 的版本号随发布者的不同而不同,与Linux操作系统内核的版本号 是相对独立的。因此把SUSE、RedHat、Ubuntu、Slackware等直 接称为Linux是不确切的,它们是Linux操作系统的发行版。更确 切地说,应该将它们称为“以Linux为核心的操作系统软件包”。
Shell是Linux操作系统的一种用户界面,它作为操作系统 的“外壳”,为用户提供使用操作系统的接口。Shell主要有以 下两大功能特点。
(1)Shell是一个命令解释器,它拥有自己内建的Shell命令集。 (2)Shell的另一个重要特性是它自身就是一种解释型的程序设 计语言。
当用户成功登录Linux系统后,系统将执行一个Shell程序。 正是Shell进程提供了命令提示符。作为默认值,Shell对普通用 户用“$”作提示符,对超级用户(root)用“#”作提示符。
1.4.4 联机手册
联机手册命令man可向用户提供系统中各种命令、系统调用、 库函数和重要系统文件的详细说明,包括名字、使用语法、功能 描述、应用实例和相关参考文件等。其格式如下:
$ man [拥有哪个级别的帮助。 -k:查看和命令相关的所有帮助。
查看who命令的详细说明示例如下。 $ man who
Linux操作系统 应用编程
本章主要介绍Linux文件系统,包括文件系统的结构、文 件的定义与分类、目录与文件操作命令、文件的权限管理等, 让读者对Linux文件系统有一定的认识和理解,为后文的学习 打下基础。
2.1.1 组织结构
Linux操作系统中所有文件存储在文件系统中,文件被组织 到一棵“目录树”中,其文件系统层次结构(树状目录结构)如 图2.1所示。树根在该层次结构的顶部,树根的下方衍生出子目 录分支。
Windows操作系统应用资料PPT课件

启动程序:用鼠标双击桌面上的图标即可。
2020年12月28日
第9页
任务栏包括四个部分:
• 开始按钮:一般位于桌面底端任务栏的最左边, 通过它可以实现Windows的大部分功能。 • 快速启动工具栏:包括几个常用的程序图标,当 桌面被遮挡时,可单击此处图标来快速启动程序。
• 任务状态栏:一个应用程序运行后,就会在这儿 出现一个按钮。当多个程序窗口打开时,可以用任 务栏状态栏上的按钮进行快速切换。
2020年12月28日
第5页
§2.1 认识 Windows系统
一、启动windows
如果我们的计算机安装的是Windows操作系统, 那么,开机后会自动windows,稍等片刻,windows的 界面就会展现在我们面前。
Windows是微软公司开发的基于图形用户界面的 操作系统。在中文Windows环境下,主要通过鼠标 进行操作,非常方便;在图形方式下,用户的所有 操作都非常直观;通过完善的通信和网络功能,使 其更接近网络操作系统。
打开“我的电脑”可以看到这台计算机的所有软件和 硬件资源。 “我的文档“用来存放自己的文档。 “回收站”用于暂时存放被删除的文件、文件夹,以便在 需要时恢复,如清空“回收站”里暂存的文件与文件夹就 会被彻底删除。 “IE”用来边接因特网。
2020年12月28日
第8页
三、对桌面的操作
人们可以根椐自己的需要来对桌面上的图标进行 删除、添加、排列等操作。 删除图标:把鼠标指针指向桌面上某个图标对象, 单击鼠标右键,从弹出的快捷菜单中选取“删除 “命令。 添加图标:可以从别的地方用鼠标拖动的办法来 创建一个新的图标. 排列图标:可以用鼠标把桌面上的图标 拖放到桌 面的任意位置,也可以在桌面上右击鼠标,从弹 出的快捷菜单中选取“排列图标” 来排列图标。
2020年12月28日
第9页
任务栏包括四个部分:
• 开始按钮:一般位于桌面底端任务栏的最左边, 通过它可以实现Windows的大部分功能。 • 快速启动工具栏:包括几个常用的程序图标,当 桌面被遮挡时,可单击此处图标来快速启动程序。
• 任务状态栏:一个应用程序运行后,就会在这儿 出现一个按钮。当多个程序窗口打开时,可以用任 务栏状态栏上的按钮进行快速切换。
2020年12月28日
第5页
§2.1 认识 Windows系统
一、启动windows
如果我们的计算机安装的是Windows操作系统, 那么,开机后会自动windows,稍等片刻,windows的 界面就会展现在我们面前。
Windows是微软公司开发的基于图形用户界面的 操作系统。在中文Windows环境下,主要通过鼠标 进行操作,非常方便;在图形方式下,用户的所有 操作都非常直观;通过完善的通信和网络功能,使 其更接近网络操作系统。
打开“我的电脑”可以看到这台计算机的所有软件和 硬件资源。 “我的文档“用来存放自己的文档。 “回收站”用于暂时存放被删除的文件、文件夹,以便在 需要时恢复,如清空“回收站”里暂存的文件与文件夹就 会被彻底删除。 “IE”用来边接因特网。
2020年12月28日
第8页
三、对桌面的操作
人们可以根椐自己的需要来对桌面上的图标进行 删除、添加、排列等操作。 删除图标:把鼠标指针指向桌面上某个图标对象, 单击鼠标右键,从弹出的快捷菜单中选取“删除 “命令。 添加图标:可以从别的地方用鼠标拖动的办法来 创建一个新的图标. 排列图标:可以用鼠标把桌面上的图标 拖放到桌 面的任意位置,也可以在桌面上右击鼠标,从弹 出的快捷菜单中选取“排列图标” 来排列图标。
Linux入门学习大全超详细 ppt课件

Linux操作系统
1994年,Linux的第一个产品版Linux 1.0问世,如 今Linux家族已经有了近140个不同的版本,所有这些 版本都基于最初的免费的源代码。不同的公司可以推 出不同的Linux产品,但是它们都必须承诺对初始源代 码的任何改动皆公布于众。
Linux操作系统
1.1.2 Linux的优点 Linux之所以受到广大计算机爱好者的喜爱,主要原
Linux操作系统
(2) 可以节省大量的资金。Linux是目前惟一可免费 获得的、为PC机平台上的多个用户提供多任务、多进 程功能的操作系统,这是人们喜欢使用它的主要原因。 就PC机平台而言,Linux提供了比其他任何操作系统都 要强大的功能,Linux还可以使用户远离各种商品化软 件提供者促销广告的诱惑,再也不用承受每过一段时 间就花钱去升级之苦,因此可以节省大量用于购买或 升级应用程序的资金。
Linux操作系统
(5) 提供功能强大而稳定的网络服务。Linux最优秀 的功能莫过于其网络功能。首先,它可以支持众多的 网 络 协 议 , 比 如 TCP/IP 协 议 、 SPX/IPX 协 议 、 NETBEUI协议、X.25协议等;其次,Linux可以提供非 常广泛的网络服务,比如WWW、FTP、E-mail、Telnet、 NFS、DHCP、Samba、防火墙以及企业的群组服务等, 这些功能为Linux提供了无与伦比的网络亲和性。
Linux操作系统
4. 实用工具 标准的Linux系统都有一套叫做实用工具的程序,它 们是专门的程序,例如编辑器、执行标准的计算操作 等。另外,用户也可以产生自己的工具。
Linux操作系统
一般来讲,实用工具可分为以下三类。 (1) 编辑器:用于编辑文件。Linux的编辑器主要 有vi、emacs、pico等。 (2) 过滤器:用于接收并过滤数据。Linux的过滤 器(Filter)读取从用户文件或其他地方输入的数据,经 检查和处理后输出结果。从这个意义上说,它们过滤 了经过它们的数据。Linux有不同类型的过滤器,一些 过滤器用行编辑命令输出一个被编辑的文件;另外一 些过滤器是按模式寻找文件并以这种模式输出部分数 据;
无操作系统的应用程序开发

NOTE: NOTE: 下面介绍的四种模式中采用的编址空间是经过二次存储器映射后的 空间,在没有了解存储器的二次映射之前, 空间,在没有了解存储器的二次映射之前,只需要了解此图中各个部分 的逻辑关系即可,不用去考虑物理地址。 的逻辑关系即可,不用去考虑物理地址。
无操作系统的嵌入式软件运行模式: 无操作系统的嵌入式软件运行模式:
跳转的代码如下: (4) 跳转的代码如下: IMPORT C_Entry ;导入应用程序的C_Entry函数 导入应用程序的C_Entry函数 C_Entry ;跳转到该函数,跳转地址由 跳转到该函数, BL C_Entry 编译器在编译时计算 NOTE: NOTE: 应用程序存放到SDRAM的引导程序后, 应用程序存放到SDRAM的引导程序后,但其起始地址 SDRAM的引导程序后 并不固定,在编译时, 并不固定,在编译时,应用程序的起始地址随着引导程序 的大小而变化。 的大小而变化。
4.1 软件开发数据流向图ห้องสมุดไป่ตู้
• 在不使用嵌入式操作系统的情况下,在ADS上能完成从 在不使用嵌入式操作系统的情况下, ADS上能完成从 BootLoader到应用程序的整个开发流程 使用JTAG 到应用程序的整个开发流程, JTAG仿真器 BootLoader到应用程序的整个开发流程,使用JTAG仿真器 进行调试,RS-232串口作为标准输入 输出, 串口作为标准输入/ 进行调试,RS-232串口作为标准输入/输出,数据流向如 4.1所示 所示。 P120 图4.1所示。 • 在调试阶段: 在调试阶段: 使用ADS开发应用程序,编译生成带调试信息的.axf ADS开发应用程序 使用ADS开发应用程序,编译生成带调试信息的.axf 文件; 文件; 用JTAG仿真器连接实验板和PC,将实验板上电,打 JTAG仿真器连接实验板和PC,将实验板上电, 仿真器连接实验板和PC 开调试代理软件检测到ARM ARM核处理器 开调试代理软件检测到ARM核处理器 AXD中使用setmem或obey命令设置CPU特殊功能寄 中使用setmem 命令设置CPU 在AXD中使用setmem或obey命令设置CPU特殊功能寄 存器配置存储空间; 存器配置存储空间; 加载.axf文件到SDRAM存储器就可以调试运行了; .axf文件到SDRAM存储器就可以调试运行了 加载.axf文件到SDRAM存储器就可以调试运行了; 利用AXD提供的单步、断点等调试手段, AXD提供的单步 利用AXD提供的单步、断点等调试手段,可以方便地 查看CPU寄存器、存储器内容。 CPU寄存器 查看CPU寄存器、存储器内容。
无操作系统的嵌入式软件运行模式: 无操作系统的嵌入式软件运行模式:
跳转的代码如下: (4) 跳转的代码如下: IMPORT C_Entry ;导入应用程序的C_Entry函数 导入应用程序的C_Entry函数 C_Entry ;跳转到该函数,跳转地址由 跳转到该函数, BL C_Entry 编译器在编译时计算 NOTE: NOTE: 应用程序存放到SDRAM的引导程序后, 应用程序存放到SDRAM的引导程序后,但其起始地址 SDRAM的引导程序后 并不固定,在编译时, 并不固定,在编译时,应用程序的起始地址随着引导程序 的大小而变化。 的大小而变化。
4.1 软件开发数据流向图ห้องสมุดไป่ตู้
• 在不使用嵌入式操作系统的情况下,在ADS上能完成从 在不使用嵌入式操作系统的情况下, ADS上能完成从 BootLoader到应用程序的整个开发流程 使用JTAG 到应用程序的整个开发流程, JTAG仿真器 BootLoader到应用程序的整个开发流程,使用JTAG仿真器 进行调试,RS-232串口作为标准输入 输出, 串口作为标准输入/ 进行调试,RS-232串口作为标准输入/输出,数据流向如 4.1所示 所示。 P120 图4.1所示。 • 在调试阶段: 在调试阶段: 使用ADS开发应用程序,编译生成带调试信息的.axf ADS开发应用程序 使用ADS开发应用程序,编译生成带调试信息的.axf 文件; 文件; 用JTAG仿真器连接实验板和PC,将实验板上电,打 JTAG仿真器连接实验板和PC,将实验板上电, 仿真器连接实验板和PC 开调试代理软件检测到ARM ARM核处理器 开调试代理软件检测到ARM核处理器 AXD中使用setmem或obey命令设置CPU特殊功能寄 中使用setmem 命令设置CPU 在AXD中使用setmem或obey命令设置CPU特殊功能寄 存器配置存储空间; 存器配置存储空间; 加载.axf文件到SDRAM存储器就可以调试运行了; .axf文件到SDRAM存储器就可以调试运行了 加载.axf文件到SDRAM存储器就可以调试运行了; 利用AXD提供的单步、断点等调试手段, AXD提供的单步 利用AXD提供的单步、断点等调试手段,可以方便地 查看CPU寄存器、存储器内容。 CPU寄存器 查看CPU寄存器、存储器内容。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
4
NOTE: * 程序是在SDRAM里运行的,因此掉电后不能保存; * 应用程序调试完毕后,将其加入BootLoader,编译生
成不带调试信息的.bin文件,bin格式的映象文件只能全 速运行;
* 烧写.bin文件需要一个专门的Flash烧写程序(扩展名 为.axf)。
* 先采用上述调试软件的方法将烧写程序.axf文件加载 到SDRAM,然后选择AXD的File菜单里面的Load Image命令,将应用程序.bin文件加载到SDRAM的合适 地址上,运行烧写程序,就能将.bin文件烧写到Flash存 储器了。
* 在调试或烧写过程中,可以将必要信息通过RS-232 串口输出到PC超级终端进行显示。
2020/12/10
5
4.2无操作系统的软件运行模式
• 不使用操作系统时,嵌入式软件系统包含引导程序和应用程 序两个部分:
(1)引导程序是嵌入式软件系统中必不可少的部分,完成硬件 初始化、存储器空间映射和设置系统工作状态等工作。
用JTAG仿真器连接实验板和PC,将实验板上电,打开 调试代理软件检测到ARM核处理器
在AXD中使用setmem或obey命令设置CPU特殊功能 寄存器配置存储空间;
加载.axf文件到SDRAM存储器就可以调试运行了;
利用AXD提供的单步、断点等调试手段,可以方便地查
2020看/12/C10PU寄存器、存储器内容。
在此模式下,引导程序和其扩展的部分在一个工程中, 编译为.bin文件,最后烧写到Flash存储器的地址0x0处, 应用程序既可以随引导程序一起编译,也可以单独编译并 下载到指定地址。
如P122 图4.4所示,引导程序完成后跳转到扩展程序中, 可以进行串口初始化、人-机交互、按键判断、硬件电路 自检、操作系统升级等功能,也可以根据输入命令跳转到 相应程序或引导操作系统运行。
• 本章的内容:
* 介绍BootLoader的功能
* 分析s3c4510b的编址空间映射
* 分析BootLoader的启动过程
* 提出工程中BootLoader的解决方案。
* 用实例介绍不使用嵌入式操作系统的软件开发流程和代码 固化方法。
• 本章的目标:
让读者能使用ADS开发一个完整的不使用操作系统的嵌入
(2)应用程序则根据不同应用目的而编写。
• 无操作系统下的各种软件运行模式的主要区别在于:
引导程序和应用程序的各种组成方式。
NOTE:
下面介绍的四种模式中采用的编址空间是经过二次存储器映射后的空间, 在没有了解存储器的二次映射之前,只需要了解此图中各个部分的逻辑 关系即可,不用去考虑物理地址。
2020/12/10
LDR R1,=0X10000 MOV PC,R1 NOTE:
这种模式下,应用程序和引导程序被单独编译为两个.bin 文件,因此应用程序可以灵活地烧写到任意地址处。
本例中应用程序被烧写到0x10000为例。
2020/12/10
9
3、扩展引导程序,使其初始化功能结束后即可跳转到一 个函数入口,也可以跳转到指定地址
2020/12/10
2
• 嵌入式系统不管是否使用操作系统,都需要一段引导程序 BootLoader来初始化硬件,为操作系统或应用程序的运行 做准备。
• BootLoader是硬件与软件的桥梁,其作用就是初始化硬件 设备、编址空间映射,建立系统软、硬件的正常工作状态。
• BootLoader的开发已经成为嵌入式系统教学和工程中的技 术瓶颈。
2式020系/12/统10 。
3
4.1 软件开发数据流向图
• 在不使用嵌入式操作系统的情况下,在ADS上能完成从 BootLoader到应用程序的整个开发流程,使用JTAG仿 真器进行调试,RS-232串口作为标准输入/输出,数据流 向如P120 图4.1所示。
• 在调试阶段:
使用ADS开发应用程序,编译生成带调试信息的.axf文 件;
6
无操作系统的嵌入式软件运行模式:
1、应用程序和引导程序在一个工程中一起编译为一个.bin文 件,烧写到Flash存储器地址0x0,引导程序运行结束后直接跳 转到应用程序的入口处:
(1)BootLoader启动后,Flash中的所有程序被复制到 SDRAM存储器中,如图4.2 P121
(2) 引导程序结束后就进入应用程序,这种跳转方式通过在引 导程序中导入应用程序主函数名称来实现。
并不固定,在编译时,应用程序的起始地址随着引导程序 的大小而变化。
2020/12/10
8
2、应用程序和引导程序分别编译为两个.bin文件,引导 程序烧写到Flash存储器地址0x0,应用程序则烧写到存储器 中的某个地址,引导程序运行结束后跳转到该地址运行应用 程序
(1)BootLoader启动后,Flash中的所有程序被复制到 SDRAM存储器中,如图4.3 P121 (2) 引导程序结束后就进入应用程序,即将PC指针跳转到应 用程序的起始地址,跳转的代码如下:
(3)从汇编程序跳转到应用程序时,编译器会自动计算跳转的 目的地址。
。
2020/12/10
7
(4) 跳转的代码如下: IMPORT C_Entry ;导入应用程序的C_Entry函数 BL C_Entry ;跳转到该函数,跳转地址由编译器
在编译时计算
NOTE: 应用程序存放到SDRAM的引导程序后,但其起始地址
这种模式集合了前两种模式的特点,启动过程较为灵活, 并可以提供丰富的扩展功能,在实际工程中得到了广泛应 用。
常用的通用引导程序,如U-Boot等都是采用这种模式。
2020/12/10
10
4、应用程序编译为.axf 文件,下载到SDRAM存储器中运 行
在此模式下,工程文件仅由应用程序组成,不需要包 含引导程序,程序编译完毕后由AXD调试软件通过JTAG 口下载到SDRAM中,下载地址由ADS在程序编译前指定, 其地址信息附加在编译后生成的.axf文件中。
第4章 无操作系统的应用软件开发
202件系统分为无操作系统和有操作系统。
• 前者包括引导程序和应用程序,后者则在引导程序结束后 运行操作系统,并将应用程序作为任务添加到操作系统中。
NOTE:
运行操作系统会占用大量宝贵的硬件资源,因此很多硬 件资源有限、任务简单的嵌入式应用并不使用操作系统。