⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 00000011.htm

📁 水木社区 embeded 版精华区 下载
💻 HTM
字号:
<?xml version="1.0" encoding="gb2312"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312"/><title>linux for ppc chapter11                jacobw </title></head><body><center><h1>BBS 水木清华站∶精华区</h1></center><a name="top"></a>发信人:&nbsp;plato&nbsp;(纯真年代),&nbsp;信区:&nbsp;Embedded&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />标&nbsp;&nbsp;题:&nbsp;linux&nbsp;for&nbsp;ppc&nbsp;chapter11&nbsp;&nbsp;<br />发信站:&nbsp;BBS&nbsp;水木清华站&nbsp;(Wed&nbsp;May&nbsp;30&nbsp;23:17:11&nbsp;2001)&nbsp;<br />&nbsp;<br />Next&nbsp;Previous&nbsp;Contents&nbsp;<br />----------------------------------------------------------------------------&nbsp;<br />----&nbsp;<br />11.&nbsp;Device&nbsp;Drivers&nbsp;<br />The&nbsp;kernel&nbsp;already&nbsp;includes&nbsp;device&nbsp;drivers&nbsp;for&nbsp;the&nbsp;on-chip&nbsp;serial&nbsp;and&nbsp;ethern&nbsp;<br />et&nbsp;ports.&nbsp;<br />11.1&nbsp;Examples&nbsp;<br />For&nbsp;helpful&nbsp;MPC8xx-specific&nbsp;device&nbsp;driver&nbsp;examples,&nbsp;see:&nbsp;<a href="http://lists.linuxp">http://lists.linuxp</a>&nbsp;<br />pc.org/listarcs/linuxppc-embedded/200001/msg00221.html&nbsp;<br /><a href="ftp://ftp.denx.de/pub/LinuxPPC/usr/src/drivers.tar.gz">ftp://ftp.denx.de/pub/LinuxPPC/usr/src/drivers.tar.gz</a>&nbsp;<br />11.2&nbsp;Flash&nbsp;memory&nbsp;<br />Flash&nbsp;Device&nbsp;Driver&nbsp;<br /><a href="ftp://ftp.denx.de/pub/LinuxPPC/usr/src/CDK.tar.gz">ftp://ftp.denx.de/pub/LinuxPPC/usr/src/CDK.tar.gz</a>&nbsp;<br />A&nbsp;flash&nbsp;driver&nbsp;will&nbsp;give&nbsp;you&nbsp;access&nbsp;to&nbsp;/dev/flash&nbsp;devices,&nbsp;which&nbsp;are&nbsp;useful&nbsp;&nbsp;<br />during&nbsp;development,&nbsp;for&nbsp;field&nbsp;upgrades&nbsp;and&nbsp;are&nbsp;ideal&nbsp;for&nbsp;storing&nbsp;fixed&nbsp;size&nbsp;&nbsp;<br />persistent&nbsp;configuration&nbsp;data&nbsp;like&nbsp;your&nbsp;board's&nbsp;Ethernet&nbsp;MAC&nbsp;address.&nbsp;Includ&nbsp;<br />es&nbsp;drivers&nbsp;supporting&nbsp;a&nbsp;number&nbsp;of&nbsp;vendor's&nbsp;devices.&nbsp;<br />The&nbsp;flash&nbsp;driver&nbsp;does&nbsp;auto-erase&nbsp;when&nbsp;the&nbsp;length&nbsp;of&nbsp;data&nbsp;written&nbsp;per&nbsp;write()&nbsp;<br />&nbsp;is&nbsp;exactly&nbsp;the&nbsp;corresponding&nbsp;erase&nbsp;block&nbsp;size.&nbsp;So&nbsp;usually&nbsp;you&nbsp;just&nbsp;need&nbsp;to&nbsp;&nbsp;<br />do:&nbsp;<br />open&nbsp;(/dev/flash???)&nbsp;<br />lseek(specific&nbsp;erase&nbsp;region)&nbsp;<br />write(data,&nbsp;region&nbsp;size)&nbsp;<br />QSLinux&nbsp;Flash&nbsp;Driver&nbsp;<br /><a href="http://qslinux.org/">http://qslinux.org/</a>&nbsp;<a href="ftp://qslinux.org/">ftp://qslinux.org/</a>&nbsp;<br />QSLinux&nbsp;contains&nbsp;a&nbsp;fully&nbsp;functioning&nbsp;FLASH&nbsp;driver,&nbsp;and&nbsp;an&nbsp;interface&nbsp;to&nbsp;the&nbsp;E&nbsp;<br />xt2FS&nbsp;filesystem,&nbsp;with&nbsp;compression.&nbsp;<br />Memory&nbsp;Technology&nbsp;Device&nbsp;Subsystem&nbsp;<br /><a href="http://www.linux-mtd.infradead.org/">http://www.linux-mtd.infradead.org/</a>&nbsp;<br />The&nbsp;MTD&nbsp;subsystem&nbsp;offers&nbsp;a&nbsp;more&nbsp;general&nbsp;solution&nbsp;which&nbsp;allows&nbsp;you&nbsp;to&nbsp;treat&nbsp;t&nbsp;<br />he&nbsp;flash&nbsp;as&nbsp;a&nbsp;regular&nbsp;block&nbsp;device&nbsp;on&nbsp;which&nbsp;you&nbsp;can&nbsp;mount&nbsp;a&nbsp;filesystem.&nbsp;It's&nbsp;<br />&nbsp;ideal&nbsp;for&nbsp;large&nbsp;amounts&nbsp;of&nbsp;variable&nbsp;sized&nbsp;data&nbsp;or&nbsp;applications&nbsp;requiring&nbsp;a&nbsp;&nbsp;<br />traditional&nbsp;writable&nbsp;filesystem,&nbsp;provided&nbsp;by&nbsp;the&nbsp;Journaling&nbsp;Flash&nbsp;Filesystem&nbsp;<br />.&nbsp;<br />However,&nbsp;some&nbsp;work&nbsp;is&nbsp;required&nbsp;to&nbsp;get&nbsp;the&nbsp;MTP&nbsp;to&nbsp;run&nbsp;on&nbsp;PowerPC,&nbsp;as&nbsp;it&nbsp;doesn&nbsp;<br />'t&nbsp;yet&nbsp;support&nbsp;big&nbsp;endian.&nbsp;<br />M-Systems&nbsp;Disk-On-Chip&nbsp;<br /><a href="http://www.linux-mtd.infradead.org/doc2000.html">http://www.linux-mtd.infradead.org/doc2000.html</a>&nbsp;<br />This&nbsp;is&nbsp;supported&nbsp;via&nbsp;the&nbsp;Memory&nbsp;Technology&nbsp;Device&nbsp;Subsystem.&nbsp;<br />11.3&nbsp;PCMCIA&nbsp;Cards&nbsp;<br />For&nbsp;a&nbsp;PCMCIA&nbsp;driver,&nbsp;see:&nbsp;<a href="http://lists.linuxppc.org/listarcs/linuxppc-embedd">http://lists.linuxppc.org/listarcs/linuxppc-embedd</a>&nbsp;<br />ed/200002/msg00093.html&nbsp;<br />There&nbsp;are&nbsp;also&nbsp;some&nbsp;fairly&nbsp;detailed&nbsp;notes&nbsp;available&nbsp;at:&nbsp;<a href="ftp://ftp.absoval.co">ftp://ftp.absoval.co</a>&nbsp;<br />m/pub/rpxlite/&nbsp;and&nbsp;<a href="http://lists.linuxppc.org/listarcs/linuxppc-embedded/2000">http://lists.linuxppc.org/listarcs/linuxppc-embedded/2000</a>&nbsp;<br />05/msg00227.html&nbsp;<br />For&nbsp;generic&nbsp;Linux&nbsp;PCMCIA&nbsp;info,&nbsp;see:&nbsp;<a href="http://pcmcia.sourceforge.org/ftp/doc/PC">http://pcmcia.sourceforge.org/ftp/doc/PC</a>&nbsp;<br />MCIA-PROG.html&nbsp;<br />11.4&nbsp;IDE/ATA&nbsp;Disk&nbsp;Drives&nbsp;<br />There&nbsp;are&nbsp;lots&nbsp;of&nbsp;options&nbsp;for&nbsp;connecting&nbsp;IDE&nbsp;drives.&nbsp;You&nbsp;need&nbsp;to&nbsp;at&nbsp;least&nbsp;co&nbsp;<br />nfigure&nbsp;CONFIG_BLK_DEV_IDE&nbsp;and&nbsp;CONFIG_BLK_DEV_IDEDISK.&nbsp;Search&nbsp;for&nbsp;IDE.&nbsp;<br />Also,&nbsp;see:&nbsp;<a href="http://www.bluebutton.com/proj/mbxlinux/.">http://www.bluebutton.com/proj/mbxlinux/.</a>&nbsp;<br />11.5&nbsp;PCI&nbsp;Bridge&nbsp;<br />Search&nbsp;for&nbsp;QSPAN&nbsp;or&nbsp;PowerSpan.&nbsp;<br />11.6&nbsp;Watchdog&nbsp;<br />Using&nbsp;the&nbsp;on-chip&nbsp;watchdog&nbsp;to&nbsp;provide&nbsp;the&nbsp;basic&nbsp;&quot;write&nbsp;kicked&quot;&nbsp;/dev/watchdog&nbsp;<br />&nbsp;interface&nbsp;described&nbsp;in&nbsp;Documentation/watchdog.txt&nbsp;is&nbsp;problematic,&nbsp;because&nbsp;t&nbsp;<br />he&nbsp;SYPCR&nbsp;register&nbsp;controlling&nbsp;it&nbsp;can&nbsp;only&nbsp;be&nbsp;written&nbsp;once&nbsp;after&nbsp;reset&nbsp;to&nbsp;bot&nbsp;<br />h&nbsp;set&nbsp;the&nbsp;timeout&nbsp;and&nbsp;enable&nbsp;the&nbsp;watchdog.&nbsp;Once&nbsp;enabled,&nbsp;the&nbsp;boot&nbsp;loader&nbsp;and&nbsp;<br />&nbsp;kernel&nbsp;must&nbsp;keep&nbsp;it&nbsp;from&nbsp;expiring&nbsp;up&nbsp;until&nbsp;the&nbsp;point&nbsp;where&nbsp;the&nbsp;user&nbsp;applica&nbsp;<br />tion&nbsp;opens&nbsp;/dev/watchdog.&nbsp;Littering&nbsp;the&nbsp;generic&nbsp;kernel&nbsp;decompress&nbsp;and&nbsp;startu&nbsp;<br />p&nbsp;code&nbsp;with&nbsp;watchdog&nbsp;kicks&nbsp;to&nbsp;do&nbsp;this&nbsp;isn't&nbsp;acceptable&nbsp;to&nbsp;other&nbsp;Linux&nbsp;users.&nbsp;<br />&nbsp;Hence,&nbsp;hardware&nbsp;watchdog&nbsp;support&nbsp;hasn't&nbsp;been&nbsp;implemented&nbsp;yet.&nbsp;<br />The&nbsp;general&nbsp;plan&nbsp;to&nbsp;solve&nbsp;this&nbsp;problem&nbsp;is&nbsp;described&nbsp;in:&nbsp;<a href="http://lists.linuxpp">http://lists.linuxpp</a>&nbsp;<br />c.org/listarcs/linuxppc-embedded/199910/msg00026.html&nbsp;<br />You&nbsp;can&nbsp;probably&nbsp;use&nbsp;Linux's&nbsp;software&nbsp;watchdog&nbsp;in&nbsp;the&nbsp;mean&nbsp;time.&nbsp;<br />11.7&nbsp;USB&nbsp;for&nbsp;MPC850/823&nbsp;<br /><a href="http://www.honeywell.se/inu/usb/">http://www.honeywell.se/inu/usb/</a>&nbsp;and&nbsp;<a href="http://lists.suse.com/archives/linux-us">http://lists.suse.com/archives/linux-us</a>&nbsp;<br />b/2000-Mar/0234.html&nbsp;<br />These&nbsp;devices&nbsp;can&nbsp;be&nbsp;made&nbsp;to&nbsp;operate&nbsp;as&nbsp;a&nbsp;USB&nbsp;host&nbsp;or&nbsp;slave.&nbsp;Search&nbsp;for&nbsp;USB.&nbsp;<br />&nbsp;<br />Also&nbsp;see&nbsp;the&nbsp;Programming&nbsp;Guide&nbsp;for&nbsp;Linux&nbsp;USB&nbsp;Device&nbsp;Drivers&nbsp;at&nbsp;<a href="http://usb.in">http://usb.in</a>&nbsp;<br />.tum.de/usbdoc/&nbsp;<br />11.8&nbsp;A/D&nbsp;and&nbsp;D/A&nbsp;<br />Use&nbsp;something&nbsp;that&nbsp;&quot;frames&quot;&nbsp;the&nbsp;data&nbsp;and&nbsp;the&nbsp;SI/TDM&nbsp;interface&nbsp;works&nbsp;really&nbsp;s&nbsp;<br />weet.&nbsp;Take&nbsp;a&nbsp;look&nbsp;at&nbsp;the&nbsp;CS4218&nbsp;audio&nbsp;codec&nbsp;driver&nbsp;for&nbsp;the&nbsp;Embedded&nbsp;Planet&nbsp;b&nbsp;<br />oards.&nbsp;It's&nbsp;floating&nbsp;around&nbsp;in&nbsp;the&nbsp;2.2.13&nbsp;kernels&nbsp;on&nbsp;the&nbsp;MontaVista&nbsp;site.&nbsp;<br />11.9&nbsp;VME&nbsp;<br />Numerous&nbsp;VME&nbsp;board&nbsp;vendors&nbsp;offer&nbsp;Linux&nbsp;support&nbsp;through&nbsp;software&nbsp;partners&nbsp;suc&nbsp;<br />h&nbsp;as&nbsp;Denx.&nbsp;<br />Some&nbsp;older&nbsp;patches&nbsp;and&nbsp;tarballs&nbsp;to&nbsp;use&nbsp;Linux&nbsp;on&nbsp;VME&nbsp;boards&nbsp;and&nbsp;simplify&nbsp;the&nbsp;&nbsp;<br />access&nbsp;to&nbsp;the&nbsp;VME&nbsp;bus&nbsp;are&nbsp;available&nbsp;at:&nbsp;<a href="ftp://vlab1.iram.es/pub/linux-vme/">ftp://vlab1.iram.es/pub/linux-vme/</a>&nbsp;<br />11.10&nbsp;HDLC/PPP&nbsp;<br /><a href="http://qslinux.org/docs/snmc/hdlc/index.html">http://qslinux.org/docs/snmc/hdlc/index.html</a>&nbsp;<br />Provides&nbsp;support&nbsp;for&nbsp;the&nbsp;HDLC&nbsp;protocol,&nbsp;running&nbsp;the&nbsp;PPP&nbsp;layer&nbsp;in&nbsp;order&nbsp;to&nbsp;tr&nbsp;<br />ansport&nbsp;IP&nbsp;packets&nbsp;across&nbsp;a&nbsp;synchronous&nbsp;serial&nbsp;link.&nbsp;<br />11.11&nbsp;SPI&nbsp;<br /><a href="ftp://216.118.31.75/pub/">ftp://216.118.31.75/pub/</a>&nbsp;<br />This&nbsp;driver&nbsp;is&nbsp;an&nbsp;interface&nbsp;for&nbsp;the&nbsp;SPI&nbsp;controller&nbsp;in&nbsp;MPC8xx.&nbsp;The&nbsp;driver&nbsp;is&nbsp;&nbsp;<br />written&nbsp;to&nbsp;work&nbsp;with&nbsp;the&nbsp;microcode&nbsp;patches&nbsp;to&nbsp;correct&nbsp;the&nbsp;parameter&nbsp;ram&nbsp;prob&nbsp;<br />lems.&nbsp;The&nbsp;driver&nbsp;supports&nbsp;basic&nbsp;init,open,close,read&nbsp;and&nbsp;write&nbsp;functions.&nbsp;<br />11.12&nbsp;Linux&nbsp;STREAMS&nbsp;(LiS)&nbsp;<br /><a href="http://www.gcom.com/home/linux/lis/">http://www.gcom.com/home/linux/lis/</a>&nbsp;<br />LiS&nbsp;is&nbsp;a&nbsp;software&nbsp;package&nbsp;that&nbsp;comprises&nbsp;an&nbsp;implementation&nbsp;of&nbsp;SVR4&nbsp;compatibl&nbsp;<br />e&nbsp;STREAMS&nbsp;for&nbsp;Linux&nbsp;in&nbsp;the&nbsp;form&nbsp;of&nbsp;a&nbsp;loadable&nbsp;kernel&nbsp;module.&nbsp;<br />A&nbsp;patch&nbsp;to&nbsp;port&nbsp;it&nbsp;to&nbsp;MPC8xx&nbsp;based&nbsp;Embedded&nbsp;PowerPC&nbsp;systems&nbsp;is&nbsp;available&nbsp;at:&nbsp;<br />&nbsp;<a href="ftp://ftp.denx.de/pub/LinuxPPC/usr/src/LiS/">ftp://ftp.denx.de/pub/LinuxPPC/usr/src/LiS/</a>&nbsp;<br />----------------------------------------------------------------------------&nbsp;<br />----&nbsp;<br />Next&nbsp;Previous&nbsp;Contents&nbsp;&nbsp;<br />&nbsp;<br />--&nbsp;<br />&nbsp;<br />※&nbsp;来源:·BBS&nbsp;水木清华站&nbsp;smth.org·[FROM:&nbsp;166.111.161.8]&nbsp;<br /><a href="00000010.htm">上一篇</a><a href="javascript:history.go(-1)">返回上一页</a><a href="index.htm">回到目录</a><a href="#top">回到页首</a><a href="00000012.htm">下一篇</a></h1></center><center><h1>BBS 水木清华站∶精华区</h1></center></body></html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -