嵌入式C编程11C编写裸机程序

嵌入式C编程11C编写裸机程序

ID:39587092

大小:1.46 MB

页数:37页

时间:2019-07-06

嵌入式C编程11C编写裸机程序_第1页
嵌入式C编程11C编写裸机程序_第2页
嵌入式C编程11C编写裸机程序_第3页
嵌入式C编程11C编写裸机程序_第4页
嵌入式C编程11C编写裸机程序_第5页
资源描述:

《嵌入式C编程11C编写裸机程序》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、C编写裸机程序课程安排n裸机开发板环境n裸机硬件接口n裸机驱动程序6410开发板采用SamsungS3C6410为微处理器1.CPU处理器SamsungS3C6410A,ARM1176JZF-S核,运行主频533MHz,最高667Mhz2.SDRAM内存在板128MB/256MBDDRRAM,32bit数据总线6410开发板底板+核心板核心板接口资源•1个100M以太网RJ-45接口(采用DM9000芯片)•4个串行口•1个Jtag接口•1个miniUSBSlave-OTG2.0接口•1个SD卡存储接口•1路

2、立体声音频输出接口,一路麦克风接口•4USERLeds•8个侧立按键接口布局启动模式6410开发板选择了其中两种启动方式,nandflash启动和SD卡启动:•拨动S2开关到SDBOOT标识一侧时,系统将从SD卡启动:引导程序固化在SD卡中•拨动S2开关到Nand标识一侧时,系统将从NandFlash启动:引导程序固化在Nand中引导程序1、引导程序(开机第一个运行的程序),固化在固件(SD卡/Flash)上,大多嵌入式系统选用使用开源Uboot2、Uboot运行起来后会自动加载运行OS,随后执行APP3、开

3、发板系统启动过程:嵌入式系统组成裸机只有硬件部分,还未安装任何软件--此时系统只是一堆废铁软件驱动硬件,为设备使用者提供服务,典型嵌入式软件层次划分:裸机程序简单的嵌入式系统(如单片机系统)不配置OS层,程序需要自己始化硬件环境来运行,称为裸机程序l裸机程序需要直接操作硬件设备l裸机程序一般采用少量汇编加C语言来编译,如PC的BOIS就是裸机程序l在嵌入式系统中,裸机程序由Bootloader来调度(当然也可以让裸机程序实现自引导功能)裸机交叉开发在嵌入式开发过程中有宿主机和目标机的角色之分•宿主机(PC机)

4、是编译嵌入式软件的计算机•目标机(开发板)是运行嵌入式软件的硬件平台这里我们先联通PC机与开发板的串口和网络连接裸机运行环境1、连接好PC机与开发板串口,在putty启动串口终端裸机运行环境2、从NandFlash启动,终止OS加载过程,进入Uboot菜单3秒内按下任意键裸机运行环境3、进入Uboot命令行shell进入shell4、检查环境配置显示环境配置服务器IP地址裸机运行环境5、将Linux宿主机eth0配置为serverip6、连接好PC机与开发板网线,确认网络联通从开发板pingPC机网络联通裸机

5、运行环境7、确认在开发板能通过tftp服务下载在Linux宿主机上的文件首先要在Linux宿主机上配置TFTP服务器:Linux宿主机/tftpboot目录详见“TFTP服务器配置”文档测试文件内容下载到0x50000000内存起始地址0x50000000地址内容裸机程序模板1、汇编入口程序start.s裸机程序模板2、C入口程序:main.c裸机程序模板3、编译脚本:build.sh直接输出到/tftpboot目录裸机程序模板4、从开发板下载main.bin下载到0x500000005、裸机运行调转到0x5

6、0000000执行程序程序输出课程安排n裸机开发板环境n裸机硬件接口n裸机驱动程序LED与GPIO1、LED是开发中最常用的状态指示设备本开发板具有4个用户可编程LED,它们直接与CPU的GPIO相连接2、GPIO(General-PurposeIOports),通用IO口在数字电路中,往往CPU会引出一些通用的管脚某管脚可以输出逻辑电平来表示0、1,用于控制数字开关:如继电器等有些管脚也能接收输入:如数字报警器的输入等这些管脚不是针对特定硬件进行设计,因此称为通用IO脚,即GPIOLED与GPIO3、LED

7、与GPIO连接:参考主板原理图Tiny6410-1107.pdfLED1~LED4对应的GPK4~GPK7引脚LED控制原理1、当某一管脚(nLed1-nLed4)置低:电路接地,跟3.3v电源之间有压差,Led电路被导通,电流流经Led发光二极管使其点亮。2、当某一管脚(nLed1-nLed4)置高:电路被切断,Led发光二极管被熄灭。3、因此,驱动程序只要将GPIO管脚设置为输出,对某个GPIO管脚置低、置高,就会控发光二极管的点亮和熄灭。LED占用资源相关寄存器GPxCON用于选择引脚功能:配置成输入?

8、输出?GPxDAT用于读/写引脚数据:输入/输出高电平?低电平?另外,GPxUD用于确定是否使用内部上/下拉电阻控制位定义每四位对应一个引脚控制:0000配置为输入,0001配置为输出数据位定义每1位对应一个引脚数据:0输出低电平,1输出高电平课程安排n裸机开发板环境n裸机硬件接口n裸机驱动程序驱动接口1、相关寄存器定义2、初始化函数3、设置函数驱动应用1、流水灯程序驱动应用2、裸机程序延时处理驱动

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。