嵌入式系统开发的模式与流程

1,嵌入式系统结构

1.1嵌入式系统硬件结构:

嵌入式硬件系统主要由微处理器MPU,外围电路,以及外设组成,微处理器为ARM嵌入式处理芯片

如ARM7TMDI系列及ARM9系类处理器,MPU为整个嵌入式系统硬件的核心,决定整个系统功能和应用领域。外围电路根据微处理器不同而略有不同,主要由电源管理模型,时钟模块,闪存FLASH随机存储器RAM,以及只读存储器ROM组成。这些设备是一个微处理器正常工作所必须的设备。外部设备将根据需要而各不相同,如通用通信接口USB,RS-232,RJ45等,输入输出设备,如键盘,LCD等外部设备根据需要定制。

嵌入式系统主要包括嵌入式微处理器,存储设备,模拟电路 ,电源电路、通信接口、以及外设电路、

1.2嵌入式系统的软件结构:

嵌入式系统与传统的单片机在软件方面最大的不同是可以移植操作系统。从而使软件设计层次化,传统的单片机在软件设计时将应用程序与系统,驱动等全部混在一起编译,系统的可扩展性,可维护性不高,上升到操作系统后,这一切就变得很简单可行了。

 嵌入式操作系统在软件商呈现明显的层次化,从与硬件相关的BSP到实时操作系统内核RTOS,到上层文件系统、GUI界面,以及用户层的应用软件。各部分可以清晰的划分出来。当然某些时候这种划分也不完全符合应用要求,需要程序设计人员根据特定的要求来设计自己的软件。

板级支持包(board support packet)主要用来完成底层硬件的相关信息,如驱动程序,加载实时操作系统等功能;

实时操作系统层主要就是常见的嵌入式操作系统,设计者根据自己特定的需要来设计移植自己的操作系统,即添加删除部分组件,添加相应的硬件驱动程序,为上层应用提供系统调用。

文件系统,GUI,以及系统管理主要应对需要,即如果需要文件系统及图形界面支持才需要设计,主要是为了应用程序开发应用程序提供更多更便捷更丰富的API接口。

应用软件层即用户设计的针对特定应用的应用软件,在开发应用软件时,可以用到底层提供的大量函数。

采用分层结构的软件设计使系统清晰明了,各个部分设计工作分工明确,从而避免整个系统过分庞大。

2, 嵌入式开发的模式及流程

2.1 嵌入式系统开发模式

 嵌入式系统开发分为软件开发部分和硬件开发部分。

嵌入式系统的开发过程一般采用“宿主机/开发板”开发模式,即利用宿主机(PC机)上丰富的软硬件资源及良好的开发环境和调试工具来开发目标板上的软件。然后通过交叉编译环境生成目标代码和可执行文件,通过串口/USB/以太网等方式下载到目标板上,利用交叉调试器在监控程序运行,实时分析,最后将程序下载固化到目标机上,完成整个开发过程。

 在软件设计上,结合ARM硬件环境及ADS软件开发环境所设计的嵌入式系统开发过程

基本包括以下几个步骤:

1,源代码编写,编写C/C++及汇编程序

2,程序编译,通过专用编译器编译程序,

3,软件仿真调试,在SDK中仿真软件运行情况。

4,程序下载,通过JTAG,USB,UART等方式联合调试程序

5,软硬件测试,调试。通过JTAG等方式联合调试程序

6,下载固化,程序无误,下载到产品上生产。

2.2 嵌入式系统开发流程

当前嵌入式开发已经逐步规范化,在遵循一般工作流程的基础上,嵌入式开发有其自身的一些特点,嵌入式系统开发的一般流程。主要包过系统需求分析(要求有严格的规范的技术要求)、,体系结构设计

软硬件及机械系统设计,系统集成,系统测试,最终得到最终产品。
————————————————
版权声明:本文为CSDN博主「catamout」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/catamout/article/details/5278521

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
嵌入式系统的启动流程可以分为四个阶段:bootloader阶段、uboot阶段、内核启动阶段和app启动阶段。 在bootloader阶段,系统会执行引导加载程序(bootloader),该程序负责初始化硬件并加载操作系统代码。它会检测设备的启动方式(如从闪存、SD卡或网络启动),并将操作系统的镜像文件加载到内存中。然后,它会将控制权转交给uboot阶段。 在uboot阶段,uboot会负责进一步初始化硬件,并提供启动选择和配置信息的界面。它可以让用户选择不同的启动选项,比如从不同的设备启动或者进入调试模式。一旦配置完成,uboot会将控制权转交给内核启动阶段。 在内核启动阶段,操作系统内核会被加载到内存中,并开始执行。内核会继续初始化硬件,并进行一系列的自检和初始化操作。它会设置中断处理程序、调度器和各种设备驱动程序,并最终启动用户空间进程。 最后,在app启动阶段,用户空间的应用程序开始执行。这些应用程序是用户自己开发的,可以实现各种功能,如通信、控制等。通常,app启动阶段是由内核调用用户空间的init进程来启动的。 综上所述,嵌入式系统的启动流程经历了bootloader阶段、uboot阶段、内核启动阶段和app启动阶段,每个阶段都有特定的任务和功能,最终完成系统的启动和运行。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [嵌入式系统那些事-一张图秒懂系统启动流程](https://blog.csdn.net/linus_ben/article/details/122709705)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [嵌入式系统启动流程基础概念、uboot工作流程、kernel启动流程、文件系统特性分析.](https://download.csdn.net/download/weixin_26806355/19769553)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值