S2C6410裸机程序学写笔记(一)什么是裸机程序

本文介绍了作者学习ARM裸机程序的初衷和意义,强调了裸机程序在嵌入式系统中的角色。内容涵盖了裸机程序的定义、开发流程,以及在ARM平台上的开发工具如RVDS的选择和使用,同时提到了编译器类型、程序下载方法,特别是针对S3C6410开发板的特性进行了讨论。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    买了开发板有一段时间了,由于之前没有学习过ARM9,直接学习的ARM11,而在网上ARM11的学习资料有又相对较少。本人经过了一段时间的摸索,于是想把学习过程记录下来,供友人参考指正。

    想学ARM之前讨教过一些人,建议向学写裸机程序,不要一上来就抱着内核的书啃。所以本人就开始了裸机开发的历程。在嵌入式系统中分为硬件和软件。软件的作用就是驱动硬件,为设备使用者提供服务。典型的嵌入式软件层次分为:驱动层、OS、应用软件。在简单的嵌入式系统中(如51单片机系统)是不配置OS层。此处所说的系统是指一个完整体系的意思,例如:一个51的单片机加上18B20加数码管显示就构成了一个测温系统。所以在简单的嵌入式系统中程序需要自己初始化硬件环境来运行,成为裸机程序。其实我之前写的51的程序就是裸机程序。裸机的意思是指不带操作系统。裸机程序需要直接操作硬件设备。裸机程序一般采用少量的汇编加C语言来编写的。因为汇编在访问硬件方便更有执行力。所以学习一些汇编还是有必要的。例如PC机上的BIOS就是裸机程序。BOIS=Basic Input/Output System,基本输入输出系统,全称是ROM-BOIS,是只读存储器基本输入/输出系统的简写,它实际是一组被固化到电脑中,为电脑提供最低级最直接的硬件控制的程序,它是连通软件程序和硬件设备之间的枢纽,通俗地说,BOIS是硬件与软件程序之间的一个“转换器”或者说是接口(虽然它本身也只是一个程序),负责解决硬件的即时要求,并按软件对硬件的操作要求具体执行。

   基于ARM的嵌入式系统一般都存在OS层,应用程序无需直接操作硬件,学写ARM裸机程序的意义有:裸机程序可以作为嵌入式操作系统的BOIS。为写驱动程序打下基础。进行硬件验证。联系ARM汇编,硬件控制的技巧。

   裸机程序的开发流程:编码---->编译------>调试------->下载

   编码的过程中我们会用到汇编语言和C语言。在windows环境下的编码工具主要有:ADS、RVDS、MDK。由于我买的是S3C6410的板子,所以我选择RVDS2.2作为开发环

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值