资源描述:
《Using QEMU for Embedded Systems Development, Part 2 - LINUX For You.pdf》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、WriteForUsSubmitTipsSubscribetoPrintEditionSearchHOMEREVIEWSHOW-TOSCODINGINTERVIEWSFEATURESOVERVIEWBLOGSSERIESITADMINUsingQEMUforEmbeddedSystemsSearchfor:SearchDevelopment,Part2ByManojKumaronJuly1,2011inCoding,Developers·3Commentsand0ReactionsGetConnectedInthepreviousarticles,weRSSFeedTwitterlearnth
2、owtouseQEMUforagenericLinuxOSinstallation,fornetworkingusingOpenVPNandTAP/TUN,forcross-compilationoftheLinuxkernelforARM,tobootthekernelfromQEMU,andhowtobuildasmallfilesystemandthenmountitonthevanillakernel.Nowwewillstepoutfurther.Firstofall,Iwouldliketoexplaintheneedforabootloader.Thebootloaderisco
3、dethatisusedtoloadthekernelintoRAM,andthenspecifywhichpartitionwillbemountedastherootfilesystem.ThebootloaderresidesintheMBR(MasterBootRecord).Ingeneral-purposecomputingmachines,animportantcomponentistheBIOS(BasicInputOutputSystem).TheBIOScontainsthelow-leveldriversfordeviceslikethekeyboard,mouse,di
4、splay,etc.Itinitiatesthebootloader,whichthenloadsthekernel.Linuxusersareveryfamiliarwithboot-loaderslikeGRUB(GrandUnifiedBoot-Loader)andLILO(LinuxLoader).Micro-controllerprogrammersareveryfamiliarwiththeterm“Bare-MetalProgramming”.Itmeansthatthereisnothingbetweenyourprogramandtheprocessor—thecodeyou
5、writerunsdirectlyontheprocessor.Itbecomestheprogrammer’sresponsibilitytocheckeachandeverypossibleconditionthatcancorruptthesystem.Now,letusbuildasmallprogramfortheARMVersatilePlatformBaseboard,whichwillrunontheQEMUemulator,andthenprintamessageontheserialconsole.Downloadedthetool-chainforARMEABIfromh
6、ere.Asdescribedinthepreviousarticle,addthistool-chaininyourPATH.Bydefault,QEMUredirectstheserialconsoleoutputtotheterminal,whenitisinitialisedwiththenographicoption:$qemu-system-arm--help
7、grepnographic-nographicdisablegraphicaloutputandredirectserialI/Ostoconsole.Whenusing-nographic,press'ctrl-ah'to
8、getsomehelp.Wecanmakegooduseofthisfeature;let’swritesomedatatotheserialport,anditcanbeagoodworkingexample.Beforegoingfurther,wemustmakesurewhichprocessortheGNUEABItool-chainsupports,andwhichprocessorQ