




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1直流电机控制系统设计Linux下编程实现ARM系统的pwm输出,进而控制直流电动机。能够实现直流电动机得调速转动,也能够使其恒速转动。2采纳UP-NETARM2410-S嵌入式实验平台.PC机Pentium500以上,硬盘10G以上,Pc机操作系统REDHATLINUX9.0+MINICOM+ARMLINUX开发环境3 pwm发生器用到的存放器有1,。TCFG0准时器配置存放器02.TCFG1准时器配置存放器13TCON准时器控制存放器4TCNTB0&TCMPB0准时器计数缓冲区存放器和比较缓冲区存放器5TCNT00准时器察看存放器4硬件设计(框图,连线图)5软件设计。程序函数的流程图:dcm_main.c直流电动机调速控制程序#include<stdio.h>#include<fcntl.h>#include<string.h>#include<sys/ioctl.h>#defineDCM_IOCTRL_SETPWM (0x10)#defineDCM_TCNTB0 (16384)staticintdcm_fd=-1;char*DCMDEV="/dev/dcm/0raw";voidDelay(intt)inti;for(;t>0;t--)for(i=0;i<400;i++);/ *J>*J>*J>*J>*J>*J>*J>*J>*J>*J>*J>*J>*J>*J>*J>*J>*J>*J>*J>*J>*J>*J>*J>*J>*J>*J>*J>*J>*J>*J>*J>*J>*J>*J>*J>*J>*J>*J>*J>*J>*J>f*J>*J>*J>*J>*J>*J>*J>*J>*J>*J>*J>*J>*J>/<<pw*<pw*<pw*<pw*<pw*<pw*<pw*<pw*<pw*<pw*<pw*<pwfintmain(intargc,char**argv){inti=0;intstatus=1;intsetpwm=0;intfactor=DCM_TCNTB0/1024;if((dcm_fd=open(DCM_DEV,O_WRONLY))<0){printf("Erroropening%sdevice\n",DCM_DEV);return1;}for(;;){for(i=-512;i<=512;i++){if(status==1)setpwm=i;elsesetpwm=-i;ioctl(dcm_fd,DCM_IOCTRL_SETPWM,(setpwmioctl(dcm_fd,*factor));Delay(500);printf("setpwm=%d\n",setpwm);}status=-status;}close(dcm_fd);return0;}6简单地说,BootLoader就是在操作系统内核运行以前运行的一段小程序。经过这段小程序,我们能够初始化硬件设施、成立内存空间映照图,进而将系统的软硬件环境带到一个适合状态,以便为最后调用操作系统内批准备好正确的环境。在嵌入式系统中,往常并无像 BIOS那样的固件程序(注,有的嵌入式CPU也会内嵌一段短小的启动程序),因此整个系统的加载启动任务就完好由 BootLoader来达成。比如在一个鉴于ARM7TDMIcore的嵌入式系统中,系统在上电或复位时往常都从地点0x00000000处开始履行,而在这个地点处安排的往常就是系统的BootLoader程序。往常,BootLoader是严重地依靠于硬件而实现的, 特别是在嵌入式世界。所以,在嵌入式世界里成立一个通用的 BootLoader几乎是不行能的。指引加载程序是系统加电后运行的第一段软件代码。在PC机器中:PC机中的指引加载程序由BIOS(其实质就是一段固件程序)和位于硬盘MBR中的OSBootLoader(比方,LILO和GRUB等)一同构成。BIOS在达成硬件检测和资源分派后,将硬盘MBR中的BootLoader读到系统的RAM中,而后将控制权交给OSBootLoader。BootLoader的主要运行任务就是将内核映象从硬盘上读到RAM中,而后跳转到内核的进口点去运行,也即开始启动操作系统。在专用的嵌入式板子运行GNU/Linux系统已经变得愈来愈流行。一个嵌入式Linux系统从软件的角度看往常能够分为四个层次:指引加载程序。包含固化在固件(firmware)中的boot代码(可选),和BootLoader两大多数。Linux内核。特定于嵌入式板子的定制内核以及内核的启动参数。文件系统。包含根文件系统和成立于Flash内存设施之上文件系统。往常用 ramdisk来作为rootfs。用户使用程序。特定于用户的使用程序。有时在用户使用程序和内核层之间可能还会包含一个嵌入式图形用户界面。常用的嵌入式GUI有:QT和GTK等。常有bootloader:Redboot,Armboot,uboot,blob等等。要点介绍Blob和U-bootBlobBlob(BootLoaderObject)是由Jan-DerkBakkerandErikMouw公布的,是特意为StrongARM构架下的LART设计的BootLoader。Blob的最后版本是blob-2.0.5。Blob支持SA1100的LART主板,但用户也能够自行修改移植。Blob也供给两种工作模式,在启动时处于正常的启动加载模式,可是它会延时10秒等候终端用户按下随意键而将Blob切换到下载模式。假如在10秒内没实用户按键,则Blob连续启动Linux内核。其基本功能为:初始化硬件(CPU速度,储存器,中止,RS232串口)指引Linux内核并供给ramdisk给LART下载一个内核或许ramdisk给FLASH片更新内核或许ramdisk测定储存配置并通知内核-给内核供给一个命令行Blob功能比较齐备,代码较少,比较适合做改正移植,用来指引Liunx,当前大多数S3C44B0板都用Blob改正移植此后加载uClinux。U-BootU-Boot是由开源项目PPCBoot发展起来的,ARMboot并入了PPCBoot,和其余一些arch的Loader合称U-Boot。2002年12月17日第一个版本 公布,同时PPCBoot和ARMboot停止保护。U-Boot自觉布此后已更新6次,最新版本为,U-Boot的支持是连续性的。U-Boot支持的办理器构架包含PowerPC(MPC5xx,MPC8xx,MPC82xx,MPC7xx,MPC74xx,4xx),ARM(ARM7,ARM9,StrongARM,Xscale),MIPS(4Kc,5Kc),x86等等,U-Boot(UniversalBootloader)从名字就能够看出,它是在GPL下资源代码最完好的一个通用BootLoader。U-Boot供给两种操作模式:启动加载(Bootloading)模式和下载(Downloading)模式,并拥有大型BootLoader的全部功能。主要特征为:-SCC/FEC以太网支持-BOOTP/TFTP指引-IP,MAC预置功能在线读写FLASH,DOC,IDE,IIC,EEROM,RTC支持串行口kermit,S-record下载代码辨别二进制、ELF32、pImage格式的Image,对Linux指引有特其余支持监控(minitor)命令集:读写I/O,内存,存放器、内存、外设测试功能等脚本语言支持(近似BASH脚本)支持WatchDog,LCDlogo,状态指示功能等U-Boot的功能是这样之强盛,涵盖了绝大多数办理器构架,供给大批外设驱动,支持多个文件系统,附加调试、脚本、指引等工具,特别支持Linux,为板级移植做了大批的工作。 版本特别包含了对SA1100和44B0芯片的移植,所以44B0移植主假如针对Board的移植,包含FLASH、内存配置以及串口波特率等等。U-Boot的完好功能性和后续不停的支持,使系统的升级保护变得十分方便。u-Boot 内核和根文件系统烧写请翻开超级终端和实验箱电源,进入 uboot。1、在内核和根文件系统的烧写以前需要先配置网络环境1)uboot启动此后使用printenv查察环境变量2)改正服务器ip和当地ip、windows平台下tftp服务的配置3、烧写根文件系统1)把根文件系统映像下载到RAM的0x30008000处:2)正式烧写以前先擦出flash:nanderase0x2800000x4000003)开始烧写根文件系统到nandflash:nandwrite0x300080000x2800000x2500004、烧写内核1)把内核下载到RAM的0x30008000处:tftp0x30008000uImage2)正式烧写以前先擦出flash:nanderase0x800000x2000003)开始烧写内核到nandflash:nandwrite0x300080000x800000x2000007请翻开虚构机和超级终端,并翻开实验箱电源进入linux。在宿主机长进行调试改正程序。1、将driver文件夹、kernel文件夹和app文件夹拷贝拷贝到linux的/home/bc目录下。2在宿主机上翻开程序所在目录,编写好适合的Makefile文件3进行编译,先makeclean下,而后自动编译make。假如有错误提示进行改正,直到没错为止。4、先minicom达成接口等的配置后将/home/bc挂载到目标板的上mount-tnfs-onolock192.168.0.XXX:/home/bc/mnt/nfs3、进入driver目录,加载驱动、lsmod查察能否安装好回到dc_motor目录cd..而后运行程序,./dcm_main在minicom窗口会显示转速的变化。察看试验箱电动机在运行。此时程序调试运行成功8剖析总结在编写Makefile文件时注意
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 买商铺投资合同样本
- 出租仓库商铺合同标准文本
- 出口机械加工合同范例
- 农机借用合同样本
- 健身培训协议合同范例
- 净化设备采购合同样本
- 关于车祸赔偿合同标准文本
- 京东转让合同标准文本
- 供货商合同样本
- 农副产购销合同样本
- 2025年北京市房山区高三一模政治试卷(含答案)
- 防造假培训课件教案模板
- 2025 年深入贯彻中央八项规定精神学习教育实施方案
- 邢台2025年河北邢台学院高层次人才引进100人笔试历年参考题库附带答案详解
- 海姆立克急救(生命的拥抱)课件
- 土方回填试验报告
- 产前筛查实验室标准操作程序文件
- T∕TAF 090-2021 移动终端适老化技术要求
- 类文阅读-11 宇宙生命之谜
- WordA4信纸(A4横条直接打印版)
- 3d跨度速查表[精品]
评论
0/150
提交评论