那只能说你没学好。你说你想学arm,ok,告诉你,arm,以裸奔也可以上操作系统。裸奔多适合用于工控,操作系统的应用更适合用于终端设备。有关操作系统开发的知识又包括bootloader,驱动开发,上层应用软件开发。如果你连入门的单片机都没学过,建议你从,片机和avr单片机学起。在专门的编程器硬件上进行操作。而Bootloader则可直接在系统中进行,可以通过串口等通信接口进行更新代码。对于业余爱好者或初学者而言,掌握单片机flash的编程及擦除等基本操作,是进行嵌入式系统开发的必备技能。同时,需要了解各种单片机芯片的具体flash架构及使用方式,才能针对具体应用进行编程和优化。
链接的不同之处就是ROM模型,一般,按照单片机对应的开发工具,默认都是将ROM的起始地址设置到了厂家规定的启动地址处,要将程序编译到其他地址,只需要找到这个ROM的配置修改其起始地址和空间大小即可。例如Keil里面的Target页面或者sct文件,还有DSP中的link文件…。嵌入式系统是软硬结合的东西,搞嵌入式开发的人有两类。一类是学电子工程、通信工程等偏硬件专业出身的人,他们主要是搞硬件设计,有时要开发一些与硬件关系最密切的最底层软件,如BootLoader、BoardSupportPackage(像PC的BIOS一样,往下驱动硬件,往上支持操作系统),最初级的硬件驱动程序等。
这两个事并不是同类,没法比哪个好。单片机属硬件应用范畴,即要学电路,需要很多硬件电路知识,还要学编程。而Linux是操作系统,属软件编程范畴,几乎是用电脑就行了。所以,看你喜欢硬件还是软件了,及工作方向是哪方面的。就单片机而言,目前涉及到的范围也是很宽的,单片机只是泛指了。无限状态机”!!!OS 应用程序构成了无限状态。而如果没有应用程序,则本质上OS是一个基于消息的大循环(所有操作系统都不例外)没有用OS的时候,你开发的单片机程序是一个操作系统 应用程序的混合物!固化就是用各种办法写入到非易失存储器(EPROM、ROM、FLASH。
bootloader开发流程
Bootloader是一种引导加载程序。Bootloader是嵌入式系统启动时的第一个程序,其主要任务是负责初始化本地图像和从指定的存储位置加载操作系统内核。以下是关于Bootloader的,Bootloader的基本定义:Bootloader是嵌入式系统启动时的第一个软件程序。在计算机启动过程中,BIOS完成硬件初始化后。在汽车嵌入式开发中,Bootloader的重要性不言而喻,它的核心任务是更新Application程序。然而,为了应对复杂的软件升级需求和潜在风险,引入了SBL(SecondaryBootloader)。本文主要探讨SBL的定义、引入原因及其与FBL的关系。SBL,即次级Bootloader,本质上是用于重新编程软件,与Bootloader共同构成了更新流程。
而对于嵌入式系统而言,从事平台开发的人就是要亲自去开发出一个完整的计算机系统,这个过程包括l需求分析,硬件设计,驱动程序,Bootloader
暂无评论内容