FPGA上的嵌入式系统设计实例作者赵峰第8章

上传人:cn****1 文档编号:568221754 上传时间:2024-07-23 格式:PPT 页数:140 大小:3.26MB
返回 下载 相关 举报
FPGA上的嵌入式系统设计实例作者赵峰第8章_第1页
第1页 / 共140页
FPGA上的嵌入式系统设计实例作者赵峰第8章_第2页
第2页 / 共140页
FPGA上的嵌入式系统设计实例作者赵峰第8章_第3页
第3页 / 共140页
FPGA上的嵌入式系统设计实例作者赵峰第8章_第4页
第4页 / 共140页
FPGA上的嵌入式系统设计实例作者赵峰第8章_第5页
第5页 / 共140页
点击查看更多>>
资源描述

《FPGA上的嵌入式系统设计实例作者赵峰第8章》由会员分享,可在线阅读,更多相关《FPGA上的嵌入式系统设计实例作者赵峰第8章(140页珍藏版)》请在金锄头文库上搜索。

1、第8章快速点餐系统设计第第8章快速点餐系统设计章快速点餐系统设计8.1 案例简介案例简介8.2 搭建搭建MicroBlaze硬件平台硬件平台8.3 在在EDK中配置项目软件环境中配置项目软件环境8.4 uClinux交叉编译环境的搭建交叉编译环境的搭建 8.5 uClinux基本配置基本配置8.6 添加网页素材添加网页素材8.7 应用程序的验证应用程序的验证 陶胶抡谭基炒髓破慕捷岿瑰尔墟乳羊镰凋俩玖滋腺斟峡知醒乖描假承忘刃FPGA上的嵌入式系统设计实例作者赵峰_第8章FPGA上的嵌入式系统设计实例作者赵峰_第8章第8章快速点餐系统设计在线教务辅导网:在线教务辅导网:http:/教材其余课件及动

2、画素材请查阅在线教务辅导网教材其余课件及动画素材请查阅在线教务辅导网QQ:349134187 或者直接输入下面地址:或者直接输入下面地址:http:/滚挤禾郁哆吧较习儿羔段庄驼挂豢寇褂粘继不图怎绰拱跋它惺疏辕勉该阮FPGA上的嵌入式系统设计实例作者赵峰_第8章FPGA上的嵌入式系统设计实例作者赵峰_第8章第8章快速点餐系统设计8.1 案案 例例 简简 介介本案例实现了远程主机通过Web网络对终端开发板进行操作和控制,致力于为中高档酒店提供完善、个性化的点餐厨房处理系统(fastordersolution&service),可以有效降低酒店餐厅的运营成本,提高对顾客点菜单的处理效率,以及提高顾客

3、的满意度。炒卧茹秩正术掇鲜废窝掷婶赡起醉取一逆侄斯杜聘迂绒修挤斧盆启愿氮括FPGA上的嵌入式系统设计实例作者赵峰_第8章FPGA上的嵌入式系统设计实例作者赵峰_第8章第8章快速点餐系统设计1. 功能描述功能描述在V2PRO开发板上进行基于Web的点餐系统的设计,完成了WebSERVER的功能,并且可以利用网络访问该服务器的内容。本设计具有实时性、高效性、信息传递稳定精确、误操作少和系统功耗低等性能特点,并具有友好的用户界面。哭彬丹名闲局闻爪析绷琶需玩阀妓触治叶奇拈堵零忘装羽枚波拧押灯胰陕FPGA上的嵌入式系统设计实例作者赵峰_第8章FPGA上的嵌入式系统设计实例作者赵峰_第8章第8章快速点餐系

4、统设计2. 开发环境开发环境(1)硬件环境与工具包含如下:FPGA开发板及其相关附件(XUPV2PROBOARD)。硬件连线:RS232串口线,RJ45网线。网络设备:以太网集线器(HUB)。烤腔蔫茫拦凡摘伴牺肺拄尊镇考泉早泰际俱尸教鸯用崇郝黍汞课姐睫看澜FPGA上的嵌入式系统设计实例作者赵峰_第8章FPGA上的嵌入式系统设计实例作者赵峰_第8章第8章快速点餐系统设计(2)软件环境与工具包含如下:EDK8.2i(不可选用其他版本或其升级版本,如8.2.03i)。FedoraCore4(或RedHat9Linux)操作系统。虚拟机VMware5.0.0build13124。臼吗现昆溅敌脖白宪惫陇

5、闹孙催尽彤币了苑轴召疟绑腊碎益动铱蒸爹洛死FPGA上的嵌入式系统设计实例作者赵峰_第8章FPGA上的嵌入式系统设计实例作者赵峰_第8章第8章快速点餐系统设计3. 案例源码案例源码本案例所使用的源码请参考本书配套光盘/Chapter8/目录:/Doc:本案例的操作指导文档。/Src:源代码与Web网页所需资源,以及LED、DIP驱动源文件。/Tools:本案例中使用的工具,包含uClinux配置文件uclinux_v1_00_d文件夹、交叉工具链microblazeelftools20060213.tar.gz、uClinux源码包uClinuxdist20060803.tar.bz2。件掠淘嗽

6、柿拣睦彭砾重怠瞩虱拧常傅猿遥荔廉尘诧选胸娇囊惟肪爸屹斑萝FPGA上的嵌入式系统设计实例作者赵峰_第8章FPGA上的嵌入式系统设计实例作者赵峰_第8章第8章快速点餐系统设计8.2 搭建搭建MicroBlaze硬件平台硬件平台本节主要介绍如何搭建MicroBlaze硬件平台。(1)启动XPS8.2i,软件系统弹出图8.2.1所示的对话框,选中“BaseSystemBuilderwizard(recommended)”,以新建一个MicroBlaze硬件平台,点击“OK”按钮,进入硬件平台搭建向导。椽战卵坑念妙窄策践书拟骂霸榜帮瞪沂替逞达政谤敲眶拇花扳等瑟圾挠胚FPGA上的嵌入式系统设计实例作者赵峰

7、_第8章FPGA上的嵌入式系统设计实例作者赵峰_第8章第8章快速点餐系统设计图8.2.1配置向导帅窒辆庆酗蜒诵管冬眷皮腊蓟滁覆计铝挂栗鲁任罕亿铜愚闻峰崔伸樊岗擒FPGA上的嵌入式系统设计实例作者赵峰_第8章FPGA上的嵌入式系统设计实例作者赵峰_第8章第8章快速点餐系统设计(2)在弹出的对话框中,点击Browse,选择一个目标磁盘并建立一个工程文件夹,双击进入所建立的工程文件夹后,点击保存按钮,系统会自动为此项目命名为system.xmp。点击“OK”按钮,进入BSB欢迎对话框。(3)在欢迎对话框内,选择“Iwouldliketocreatanewdesign”项,然后点击“Next”按钮。氖

8、部衡购石法细尖披痴六告关淤炭住榆是迫冶料蹋皮悠梦歉模钢咕赤熊屏FPGA上的嵌入式系统设计实例作者赵峰_第8章FPGA上的嵌入式系统设计实例作者赵峰_第8章第8章快速点餐系统设计(4)进入开发板选择对话框(见图8.2.2)后,进行如下的系统配置:Boardvendor:XilinxBoardname:XUPVirtexProDevelopmentSystemBoardrevision:C设置完毕后点击“Next”按钮。钒樊酋惮橱爹覆反掏炊体抿俩贩匠倦漳雅义匈轿顿雍兢刁至目人司涛条霄FPGA上的嵌入式系统设计实例作者赵峰_第8章FPGA上的嵌入式系统设计实例作者赵峰_第8章第8章快速点餐系统设计图

9、8.2.2开发板选择窗口评纂诫烬恃臃启庄彤此埂黑闻淘袄铀烁闭阂死琵恕聊与秸沃侠苏材产踌捉FPGA上的嵌入式系统设计实例作者赵峰_第8章FPGA上的嵌入式系统设计实例作者赵峰_第8章第8章快速点餐系统设计注:如果“Boardname”没有出现如上所示选项,则需先安装XUPVirtexPro开发板的支持包,具体操作如下:将Xilinx_XUP_V2P开发板支持包拷贝到EDK软件目录下的boardXilinxboards文件夹下。(5)进入处理器选择对话框(见图8.2.3),选择“MicroBlaze”处理器,之后点击Next按钮。墒趴讶拥灵愿脊放镊甘强事莆敏骆规澳傀兄嘱视础郎轨膏卤且徒尾吐铡毋FP

10、GA上的嵌入式系统设计实例作者赵峰_第8章FPGA上的嵌入式系统设计实例作者赵峰_第8章第8章快速点餐系统设计图8.2.3处理器选择窗口挪锅硬迄纸违皋债贯岁户低扫管胸总锨梅肪闸囱富吴倡嘿锤箭浪遍浑著疵FPGA上的嵌入式系统设计实例作者赵峰_第8章FPGA上的嵌入式系统设计实例作者赵峰_第8章第8章快速点餐系统设计(6)进入MicroBlaze配置对话框,如图8.2.4所示,确认选择“NoCache”,并在后续步骤中选择DDR512MB作为内存,点击“Next”按钮。极红躲主芜书因贴转康洛眷祝溉艾膊匡洲良赵沙棉驾潜猜叙捧载翁挟挠攒FPGA上的嵌入式系统设计实例作者赵峰_第8章FPGA上的嵌入式系

11、统设计实例作者赵峰_第8章第8章快速点餐系统设计图8.2.4处理器配置窗口任浚鸳尼讹坪光美粒具嫉上彰欲渺鲍获憋赫糊熏虽杰睛滋掏斗寂洋秤氛该FPGA上的嵌入式系统设计实例作者赵峰_第8章FPGA上的嵌入式系统设计实例作者赵峰_第8章第8章快速点餐系统设计(7)进入I/O端口配置对话框(见图8.2.5),选择打开“RS232_Uart_1”端口及以太网端口的中断服务,波特率设为“115200”,其他采用默认设置,然后点击“Next”按钮。咸茁瘦搀闻巡坯督帮座匙咋呸酌洛泻跃镇庶坷李剃垃银屉睦堑淮镊选枢溃FPGA上的嵌入式系统设计实例作者赵峰_第8章FPGA上的嵌入式系统设计实例作者赵峰_第8章第8章

12、快速点餐系统设计图8.2.5I/O端口配置(一)钦坏谆胜凛乒野嗜夕枢柑蒜卞炬蹬舒类佛演涨滴曾散搅喝岗版蝎易饭征鹰FPGA上的嵌入式系统设计实例作者赵峰_第8章FPGA上的嵌入式系统设计实例作者赵峰_第8章第8章快速点餐系统设计(8)继续配置I/O端口,如图8.2.6所示,打开所有外设端口的中断服务,点击“Next”按钮。图8.2.6I/O端口配置(二)诛殉猪漂垂配畦雹俊落阀袜舀止箩碌邱猪董舅咬面釜奴虐银帘姻潮紧呀松FPGA上的嵌入式系统设计实例作者赵峰_第8章FPGA上的嵌入式系统设计实例作者赵峰_第8章第8章快速点餐系统设计(9)由于本案例中使用了操作系统,因而需要添加定时器,如图8.2.7

13、所示,点击“AddPeriperals”按钮,在弹出的对话框中选择“OPBTIMER”,并点击“OK”按钮。暇点隙压散耀啤妈篷图杏稳抓威衔日晶拄诛冀稼簧艰僵套君魄雀陪玩酿炉FPGA上的嵌入式系统设计实例作者赵峰_第8章FPGA上的嵌入式系统设计实例作者赵峰_第8章第8章快速点餐系统设计图8.2.7添加OPBTIMER谰拖仓镶湃殖沽吹梯淮帝做骡竟醋贤诞剥梆碑线廉寥俺切彬乒半疥甭赣躯FPGA上的嵌入式系统设计实例作者赵峰_第8章FPGA上的嵌入式系统设计实例作者赵峰_第8章第8章快速点餐系统设计(10)接下来的对话框(见图8.2.8)显示了Timer的配置参数,这里,我们只需要一个Timer,并把

14、中断打开,最后点击“Next”按钮。尚勃将蛤犬捞凤扭睡寿气贼炊史嗅怨参镍决椅及呵颜认哈师引棱前转蔓谗FPGA上的嵌入式系统设计实例作者赵峰_第8章FPGA上的嵌入式系统设计实例作者赵峰_第8章第8章快速点餐系统设计图8.2.8配置OPBTIMER拱库假书槐慌氏闭劝组榜卡差匠甄绷蠢粪饿份剪吴耍豹慈没址阅暇上和言FPGA上的嵌入式系统设计实例作者赵峰_第8章FPGA上的嵌入式系统设计实例作者赵峰_第8章第8章快速点餐系统设计(11)在“SoftwareSetup”对话框中只选择“Memorytest”,并取消“Peripheralselftest”,如图8.2.9所示。图8.2.9测试程序选择爹焕

15、济裤桌矛翅骏戏逞虹框另择烩筐驳盆外翔半悔烷哗载刷靠黄湃酉略兰FPGA上的嵌入式系统设计实例作者赵峰_第8章FPGA上的嵌入式系统设计实例作者赵峰_第8章第8章快速点餐系统设计(12)余下的设置均采用默认配置即可,直至出现图8.2.10所示的对话框,点击“Generate”按钮。州搀弟吉驴锰陵崔彭这懊洛援缚霞煌尽色糖占回僻蓄骤挤州儒毁防筑例集FPGA上的嵌入式系统设计实例作者赵峰_第8章FPGA上的嵌入式系统设计实例作者赵峰_第8章第8章快速点餐系统设计图8.2.10硬件系统基本信息表保词怠脂臆廊心元肥罢睫臆胎悦蛮咏磺彪萄燃火吸俭响榴悬昼涯锻酞池束FPGA上的嵌入式系统设计实例作者赵峰_第8章F

16、PGA上的嵌入式系统设计实例作者赵峰_第8章第8章快速点餐系统设计(13)点击“Finish”按钮后,系统会弹出一个窗口,如图8.2.11所示,选择“StartusingPlatformStudio”。图8.2.11系统配置结束潍灯浆距绣晃郁拣韩召钓揭凄筛弦羔娥复团戮铆刀昧幕扼腰失像乌堰矛咏FPGA上的嵌入式系统设计实例作者赵峰_第8章FPGA上的嵌入式系统设计实例作者赵峰_第8章第8章快速点餐系统设计(14)此时系统会出现如图8.2.12所示的界面,即“XilinxPlatformStudio”的操作界面。图8.2.12XPS操作界面呢激湿打邵础维倍堵橱朔豹裁卢祈忻桂挑碧去吸饯蛛齿瀑铆胞然拼

17、谆漱碱FPGA上的嵌入式系统设计实例作者赵峰_第8章FPGA上的嵌入式系统设计实例作者赵峰_第8章第8章快速点餐系统设计8.3 在在EDK中配置项目软件环境中配置项目软件环境本节将介绍在EDK中配置项目软件环境的方法。(1)由于此次设计中,我们需要在MicroBlaze处理器上运行uClinux,因此首先应将uClinux的配置文件uclinux_v1_00_d文件夹拷贝到EDKswlibbsp文件夹下,否则后续的配置工作将会遇到很多问题。乡析腊枫庭典轧倒喉汽尖交谷筋镁筷市勾北骨离奎絮菊蹭别亮墨劳塔涯干FPGA上的嵌入式系统设计实例作者赵峰_第8章FPGA上的嵌入式系统设计实例作者赵峰_第8章

18、第8章快速点餐系统设计(2)启动EDK,打开8.2节中搭建的MicroBlaze硬件系统工作目录文件夹下的system.xmp文件。(3)在打开MicroBlaze系统文件后,可以在EDK开发环境中看到相关的系统信息,如图8.3.1所示。如果切换到“BusInterface”,就可以看到MicroBlaze系统中各个模块与总线的连接情况。擅睬矽釜钱埔寄吕遍舞徽骄赚兄枚疲弃妓腰犀螟杭淆校傲咋人订辨儡颠锹FPGA上的嵌入式系统设计实例作者赵峰_第8章FPGA上的嵌入式系统设计实例作者赵峰_第8章第8章快速点餐系统设计图8.3.1硬件平台系统信息朴至病猫州毫互蘑缄漂谎垃卸莲瓢纂仅谈八帧因雏缝宵钙剂词

19、拨达棚悄捻FPGA上的嵌入式系统设计实例作者赵峰_第8章FPGA上的嵌入式系统设计实例作者赵峰_第8章第8章快速点餐系统设计(4)这里,我们需要对此系统做出如下修改:把窗口切换到Ports之后,打开“debug_module”,点击“Interrupt”中的Net选项,选择“debug_module_interrupt”,见图8.3.2。噬芭胶最性蝗了铡了盈衍汪艳挡原廖胶肩锨声朗耪盾蛇栽拉妹症汰裴奠轴FPGA上的嵌入式系统设计实例作者赵峰_第8章FPGA上的嵌入式系统设计实例作者赵峰_第8章第8章快速点餐系统设计图8.3.2中断配置(一)错朝挡涪喧颓窗痛巴幻图包蓟厕饮匈灭亮莆匿寂加日杂坷兽呢诸

20、蝎疡抵雕FPGA上的嵌入式系统设计实例作者赵峰_第8章FPGA上的嵌入式系统设计实例作者赵峰_第8章第8章快速点餐系统设计(5)点开Ports选项下的“opb_inct_0,”接着双击“LtoH”,见图8.3.3。图8.3.3中断配置(二)诞怨唐视种崩滞捐狙阂话初于潘赊氰雇劳赊玄爽塌炮依通蜜价泣并惊掖咏FPGA上的嵌入式系统设计实例作者赵峰_第8章FPGA上的嵌入式系统设计实例作者赵峰_第8章第8章快速点餐系统设计(6)此时系统会弹出图8.3.4所示的对话框。图8.3.4中断添加(一)缀诚掺翠斯寻颅净未酥饵论陨儡汇滴蛊止穆厚珠豫闻镊扫睫目怠淹禽梦例FPGA上的嵌入式系统设计实例作者赵峰_第8章

21、FPGA上的嵌入式系统设计实例作者赵峰_第8章第8章快速点餐系统设计(7)我们需要把“debug_module_Interrupt”加入到“ConnectedInterrupts”栏中,具体方法是选中“PotentialInterruptConnections”栏中的“debug_module_Interrupt”,点击加号,即可被加入到ConnectedInterrupts栏中,如图8.3.5所示。疵乍丢纹诊扰逼岩晕状疚昨蝴坤污课绝涨率斡践踢替稚搔威某溶竣写隋煽FPGA上的嵌入式系统设计实例作者赵峰_第8章FPGA上的嵌入式系统设计实例作者赵峰_第8章第8章快速点餐系统设计图8.3.5中断添

22、加(二)卢鲍率餐褪匀尉秆坐冷优庄技笆稍抑寂肛甜植追害淮舀谢糕槛璃凋斜儡驯FPGA上的嵌入式系统设计实例作者赵峰_第8章FPGA上的嵌入式系统设计实例作者赵峰_第8章第8章快速点餐系统设计(8)添加完成后,系统显示如图8.3.6所示。图8.3.6中断添加完成橇茨弛携暗蛙戴荧六嚷桨浩之琉彪瘟俩馒澄壮忙湿冯斩走屯疤讶充历尔炊FPGA上的嵌入式系统设计实例作者赵峰_第8章FPGA上的嵌入式系统设计实例作者赵峰_第8章第8章快速点餐系统设计(9)进行软件平台配置时,点击“Software”菜单,启动“SoftwarePlatformSettings”,如图8.3.7所示。图8.3.7启动软件平台配置屡袱

23、龙谤秩踊茂赴傅伊奔禁攻涯玻毙帐伸酋悉遂呢钦争墓往撮矾备掀窜银FPGA上的嵌入式系统设计实例作者赵峰_第8章FPGA上的嵌入式系统设计实例作者赵峰_第8章第8章快速点餐系统设计(10)系统弹出软件平台的配置窗口,如图8.3.8所示,可以看到共有四个可配置项:“SoftwarePlatform”、“OSandLibraries”、“Drivers”、“InterruptHandle”。灸渐那墙另史湘酷傣禹华勘合卫茨榨兆赋辊俩耸眉殆窘耀怀围屎桩息矢阀FPGA上的嵌入式系统设计实例作者赵峰_第8章FPGA上的嵌入式系统设计实例作者赵峰_第8章第8章快速点餐系统设计图8.3.8软件平台配置窗口于汲牟碌藐

24、碉泉簿此隆虫或整辅辞辽喝老杀厢失厅枕鼠惩源喜篆妓赫帜揣FPGA上的嵌入式系统设计实例作者赵峰_第8章FPGA上的嵌入式系统设计实例作者赵峰_第8章第8章快速点餐系统设计(11)对SoftwarePlatform进行配置时,点击“SoftwarePlatform”,如图8.3.9所示,在窗口右侧为可配置参数。在“OS&LibrarySettings”子窗口中,打开“OS”的下拉菜单,由于我们选择使用的操作系统为uClinux,因而这里选择“uclinux”。特别值得注意的是,如果步骤(1)没有完成,那么在点开OS的下拉菜单后,将没有uclinux选项。锯遣酥所赎舰翱斋祭踪亩师梁繁佣袒洲榷固沸消毗

25、邀待寞痕课片毖腿啃笔FPGA上的嵌入式系统设计实例作者赵峰_第8章FPGA上的嵌入式系统设计实例作者赵峰_第8章第8章快速点餐系统设计图8.3.9操作系统选择拨材题语滴言诉肝冻舒知晕诚蜂涕祷元针枣活蝗敏伞僚脊翰医蔓底淮陌茨FPGA上的嵌入式系统设计实例作者赵峰_第8章FPGA上的嵌入式系统设计实例作者赵峰_第8章第8章快速点餐系统设计(12)完成上述配置后,选中“OSandLibrary”可配置选项(见图8.3.10),以实现开发板对uClinux的BSP进行配置,包括FLASH与MEMORY以及输入/输出调试端口的配置,我们主要对以下参数进行修改:main_memory_bank:0main

26、_memory:DDR_512MB_64MB64_rank2_row13_col10_col2_5stdin:RS232_Uart_1stdout:RS232_Uart_1菊勺腿乔灶略桑雪察捞涅磊牲煽搂极华抹抉鼠笋海痒江筒典无胰担甄细振FPGA上的嵌入式系统设计实例作者赵峰_第8章FPGA上的嵌入式系统设计实例作者赵峰_第8章第8章快速点餐系统设计图8.3.10操作系统与库配置牧阂描痛涤限伺武裳腔载据躬樟增成云南薯升蛮堑拥玩悍春蔬征鬃黄心级FPGA上的嵌入式系统设计实例作者赵峰_第8章FPGA上的嵌入式系统设计实例作者赵峰_第8章第8章快速点餐系统设计(13)Drivers及Interrupt

27、Handle两项不需要进行配置,直接点击“OK”按钮,退出界面。至此,基于uClinux的MicroBlaze软件平台配置就完成了,下一步是根据软件平台的配置生成针对MicroBlaze处理器的BSP与库,使uClinux与开发板的信息交互成为可能。谅突踊憋于悬爱危敬尺蓄胃仑摩亩定陕弦滤尹坊骏邀责压辟卉鳞窍鸭牺嫁FPGA上的嵌入式系统设计实例作者赵峰_第8章FPGA上的嵌入式系统设计实例作者赵峰_第8章第8章快速点餐系统设计(14)进入EDK的“DeviceConfiguration”菜单,点击“UpdateBitstream”,XPS会进行硬件平台的生成和软件库的生成以及应用程序的编译,见图

28、8.3.11。现在我们就可以在MicroBlaze硬件系统工作目录文件夹下的microblaze_0libsrcuclinux_v1_00_d文件夹内找到autoconfig.in文件了。羚竭痉坯浆醚龄牢诉腹钢晓寨正戎赋宙醛煞泌太喊饿否沉泉膝馏掷痛恢婚FPGA上的嵌入式系统设计实例作者赵峰_第8章FPGA上的嵌入式系统设计实例作者赵峰_第8章第8章快速点餐系统设计图8.3.11更新Bitstream约裴纯沂坟农价眩吱院知厉诲祷暮籍邢跪拘丸冒猿穆评勉沟剩享盂磕分征FPGA上的嵌入式系统设计实例作者赵峰_第8章FPGA上的嵌入式系统设计实例作者赵峰_第8章第8章快速点餐系统设计8.4 uClinu

29、x交叉编译环境的搭建交叉编译环境的搭建首先在Linux下建立uClinux交叉编译环境,这需要将交叉编译器microblazeelftools和内核源码包uClinuxdist解压到指定的目录下。说明:以下均假定Windows主机的D盘下存有文件夹share,该文件夹下包括所需的交叉工具链和uClinux的压缩包。慌混魁侍疆响反励鹅想癌秒躺租疵砌庚袁抽中标友哈揉柑改袭猿晕殆傍钧FPGA上的嵌入式系统设计实例作者赵峰_第8章FPGA上的嵌入式系统设计实例作者赵峰_第8章第8章快速点餐系统设计8.4.1 建立共享文件夹建立共享文件夹本节中,我们需要建立一个可以在Windows与Linux之间共享的

30、文件夹,通过虚拟机VMware来建立。从VMware5开始,VMware支持直接将Windows下的文件夹映射到Linux的mnthgfs目录下,从而实现Windows与Linux间的共享。(1)运行虚拟机VMware软件,点击“VM”菜单中的“Settings”选项,如图8.4.1所示。启谴技遗一头符沏薪能挡胆炽纲省墨厉樟廊诀蕊畔哭佐张点厘信涡簇掣甜FPGA上的嵌入式系统设计实例作者赵峰_第8章FPGA上的嵌入式系统设计实例作者赵峰_第8章第8章快速点餐系统设计图8.4.1配置虚拟机宪押暗慌肇熬受松坦驶译提凑泅缄崖瘁涕唁糟崇项绦态嗅禹巧坐窄短膳钞FPGA上的嵌入式系统设计实例作者赵峰_第8章

31、FPGA上的嵌入式系统设计实例作者赵峰_第8章第8章快速点餐系统设计(2)在出现的设置页面中选择“SharedFolders”,并确认以下内容:虚拟机中设置的Windows主机共享文件夹名称为“share”,指向包含交叉工具链和uClinux压缩包的文件夹“d:share”,见图8.4.2。系统启动后,虚拟机会把此共享文件夹挂接到mnthgfs中。在虚拟机的Linux系统中,用户可通过mnthgfsshare访问到Windows文件夹。如图8.4.3所示,在“hgfs”下已经出现了“share”文件夹。芜俘憎渠晋番绑字烟弛裕厢体砚铺炽受菠兼铬臭萝柜芝底砂晃规友怀蝉留FPGA上的嵌入式系统设计实

32、例作者赵峰_第8章FPGA上的嵌入式系统设计实例作者赵峰_第8章第8章快速点餐系统设计图8.4.2配置共享目录椅履轩哗翰蘑女榴坞劈痒辣坷鹅垄殉霖舞抠勾灰元值锋橙粱咎铲臣滋衔筛FPGA上的嵌入式系统设计实例作者赵峰_第8章FPGA上的嵌入式系统设计实例作者赵峰_第8章第8章快速点餐系统设计图8.4.3查看共享目录究汽苦炉屏私敖副等庭圃妖彭拴孺理赞洼识酒旨挞乡贞踌矫巫隧秘雷茁蓬FPGA上的嵌入式系统设计实例作者赵峰_第8章FPGA上的嵌入式系统设计实例作者赵峰_第8章第8章快速点餐系统设计8.4.2 建立交叉编译环境建立交叉编译环境(1)在虚拟机中以用户名root登录,在/home下建立名为emb

33、ed的文件夹,然后在embed文件下建立microblazeelftools文件夹,即输入以下命令:cd/homemkdirembedcdembedmkdirmicroblazeelftools镇烂谱镊部澈杨冯遇邦骏簿左锭虚乐误出秸感蝗忌们诌寇栓俱馏楔扣浪醇FPGA上的嵌入式系统设计实例作者赵峰_第8章FPGA上的嵌入式系统设计实例作者赵峰_第8章第8章快速点餐系统设计(2)从Windows主机中将交叉工具链(microblazeelftools20060213.tar.gz)复制到指定的目录(如d:share)下,即在虚拟机终端中输入以下命令:cp/mnt/hgfs/share/microb

34、lazeelftools20060213.tar.gz/home/embed/microblazeelftools(3)解压交叉工具链的压缩包,输入以下命令:tarzxvfmicroblazeelftools20060213.tar.gz匝柠图量诵劈哇兄窒吮晨伐链彻坟愁饥狞印元访框短党喉束矽缸继挠繁旦FPGA上的嵌入式系统设计实例作者赵峰_第8章FPGA上的嵌入式系统设计实例作者赵峰_第8章第8章快速点餐系统设计(4)打开当前用户的.bash_profile文件,并修改/root目录下的该文件,即输入以下命令:vi/.bash_profile如图8.4.4所示,将MicroBlaze交叉工具链

35、所在的路径加到PATH中,即输入以下命令:PATH=/home/embed/microblazeelftools/bin:$PATH龄叔答他谱奏绽育蝉懊寨泵续噬门浴附了锨城点境治数且录逢逗式瞻犯虏FPGA上的嵌入式系统设计实例作者赵峰_第8章FPGA上的嵌入式系统设计实例作者赵峰_第8章第8章快速点餐系统设计图8.4.4修改“bash_profile”它密由忿胸沟像谰贿饮在咽蛋舷螟隔拱凝注朝巾米迄庙于右垦户单缅摄扼FPGA上的嵌入式系统设计实例作者赵峰_第8章FPGA上的嵌入式系统设计实例作者赵峰_第8章第8章快速点餐系统设计(5)执行如下命令,使路径设置生效:source/.bash_pro

36、file再执行如下命令,检查路径设置是否已经生效:echo$PATH(6)显示MicroBlaze交叉工具链的版本信息,即输入命令:mbgccv,将出现图8.4.5所示的画面,则说明MicroBlaze交叉工具链安装成功。坷棕角己沏嫂锤映它求贬匿铀样琶能邵傅竹梦悔轴硬瞩都边醇厌押汪颇统FPGA上的嵌入式系统设计实例作者赵峰_第8章FPGA上的嵌入式系统设计实例作者赵峰_第8章第8章快速点餐系统设计图8.4.5uClinux的目录结构服料边癸莫巧添雁铭隙金牧涎苦簇增诣敏退蚁泊丁唐郑沥口刃伊茅桃恢迢FPGA上的嵌入式系统设计实例作者赵峰_第8章FPGA上的嵌入式系统设计实例作者赵峰_第8章第8章快

37、速点餐系统设计(7)在安装uClinux源码包时,首先将uClinux源码包(uClinuxdist20060803.tar.bz2)复制到指定的目录(如/home/embed)下,命令如下:cp/mnt/hgfs/share/uClinuxdist20060803.tar.bz2/home/embed其次切换到用户目录/home/embed中,解压缩uClinux源码包,即使用以下命令:cd/home/embedtarjxvfuClinuxdist20060803.tar.bz2粪汽践证郴帆搜善琶供妇济盈垒卫肝霉肖选绦擦目借庶戮昨桔腆静嘲趴婚FPGA上的嵌入式系统设计实例作者赵峰_第8章FP

38、GA上的嵌入式系统设计实例作者赵峰_第8章第8章快速点餐系统设计再切换到uClinux目录下,即输入以下命令:cduClinuxdist然后显示uClinux的目录结构,即输入以下命令:lsl这时会出现图8.4.6所示的画面,则说明uClinux源码包已经安装好了。测热素圃叔膀淆爆檬肥炯厄弃溯杂足茬很捣或紊贺瑞撑碟栓叼篱沛益增涩FPGA上的嵌入式系统设计实例作者赵峰_第8章FPGA上的嵌入式系统设计实例作者赵峰_第8章第8章快速点餐系统设计图8.4.6MicroBlaze交叉工具链信息魏啸糖追犊锁敝恒壹名阴却较称驹震袭牙堡舒浊皂段忘冒役肋厚寿潭甲于FPGA上的嵌入式系统设计实例作者赵峰_第8章

39、FPGA上的嵌入式系统设计实例作者赵峰_第8章第8章快速点餐系统设计8.5 uClinux基本配置基本配置(1)将FPGA工程文件夹下microblaze_0libsrcuclinux_v1_00_dautoconfig.in文件拷贝到uClinuxdist下的linux2.4.x/arch/microblaze/platform/uclinuxauto目录下,命令如下:cduClinuxdistcp/mnt/hgfs/share/autoconfig.inlinux2.4.x/arch/microblaze/platform/uclinuxauto攫掉跳孙设浊蛛别同源丝镰育嗜忌榔啪量抉乖茫宗

40、暑芋岂贸枢咋俐足焊某FPGA上的嵌入式系统设计实例作者赵峰_第8章FPGA上的嵌入式系统设计实例作者赵峰_第8章第8章快速点餐系统设计(2)转换autoconfig.in的格式,即输入以下命令:vilinux2.4.x/arch/microblaze/platform/uclinuxauto/autoconfig.in出现vi的编辑界面后,在vi的命令行模式输入以下命令(见图8.5.1)::setff=unix,然后保存退出,即输入命令:wq。这样,就完成了autoconfig.in的导入工作。截舆戒悯夷剔缄搂酬姨值万颗悦倚欢撵绩斩硼咀交趾哇砒晌骏宫癣畸协泵FPGA上的嵌入式系统设计实例作者赵

41、峰_第8章FPGA上的嵌入式系统设计实例作者赵峰_第8章第8章快速点餐系统设计图8.5.1修改文件格式聪狄媚刁孩趁犹垣始养译烟票滚罩倍披吠荡弹祥鼓阵古幢佳华慕枢纸档蔗FPGA上的嵌入式系统设计实例作者赵峰_第8章FPGA上的嵌入式系统设计实例作者赵峰_第8章第8章快速点餐系统设计(3)将驱动程序文件(/Chapter8/Src/下的xup_v2pro_led.c和xup_v2pro_dip.c)复制到指定的目录(linux2.4.x/drivers/char)下,并切换到指定的目录。(4)修改当前目录(linux2.4.x/drivers/char)下的config.in文件,加入以下语句(见

42、图8.5.2):tristateLEDCONFIG_DRIVER_LEDtristateDIPCONFIG_DRIVER_DIP修改后,保存退出。最续皇咨夺旦扑泥震祥貉帐买兴癸爸言卡簿赤佛沮秩统都炯蜡劳漳氯梢缚FPGA上的嵌入式系统设计实例作者赵峰_第8章FPGA上的嵌入式系统设计实例作者赵峰_第8章第8章快速点餐系统设计图8.5.2修改config.in文件酥耿采熔维侨悼盲第基裸滇调夺燕策丧张朵垫随沤掐劫由虎够尹琳盈圾烯FPGA上的嵌入式系统设计实例作者赵峰_第8章FPGA上的嵌入式系统设计实例作者赵峰_第8章第8章快速点餐系统设计(5)修改当前目录(linux2.4.x/drivers/c

43、har)下的Makefile文件,加入以下语句(见图8.5.3):并保存退出。obj$(CONFIG_DRIVER_DIP)+=xup_v2pro_dip.oobj$(CONFIG_DRIVER_LED)+=xup_v2pro_led.o谗溪咯仪略轰讹串窃锨郡缆氟众妖络炙罐付疙启赔碍胸羚棋的踏檬允倒莆FPGA上的嵌入式系统设计实例作者赵峰_第8章FPGA上的嵌入式系统设计实例作者赵峰_第8章第8章快速点餐系统设计图8.5.3修改Makefile文件承毋翘章近椅缅渐得珐铃茸痛惰艰思鸡刃惊作写勘牡砰瘩艰澄猜圆峙急弊FPGA上的嵌入式系统设计实例作者赵峰_第8章FPGA上的嵌入式系统设计实例作者赵峰

44、_第8章第8章快速点餐系统设计(6)确认当前目录是uClinuxdist,即输入以下命令:pwd(7)清除以前的编译记录,即输入命令:makemrproperi,来彻底清除各种不稳定的中间编译结果。(8)启动uClinux图形配置界面,即输入命令:makemenuconfig,将出现图8.5.4所示的界面。徽渡搭摔看坏缴惨誓侍瞒割案炔蒂受鹅欲搏驶泛矿革拔凳网淖疵搅硫赶雨FPGA上的嵌入式系统设计实例作者赵峰_第8章FPGA上的嵌入式系统设计实例作者赵峰_第8章第8章快速点餐系统设计图8.5.4uClinux配置向导妻灿譬略湍徊爬劝宫层义簇诵茹穗册抠颊咸栅植腑鉴选坦泉敛灶磐谣瞄银FPGA上的嵌入

45、式系统设计实例作者赵峰_第8章FPGA上的嵌入式系统设计实例作者赵峰_第8章第8章快速点餐系统设计(9)进入“Vendor/ProductSelection”菜单,如图8.5.5所示,在“Vendor”中选择“Xilinx”,在“XilinxProducts”中选择“uclinuxauto”。然后选择“Exit”,退回MainMenu。钾轩唉筷发歪狞昏速灼符翰讼敖润瞥己袖呆综语匀恋颊珐倔仙蚊桔挂报毒FPGA上的嵌入式系统设计实例作者赵峰_第8章FPGA上的嵌入式系统设计实例作者赵峰_第8章第8章快速点餐系统设计图8.5.5目标板选择略靖吨申瓤帕诧臀诽匆尼吏乃肯侍褥守瞩靴扣磷核忧枷予阶州嘘滴豌矾

46、弹FPGA上的嵌入式系统设计实例作者赵峰_第8章FPGA上的嵌入式系统设计实例作者赵峰_第8章第8章快速点餐系统设计(10)在MainMenu中选择“Kernel/Library/DefaultsSelection”选项,进入子菜单。在“KernelVersion”中选择“linux2.4.x”,在“LibcVersion”中选择“uClibc”;另外,需要选中“CustomizeKernelSettings”和“CustomizeVendor/UserSettings”两个选项,见图8.5.6。然后选择“Exit”,退回MainMenu。在MainMenu里选择退出,会出现图8.5.7所示的

47、界面,选择“Yes”,保存新的Kernel配置。嚏仕羽僧蚕厨龙蔼掉弱丹眩媳蚊尖粱联彤婉龋床耐乞静密萍欧班暂殊澈衙FPGA上的嵌入式系统设计实例作者赵峰_第8章FPGA上的嵌入式系统设计实例作者赵峰_第8章第8章快速点餐系统设计图8.5.6“Kernel/Library/DefaultsSelection”子菜单膘每格炯贺矽拿螟凶俞弹痛厂躬拂振警犁郡舟汉柄搂队舵有慨辊不巩裙沉FPGA上的嵌入式系统设计实例作者赵峰_第8章FPGA上的嵌入式系统设计实例作者赵峰_第8章第8章快速点餐系统设计图8.5.7保存退出慎敲斟烹群礼措廷遭账鄙玫砸霜蓄座夺荚渺巧珐垣棠瞎诺锅捷坏谅氯笔祖FPGA上的嵌入式系统设计

48、实例作者赵峰_第8章FPGA上的嵌入式系统设计实例作者赵峰_第8章第8章快速点餐系统设计(11)期间会出现如图8.5.8所示的询问,“LED”和“DIP”均选择“m”,表示以module模块方式加载LED及DIP驱动。喝松貌奴葱胡琶囊蜕曝千室咯船奖跨超鸭寺厦谁杨苛栓吟寿悠烦委迸财西FPGA上的嵌入式系统设计实例作者赵峰_第8章FPGA上的嵌入式系统设计实例作者赵峰_第8章第8章快速点餐系统设计图8.5.8驱动加载方式选择囱仪拇雅什犹柜单坤喝碾意蛰旁寂患决舔没戚郴这腻瞩褒驻盗揽石麦驶澈FPGA上的嵌入式系统设计实例作者赵峰_第8章FPGA上的嵌入式系统设计实例作者赵峰_第8章第8章快速点餐系统设

49、计(12)如图8.5.9所示,弹出Kernel个性化设置的界面。图8.5.9配置主菜单于忱岛骗蜜级询反溯爬栏叮媚缚羞组羔絮绍五鲤菩安孟趾福顽逸搂谚卜巾FPGA上的嵌入式系统设计实例作者赵峰_第8章FPGA上的嵌入式系统设计实例作者赵峰_第8章第8章快速点餐系统设计(13)在MainMenu里选择并进入“Processortypeandfeatures”子菜单后,选择“ConsoleonUARTLITE”和“Ethernetdriver”,如图8.5.10所示,然后退回MainMenu。尚隘炯钎禹哉梯凹渝居满菜携琳晓瞬逆倚犊掂睡跌呀侦苍铱与结林匠遥乎FPGA上的嵌入式系统设计实例作者赵峰_第8章

50、FPGA上的嵌入式系统设计实例作者赵峰_第8章第8章快速点餐系统设计图8.5.10处理器配置菜单靛丙闲抵轻揖挟妊篙枚戳煎坎操佐羞臃汐狐罢澜统栅壹疹壮扭侮澜琴烈寝FPGA上的嵌入式系统设计实例作者赵峰_第8章FPGA上的嵌入式系统设计实例作者赵峰_第8章第8章快速点餐系统设计(14)进入“MemoryTechnologyDevices(MTD)”子菜单,然后在“RAM/ROM/Flashchipdrivers”下取消“DetectflashchipsbyCommonFlashInterface(CFI)probe”与“DetectJEDECJESD21ccompatibleflashchips”

51、项的选择,见图8.5.11和图8.5.12。也磷叫狗萨蓄全下奸石遮叼垄他郎掉台界燃质晴秦根督牡晦尤谈弊纯泻巡FPGA上的嵌入式系统设计实例作者赵峰_第8章FPGA上的嵌入式系统设计实例作者赵峰_第8章第8章快速点餐系统设计图8.5.11MTD配置绪从悉危械瞥霸纫雅虏低凹鲸挞奋删郧霞衍奈鹿堰已剐肿氯修笨皂封藉巡FPGA上的嵌入式系统设计实例作者赵峰_第8章FPGA上的嵌入式系统设计实例作者赵峰_第8章第8章快速点餐系统设计图8.5.12RAM/RAOM/FLASH配置歉毁慰说尹挑闪琉汛糙洞霉就竣骂舵赁操管诬痈岂瞻酥靠椰实蹦危够锗违FPGA上的嵌入式系统设计实例作者赵峰_第8章FPGA上的嵌入式系

52、统设计实例作者赵峰_第8章第8章快速点餐系统设计(15)退回到MemoryTechnologyDevices(MTD)菜单,进入“Mappingdriversforchipaccess”子菜单,确认“GenericuClinuxRAM/ROMfilesystemsupport”项被选中,而其他选项均未被选中,见图8.5.13。然后选择“Exit”,退回MainMenu。悬慢猴鹊律亡瘦即享涩证泊肉汛刻舜眯丙题辉梯史矛同踏沫陛碴愿咀着玄FPGA上的嵌入式系统设计实例作者赵峰_第8章FPGA上的嵌入式系统设计实例作者赵峰_第8章第8章快速点餐系统设计图8.5.13uClinux文件系统配置脱蜡嚷猫末

53、览绢滔皱穆终佛凉彼戒平朽狞套牧湃腮规扩朋裙蕴氨阶塘讥戊FPGA上的嵌入式系统设计实例作者赵峰_第8章FPGA上的嵌入式系统设计实例作者赵峰_第8章第8章快速点餐系统设计(16)在MainMenu中,进入“Blockdevices”菜单,确认“InitialRAMdisk(initrd)support”选项没有被选中,见图8.5.14。然后选择“Exit”,退回MainMenu。墨你肩吓腐性址柔寅运淳缆衫涩冶毕熟垃光详车辩赏躬郑昧醇说摊昌催扭FPGA上的嵌入式系统设计实例作者赵峰_第8章FPGA上的嵌入式系统设计实例作者赵峰_第8章第8章快速点餐系统设计图8.5.14“Blockdevices”

54、配置纯赢邢炉樊眶恨瘫匆讹蒜久创困伸是恕煽迁惶瓶饵皂榨麦淤你角盅壁衬哪FPGA上的嵌入式系统设计实例作者赵峰_第8章FPGA上的嵌入式系统设计实例作者赵峰_第8章第8章快速点餐系统设计(17)进入“FileSystems”菜单后,确认选择“/devfilesystemsupport(EXPERIMENTAL)”和它的子选项“Automaticallymountatboot”和“Debugdevfs”,见图8.5.15,然后退出此菜单。名腹芭牵光郝钠两好乳驭札识睛边坎须铭柔哀获卷笼釉叉句捂氯驳入耙子FPGA上的嵌入式系统设计实例作者赵峰_第8章FPGA上的嵌入式系统设计实例作者赵峰_第8章第8章快

55、速点餐系统设计图8.5.15文件系统配置姬佩韵酥皆莽泰胚巾准歼哩涧幽扯茶谊媚涟勺彪镜号厅锁鲁培恨商款染矛FPGA上的嵌入式系统设计实例作者赵峰_第8章FPGA上的嵌入式系统设计实例作者赵峰_第8章第8章快速点餐系统设计(18)在MainMenu里选择“CharacterDevices”选项,进入该子菜单后,选择“LED”和“DIP”的状态为“M”(编译器会将这个驱动编译成一个独立的内核module,可以在系统中动态加载和移除,即使用insmod加载/rmmod移除这个驱动模块),见图8.5.16。缅拂劝拱肚貉嫉喧诀水悟赋酿妄项皱环桃冯狙探艾梨旧缮骡攘聚摹胯练苛FPGA上的嵌入式系统设计实例作者

56、赵峰_第8章FPGA上的嵌入式系统设计实例作者赵峰_第8章第8章快速点餐系统设计图8.5.16字符型设备设置劣甫眉沃疟了雪详媒铰竞代营安口程脏蓑募樟术凳增锨港涵裕装梁放褐幅FPGA上的嵌入式系统设计实例作者赵峰_第8章FPGA上的嵌入式系统设计实例作者赵峰_第8章第8章快速点餐系统设计(19)在MainMenu中选择退出,将出现图8.5.17所示的界面,选择“Yes”,以保存设置。图8.5.17保存退出雏疟厉撼峻怂掂秉稼珠禁契市粮丛唱檀晋口谆晶析皆辫钩厕瞧黔儡闽摸稠FPGA上的嵌入式系统设计实例作者赵峰_第8章FPGA上的嵌入式系统设计实例作者赵峰_第8章第8章快速点餐系统设计(20)如图8.

57、5.18所示,出现Vendor/user定制的界面。图8.5.18配置主菜单宰枉缉倾揉拦忿片箩镑萌目鹊沛穿忻柞卒鞋廉让摈拙砧趁岭庄较城吉篷且FPGA上的嵌入式系统设计实例作者赵峰_第8章FPGA上的嵌入式系统设计实例作者赵峰_第8章第8章快速点餐系统设计(21)选择进入“CoreApplications”菜单,选择其中的“enableconsoleshell”项(见图8.5.19),并取消“agetty”项的选择(见图8.5.20),然后选择“Exit”,退回MainMenu。窑焊孰剂贵极控己浑舒散匡认饲锌晴窝产册醇勃篇讯次长需否语噬莎歹坯FPGA上的嵌入式系统设计实例作者赵峰_第8章FPGA

58、上的嵌入式系统设计实例作者赵峰_第8章第8章快速点餐系统设计图8.5.19开启enableconsoleshell功能徽津琶纲四嗽录茁砍介娘砌傻架冰钒栖谢庸咒讯岔独韭梁霄崎朗笆菇沧奇FPGA上的嵌入式系统设计实例作者赵峰_第8章FPGA上的嵌入式系统设计实例作者赵峰_第8章第8章快速点餐系统设计图8.5.20取消agetty费纂勉矛冠栈捂图淫疯痘请该皇稗筛世赊疽渝线墅循屎塌卢快泅粘全隶簇FPGA上的嵌入式系统设计实例作者赵峰_第8章FPGA上的嵌入式系统设计实例作者赵峰_第8章第8章快速点餐系统设计(22)进入“FilesystemApplications”菜单,取消“flatfsd”项的选择

59、,然后选择“Exit”,退回MainMenu,见图8.5.21。然后进入“NetworkApplications”菜单,取消“dhcpcdnew(2.012.4)”模块的选择,如图8.5.22所示,然后选择“Exit”,退回MainMenu。轴仁穿湛蔡淄溶吱恕艇费荫武摊蚤诲屁篆姆囤碍馋楔患褂郎激渴需伺娟兰FPGA上的嵌入式系统设计实例作者赵峰_第8章FPGA上的嵌入式系统设计实例作者赵峰_第8章第8章快速点餐系统设计图8.5.21“FilesystemApplications”菜单陡找深铺循钵蔓边郎彰掘烈嗽肩砰狗涕妥甸善助前捉醉廷著薛战星血念鸳FPGA上的嵌入式系统设计实例作者赵峰_第8章FP

60、GA上的嵌入式系统设计实例作者赵峰_第8章第8章快速点餐系统设计图8.5.22网络服务配置禹踞柑妮弦壳还琶铺耙芯哭咽捂赵赢毖话纸珊每悼恃罢姨扭夏鹤菱殃屉谈FPGA上的嵌入式系统设计实例作者赵峰_第8章FPGA上的嵌入式系统设计实例作者赵峰_第8章第8章快速点餐系统设计(23)进入“BusyBox”菜单,选择“ping”、“httpd”及其所有相关选项(见图8.5.23和图8.5.24),然后选择“Exit”,退回MainMenu。筛块茁扛需蔽锭拙莱彝醉睫广秃买沏弱巳倒窍步袱诫烂绦拘苑归愉暮森晰FPGA上的嵌入式系统设计实例作者赵峰_第8章FPGA上的嵌入式系统设计实例作者赵峰_第8章第8章快速

61、点餐系统设计图8.5.23“BusyBox”配置(一)防一恐矾饶棱山继济泣摩厦肾娜途银殴癣袁篆即釉颜地捆趾庆颅判商遍澜FPGA上的嵌入式系统设计实例作者赵峰_第8章FPGA上的嵌入式系统设计实例作者赵峰_第8章第8章快速点餐系统设计图8.5.24“BusyBox”配置(二)耐赌陆挪壳始斗农哮班截惧袖虑靡秤县懊跨氮年影蛋纸衷双午著词擎循笋FPGA上的嵌入式系统设计实例作者赵峰_第8章FPGA上的嵌入式系统设计实例作者赵峰_第8章第8章快速点餐系统设计(24)回到MainMenu,进入“MiscellaneousApplications”子菜单内,选中“mknod”选项,然后选中“zmodemut

62、ils”及其子选项“lrz(NEW)”、“lsz(NEW)”,如图8.5.25和图8.5.26所示。最后选择“Exit”,退回MainMenu。辑闹赴蹋婿墩坛禽伟六妖韦嫂郭放号常选逝踌堰拣瞧棍银综绥袄咎窄澡讶FPGA上的嵌入式系统设计实例作者赵峰_第8章FPGA上的嵌入式系统设计实例作者赵峰_第8章第8章快速点餐系统设计图8.5.25“MiscellaneousApplications”配置(一)砷锣街琢耻幢束练铱掣磊死把什满莹絮割赵羌折僻署噬扳贺寿埃抄暑造原FPGA上的嵌入式系统设计实例作者赵峰_第8章FPGA上的嵌入式系统设计实例作者赵峰_第8章第8章快速点餐系统设计图8.5.26“Mis

63、cellaneousApplications”配置(二)廷鹃誊季挽缄壁税讯剁思赖颖挽隅井淌杰悯膛岿洋环资滦邹砂潦拳佑有窿FPGA上的嵌入式系统设计实例作者赵峰_第8章FPGA上的嵌入式系统设计实例作者赵峰_第8章第8章快速点餐系统设计(25)在MainMenu中选择退出,将出现图8.5.27所示的界面,选择“Yes”,以保存vendor/user设置。图8.5.27保存退出涟操互塌年剧掠蛰饭侥梧脑罪甭鞍敏酿镰杜菲绚恶锈爪阜桔锭圭室绕翱章FPGA上的嵌入式系统设计实例作者赵峰_第8章FPGA上的嵌入式系统设计实例作者赵峰_第8章第8章快速点餐系统设计(26)进行uClinux内核的编译工作时,首

64、先建立依赖关系,即输入以下命令:makedep(27)对修改后的配置进行内核编译,即输入命令:make,若无错误出现,编译完成后,会在当前的images目录下产生一个image.bin文件。惶官畴庙躇佩霓图欲佃序褪肉幂侮肯愁屏屡智斡诺男骸峡摩繁徘挽啄硷苯FPGA上的嵌入式系统设计实例作者赵峰_第8章FPGA上的嵌入式系统设计实例作者赵峰_第8章第8章快速点餐系统设计8.6 添加网页素材添加网页素材本节主要介绍如何添加网页素材。(1)将/Chapter8/Src/httpd下的所有文件复制到uClinux下的vendors/Xilinx/uclinuxauto/httpd文件夹下,命令如下:cp

65、fr/mnt/hgfs/Data/.httpd/home/uClinuxdist/vendors/Xilinx/uclinuxauto/这些文件是网页素材文件,其制作涉及HTML代码制作和JAVA代码制作,有兴趣的读者可尝试自行修改。匹舌称严租盎佳垣镣宜壕槛化冗恐橱梅赏抑耘芒菜陡车芋逐渍备弯亏习慈FPGA上的嵌入式系统设计实例作者赵峰_第8章FPGA上的嵌入式系统设计实例作者赵峰_第8章第8章快速点餐系统设计(2)在uClinux目录下新建一个文件夹Program,用于编译cgi程序,并将/Chapter8/Src/source中的getInfo.c、ledctl.c、priority.c文件

66、复制到Program文件夹下。(3)在当前目录下创建一个Makefile文件,将以下内容输入这个文件内(或者从/Source目录拷贝到当前文件夹内):ifndefROOTDIRROOTDIR=/home/uClinuxdist(此目录是ucLinux的解压目录)endif扫熄宜候仆指跪亭财涎雀睁钙彤服瓤赞些隆缴嫂恍入膀致遗孔心凋犹酞苏FPGA上的嵌入式系统设计实例作者赵峰_第8章FPGA上的嵌入式系统设计实例作者赵峰_第8章第8章快速点餐系统设计UCLINUX_BUILD_USER=1include$(ROOTDIR)/.configLINUXDIR=linux2.4.xLINUX_CONFI

67、G=$(ROOTDIR)/$(LINUXDIR)/.configinclude$(LINUX_CONFIG)LIBCDIR=$(CONFIG_LIBCDIR)include$(ROOTDIR)/config.archLDFLAGS=Wlelf2fltPATH:=$(ROOTDIR)/tools:$(PATH)臆阶厕痞甭友质磺矿讽档绽焉仲刁桃垮升氯芯响饯思泪翘愁泽垒恕挖它瞻FPGA上的嵌入式系统设计实例作者赵峰_第8章FPGA上的嵌入式系统设计实例作者赵峰_第8章第8章快速点餐系统设计EXEC=Priority.cgiEXEC_OBJS=Priority.oall:$(EXEC)$(EXEC):

68、$(EXEC_OBJS)$(CC)$(LDFLAGS)o$(EXEC_OBJS)$(LDLIBS)clean:rmf$(EXEC)*.elf*.gdb*.o赡捶薪贮豺崩遇稍昂斑恤且件凰顺阮冶谰凡雍莫桅穴坞静热展炬呜侦靶或FPGA上的嵌入式系统设计实例作者赵峰_第8章FPGA上的嵌入式系统设计实例作者赵峰_第8章第8章快速点餐系统设计%.o:%.c$(CC)c$(CFLAGS)I$(LINUXDIR)/includeo$dowdataimage.bin0x30000000,其中0x30000000是DDR内存的起始地址。俄骗塑鸳福备袁奏贪承裂饱还逆赡栖豁筷格抵脐恫鹰稚莽晒命奋闲疑幢溜FPGA上的

69、嵌入式系统设计实例作者赵峰_第8章FPGA上的嵌入式系统设计实例作者赵峰_第8章第8章快速点餐系统设计图8.7.6下载uClinux操作系统氯肢统民币洲攫斗花怪途稻设奏扳履纠掏绸探顷果把基沮丹镇朝恨曼搁铱FPGA上的嵌入式系统设计实例作者赵峰_第8章FPGA上的嵌入式系统设计实例作者赵峰_第8章第8章快速点餐系统设计(6)在XMD窗口中继续输入“con0x30000000”,如图8.7.7所示CPU将开始启动uClinux操作系统,并且在超级终端可看到图8.7.8所示的启动过程。沧迹脆渡盔做巢猾氓九魄廖怪干垮踌挣邮父燕裸省蝇波韭茂捞芜淀显落陛FPGA上的嵌入式系统设计实例作者赵峰_第8章FPG

70、A上的嵌入式系统设计实例作者赵峰_第8章第8章快速点餐系统设计图8.7.7运行操作系统驯北拣远膏责蜕痊铆玻郭刻档黄没哥盛垛初涎鹿真坯凿皋崩盛栗现报菩往FPGA上的嵌入式系统设计实例作者赵峰_第8章FPGA上的嵌入式系统设计实例作者赵峰_第8章第8章快速点餐系统设计图8.7.8uClinux成功运行卤峰忽辟皆屈稗沾甲奉贵齿群匝意助宁郝筒录人砖寥迎娠吸鉴特秤逮紫洼FPGA上的嵌入式系统设计实例作者赵峰_第8章FPGA上的嵌入式系统设计实例作者赵峰_第8章第8章快速点餐系统设计(7)uClinux启动完成后,切换到/tmp目录,然后启动Zmodem接收文件。在超级终端输入以下命令(它们分别对应进入t

71、mp目录、启动Zmodem):cd/tmplrz(每发送一次.o文件要重新执行lrz命令)擒垄恐矛呆逢誉赋筷尧政韶秽怀程华塘捻烛唯巨胰网泰仅鹊叔特最外换边FPGA上的嵌入式系统设计实例作者赵峰_第8章FPGA上的嵌入式系统设计实例作者赵峰_第8章第8章快速点餐系统设计(8)在串口终端中选择“传送”“发送文件”,文件分别选择为前面生成的“xup_v2pro_led.o”和“xup_v2pro_dip.o”,“协议”选择为“Zmodem”,点击“发送”按钮,即可开始发送文件,如图8.7.9图8.7.12所示。等待传送完成后,则在超级终端中可以输入命令:ls,查看是否有xup_v2pro_led.o

72、和xup_v2pro_dip.o的存在。仟吃门寡标屎荡伊撞冶穴咙萨些单熄瘸衍询腮霜夫彩岭芭泰莉醒诗栽钱魁FPGA上的嵌入式系统设计实例作者赵峰_第8章FPGA上的嵌入式系统设计实例作者赵峰_第8章第8章快速点餐系统设计图8.7.9发送xup_v2pro_dip.o文件渍戍康念泅苗又员茫叉笺疏烤租恭疽坛油闲离吁男晶权风舱齿驶挣痞归茄FPGA上的嵌入式系统设计实例作者赵峰_第8章FPGA上的嵌入式系统设计实例作者赵峰_第8章第8章快速点餐系统设计图8.7.10xup_v2pro_dip.o文件发送状态泣扁松魁群胰樊烤条盼办哩刨鹏章偏箭制摈胯鲸猪戏畴母纠躬溺涅订酉惫FPGA上的嵌入式系统设计实例作者

73、赵峰_第8章FPGA上的嵌入式系统设计实例作者赵峰_第8章第8章快速点餐系统设计图8.7.11发送xup_v2pro_led.o文件嚏创服魂拈调臆唤溺酷状拥麓药渭因扁长刁茄肿刑重郁绅钱绰盒音忘床暗FPGA上的嵌入式系统设计实例作者赵峰_第8章FPGA上的嵌入式系统设计实例作者赵峰_第8章第8章快速点餐系统设计图8.7.12xup_v2pro_led.o文件发送状态庸盈殴遁扼糖壳贵箭流体吾霖斗帝筷瀑沏体侥戍椎神刺蜀虱桐陌某望带囊FPGA上的嵌入式系统设计实例作者赵峰_第8章FPGA上的嵌入式系统设计实例作者赵峰_第8章第8章快速点餐系统设计(9)进行文件权限配置,即输入以下命令:cd/mkdir

74、/tmp/httpdcp/home/httpd/*.*/tmp/httpd/chmod644/tmp/httpd/*.*chmod755/tmp/httpd/*.cgithttpdd/tmp/httpdc“*.cgi”&pskill80其中,PS用于查看“thttpd”的进程号,如图8.7.13所示;kill80为图8.7.13中的thttpd进程号。鸣央岩敦搔宏脱仓骡腔指蔽称感澳绘了外翱痊甩绵彦例弹闷镜贫勇耸竭枪FPGA上的嵌入式系统设计实例作者赵峰_第8章FPGA上的嵌入式系统设计实例作者赵峰_第8章第8章快速点餐系统设计图8.7.13查看thttpd进程号涎郊蚊女程撒蚊擅壮攫芋康友线刹息

75、露涌楷戈壤剪容糜炭芦荤觉惮扛启孽FPGA上的嵌入式系统设计实例作者赵峰_第8章FPGA上的嵌入式系统设计实例作者赵峰_第8章第8章快速点餐系统设计(10)向内核注册模块,即输入以下命令:cd/tmp/httpdinsmodxup_v2pro_led.oinsmodxup_v2pro_dip.o同时,可以观察开发板上的LED灯是否闪亮,来确认是否已成功加载LED模块;通过按下DIP,来确认是否已加载DIP模块。首烈戮醉渍拐葡雀惫站歪啼隐泛帖稿腥工跟财截淬捻杰寞妇沾饵忆侍淬担FPGA上的嵌入式系统设计实例作者赵峰_第8章FPGA上的嵌入式系统设计实例作者赵峰_第8章第8章快速点餐系统设计(11)配

76、置FPGA的IP地址时,需要将主机的IP地址与FPGA的IP地址分配在相同网段。例如,主机的IP地址为192.168.238.4,则可以将FPGA的IP地址分配为192.168.238.8(最后一位可以任意选择),即输入以下命令:ifconfigeth0192.168.238.8啃铜褐暴吩之脾弗收椭熙馅焊断毁卉漏健炒菌船磁梗鲤内兄种煌同英吭凶FPGA上的嵌入式系统设计实例作者赵峰_第8章FPGA上的嵌入式系统设计实例作者赵峰_第8章第8章快速点餐系统设计(12)至此,所有配置已经完成,在浏览器内输入http:/192.168.238.8/home.html后即可开始访问网页。可以选择优先级来控制LED灯的亮灭,同时DIP的反馈信息将在Java类中被定期扫描。豪送顺炙冯萝吓径芽总香属叙畸铰普加傣靳毒陕堪摧汤洼法飘险熟曙寓达FPGA上的嵌入式系统设计实例作者赵峰_第8章FPGA上的嵌入式系统设计实例作者赵峰_第8章

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 医学/心理学 > 基础医学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号