嵌入式C编程11C编写裸机程序课件_第1页
嵌入式C编程11C编写裸机程序课件_第2页
嵌入式C编程11C编写裸机程序课件_第3页
嵌入式C编程11C编写裸机程序课件_第4页
嵌入式C编程11C编写裸机程序课件_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

C编写裸机程序课程安排裸机开发板环境裸机硬件接口裸机驱动程序6410开发板采用SamsungS3C6410为微处理器1.CPU处理器 SamsungS3C6410A,ARM1176JZF-S核,运行主频533MHz,最高667Mhz2.SDRAM内存 在板128MB/256MBDDRRAM,32bit数据总线核心板接口资源

1个100M以太网RJ-45接口(采用DM9000芯片)

4个串行口1个Jtag接口1个miniUSBSlave-OTG2.0接口

1个SD卡存储接口1路立体声音频输出接口,一路麦克风接口4USERLeds

8个侧立按键接口布局1、引导程序(开机第一个运行的程序),固化在固件(SD卡/Flash)上,大多嵌入式系统选用使用开源Uboot2、Uboot运行起来后会自动加载运行OS,随后执行APP3、开发板系统启动过程:引导程序嵌入式系统组成裸机只有硬件部分,还未安装任何软件--此时系统只是一堆废铁裸机程序

简单的嵌入式系统(如单片机系统)不配置OS层,程序需要自己始化硬件环境来运行,称为裸机程序裸机程序需要直接操作硬件设备裸机程序一般采用少量汇编加C语言来编译,如PC的BOIS就是裸机程序在嵌入式系统中,裸机程序由Bootloader来调度(当然也可以让裸机程序实现自引导功能)

裸机交叉开发在嵌入式开发过程中有宿主机和目标机的角色之分

宿主机(PC机)是编译嵌入式软件的计算机

目标机(开发板)是运行嵌入式软件的硬件平台这里我们先联通PC机与开发板的串口和网络连接裸机运行环境1、连接好PC机与开发板串口,在putty启动串口终端

裸机运行环境3、进入Uboot命令行shell4、检查环境配置

进入shell显示环境配置服务器IP地址裸机运行环境5、将Linux宿主机eth0配置为serverip6、连接好PC机与开发板网线,确认网络联通

从开发板pingPC机网络联通裸机运行环境7、确认在开发板能通过tftp服务下载在Linux宿主机上的文件

Linux宿主机/t目录测试文件内容下载到0x50000000内存起始地址0x50000000地址内容首先要在Linux宿主机上配置TFTP服务器:详见“TFTP服务器配置”文档裸机程序模板2、C入口程序:main.c

裸机程序模板3、编译脚本:build.sh

直接输出到/t目录裸机程序模板4、从开发板下载main.bin5、裸机运行

下载到0x50000000调转到0x50000000执行程序程序输出LED与GPIO1、LED是开发中最常用的状态指示设备本开发板具有4个用户可编程LED,它们直接与CPU的GPIO相连接2、GPIO(General-PurposeIOports),通用IO口

在数字电路中,往往CPU会引出一些通用的管脚

某管脚可以输出逻辑电平来表示0、1,用于控制数字开关:如继电器等

有些管脚也能接收输入:如数字报警器的输入等

这些管脚不是针对特定硬件进行设计,因此称为通用IO脚,即GPIO

LED与GPIO3、LED与GPIO连接:参考主板原理图Tiny6410-1107.pdf

LED1~LED4对应的GPK4~GPK7引脚

LED控制原理1、当某一管脚(nLed1-nLed4)置低:电路接地,跟3.3v电源之间有压差,Led电路被导通,电流流经Led发光二极管使其点亮。2、当某一管脚(nLed1-nLed4)置高:电路被切断,Led发光二极管被熄灭。3、因此,驱动程序只要将GPIO管脚设置为输出,对某个GPIO管脚置低、置高,就会控发光二极管的点亮和熄灭。相关寄存器GPxCON用于选择引脚功能:配置成输入?输出?GPxDAT用于读/写引脚数据:输入/输出高电平?低电平?另外,GPxUD用于确定是否使用内部上/下拉电阻控制位定义每四位对应一个引脚控制:0000配置为输入,0001配置为输出数据位定义每1位对应一个引脚数据:0输出低电平,1输出高电平课程安排裸机开发板环境裸机硬件接口裸机驱动程序驱动接口1、相关寄存器定义2、初始化函数3、设置函数驱动应用1、流水灯程序驱动应用2、裸机程序延时处理驱动应用3、编译程序4、下载到开发板5、执行裸

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论