<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8">
<meta name="generator" content="pdf2htmlEX">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<link rel="stylesheet" href="https://static.pudn.com/base/css/base.min.css">
<link rel="stylesheet" href="https://static.pudn.com/base/css/fancy.min.css">
<link rel="stylesheet" href="https://static.pudn.com/prod/directory_preview_static/627187db40256a40cee28852/raw.css">
<script src="https://static.pudn.com/base/js/compatibility.min.js"></script>
<script src="https://static.pudn.com/base/js/pdf2htmlEX.min.js"></script>
<script>
try{
pdf2htmlEX.defaultViewer = new pdf2htmlEX.Viewer({});
}catch(e){}
</script>
<title></title>
</head>
<body>
<div id="sidebar" style="display: none">
<div id="outline">
</div>
</div>
<div id="pf1" class="pf w0 h0" data-page-no="1"><div class="pc pc1 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="https://static.pudn.com/prod/directory_preview_static/627187db40256a40cee28852/bg1.jpg"><div class="c x0 y1 w2 h2"><div class="t m0 x1 h3 y2 ff1 fs0 fc0 sc0 ls0 ws0">ARM9<span class="_ _0"> </span><span class="ff2">嵌入式技术及<span class="_ _0"> </span></span>Linux<span class="_ _0"> </span><span class="ff2">实验指导</span></div><div class="t m0 x2 h4 y3 ff2 fs1 fc0 sc0 ls0 ws0">嵌入式开发流程</div><div class="t m0 x2 h4 y4 ff1 fs1 fc0 sc0 ls0 ws0">1.<span class="_ _1"> </span><span class="ff2">建立开发环境</span></div><div class="t m0 x2 h4 y5 ff1 fs1 fc0 sc0 ls0 ws0">2.<span class="_ _1"> </span><span class="ff2">配置开发主机</span></div><div class="t m0 x2 h4 y6 ff1 fs1 fc0 sc0 ls0 ws0">3.<span class="_ _1"> </span><span class="ff2">建立引导安装程<span class="_ _2"> </span></span>bootLoader</div><div class="t m0 x2 h4 y7 ff1 fs1 fc0 sc0 ls0 ws0">4.<span class="_ _1"> </span><span class="ff2">下载别人移植好的<span class="_ _2"> </span></span>Linux<span class="_ _2"> </span><span class="ff2">操作系统</span></div><div class="t m0 x2 h4 y8 ff1 fs1 fc0 sc0 ls0 ws0">5.<span class="_ _1"> </span><span class="ff2">建立根文件系统</span></div><div class="t m0 x2 h4 y9 ff1 fs1 fc0 sc0 ls0 ws0">6.<span class="_ _1"> </span><span class="ff2">建立应用程序的磁盘分区</span></div><div class="t m0 x2 h4 ya ff1 fs1 fc0 sc0 ls0 ws0">7.<span class="_ _1"> </span><span class="ff2">开发应用程序</span></div><div class="t m0 x2 h4 yb ff1 fs1 fc0 sc0 ls0 ws0">8.<span class="_ _1"> </span><span class="ff2">烧写内核、根文件系统、应用程序</span></div><div class="t m0 x2 h4 yc ff1 fs1 fc0 sc0 ls0 ws0">9.<span class="_ _1"> </span><span class="ff2">发布产品</span></div><div class="t m0 x2 h4 yd ff2 fs1 fc0 sc0 ls0 ws0">一建立嵌入式<span class="_ _2"> </span><span class="ff1">Linux<span class="_ _2"> </span></span>开发环境</div><div class="t m0 x2 h4 ye ff1 fs1 fc0 sc0 ls0 ws0">1<span class="ff2">)<span class="_ _2"> </span>基于<span class="_ _2"> </span></span>PC<span class="_ _2"> </span><span class="ff2">机的<span class="_ _2"> </span></span>windows<span class="_ _2"> </span><span class="ff2">操作系统下的<span class="_ _2"> </span></span>CYGWIN</div><div class="t m0 x2 h4 yf ff1 fs1 fc0 sc0 ls0 ws0">2<span class="ff2">)<span class="_ _2"> </span>在<span class="_ _2"> </span></span>windows<span class="_ _2"> </span><span class="ff2">下安装虚拟机后,再在虚拟机中安装<span class="_ _2"> </span></span>Linux<span class="_ _2"> </span><span class="ff2">操作系统</span></div><div class="t m0 x2 h4 y10 ff1 fs1 fc0 sc0 ls0 ws0">3<span class="ff2">)<span class="_ _2"> </span>直接安装<span class="_ _2"> </span></span>Linux<span class="_ _2"> </span><span class="ff2">操作系统</span></div><div class="t m0 x3 h4 y11 ff2 fs1 fc0 sc0 ls0 ws0">绝<span class="_ _3"></span>大<span class="_ _3"></span>多<span class="_ _3"></span>数<span class="_ _3"></span>的<span class="_ _4"> </span><span class="ff1">Linux<span class="_"> </span></span>软件<span class="_ _3"></span>开<span class="_ _3"></span>发<span class="_ _3"></span>都<span class="_ _3"></span>是<span class="_ _3"></span>以<span class="_ _4"> </span><span class="ff1">native<span class="_"> </span></span>方<span class="_ _3"></span>式<span class="_ _3"></span>进<span class="_ _3"></span>行<span class="_ _3"></span>的<span class="_ _3"></span>,<span class="_ _3"></span>即<span class="_ _3"></span>本<span class="_ _3"></span>机<span class="_ _3"></span>开<span class="_ _3"></span>发<span class="_ _3"></span>、<span class="_ _3"></span>调<span class="_ _3"></span>试<span class="_ _3"></span>、<span class="_ _3"></span>本<span class="_ _3"></span>机<span class="_ _3"></span>运<span class="_ _3"></span>行</div><div class="t m0 x2 h4 y12 ff2 fs1 fc0 sc0 ls0 ws0">的方<span class="_ _3"></span>式。<span class="_ _3"></span>而通<span class="_ _3"></span>常的<span class="_ _3"></span>嵌入式<span class="_ _3"></span>系统<span class="_ _3"></span>的软<span class="_ _3"></span>件采<span class="_ _3"></span>用一<span class="_ _3"></span>种交<span class="_ _3"></span>叉调<span class="_ _3"></span>试的<span class="_ _3"></span>方式<span class="_ _3"></span>进行<span class="_ _3"></span>开发<span class="_ _3"></span>。交<span class="_ _3"></span>叉编<span class="_ _3"></span>译调<span class="_ _3"></span>试环</div><div class="t m0 x2 h4 y13 ff2 fs1 fc0 sc0 ls0 ws0">境建立在宿主机上,对应的开发板叫目标板。</div><div class="t m0 x3 h4 y14 ff2 fs1 fc0 sc0 ls0 ws0">运行<span class="_ _2"> </span><span class="ff1">Linux<span class="_ _2"> </span></span>的<span class="_ _2"> </span><span class="ff1">PC<span class="_ _2"> </span></span>开发时使用宿主机上的交叉编译、汇编、及连接工具形成可执行的二</div><div class="t m0 x2 h4 y15 ff2 fs1 fc0 sc0 ls0 ws0">进制<span class="_ _3"></span>代码<span class="_ _3"></span>,然<span class="_ _3"></span>后把<span class="_ _3"></span>可以执<span class="_ _3"></span>行的<span class="_ _3"></span>文件<span class="_ _3"></span>下载<span class="_ _3"></span>到目<span class="_ _3"></span>标机<span class="_ _3"></span>上运<span class="_ _3"></span>行。<span class="_ _3"></span>调试<span class="_ _3"></span>的方<span class="_ _3"></span>法很<span class="_ _3"></span>多,<span class="_ _3"></span>可以<span class="_ _3"></span>使用<span class="_ _3"></span>串口</div><div class="t m0 x2 h4 y16 ff2 fs1 fc0 sc0 ls0 ws0">以太网口等,至于具体使用何种调试方法可以根据目标处理器的提供的支持作出选择。</div><div class="t m0 x3 h4 y17 ff2 fs1 fc0 sc0 ls0 ws0">进行嵌入式<span class="_ _4"> </span><span class="ff1">Linux<span class="_ _2"> </span></span>开发的一般<span class="_ _3"></span>需要在主机上<span class="_ _3"></span>安装<span class="_ _2"> </span><span class="ff1">Linux<span class="_ _3"></span></span>。嵌入式开发<span class="_ _3"></span>通常要求宿主机配</div><div class="t m0 x2 h4 y18 ff2 fs1 fc0 sc0 ls0 ws0">置有网络,支持<span class="_ _2"> </span><span class="ff1">NFS</span>。</div><div class="t m0 x2 h4 y19 ff2 fs1 fc0 sc0 ls0 ws0">二开发工具软件的安装与配置</div><div class="t m0 x2 h4 y1a ff2 fs1 fc0 sc0 ls0 ws0">开发环境配置包括配置网络,<span class="ff1">NFS<span class="_ _2"> </span></span>服务器的配置</div><div class="t m0 x4 h5 y1b ff2 fs2 fc0 sc1 ls0 ws0">基础实验</div><div class="t m0 x5 h6 y1c ff2 fs3 fc0 sc1 ls0 ws0">实验一<span class="_ _0"> </span><span class="ff3 sc0">Bootloader</span></div><div class="t m0 x2 h6 y1d ff2 fs3 fc0 sc1 ls0 ws0">实验目的</div><div class="t m0 x2 h4 y1e ff2 fs1 fc0 sc0 ls0 ws0">实验目<span class="_ _3"></span>的熟悉<span class="_ _4"> </span><span class="ff1">bootloader</span>,学<span class="_ _3"></span>会基于<span class="_ _4"> </span><span class="ff1">S3C2410<span class="_ _2"> </span></span>的<span class="_ _2"> </span><span class="ff1">b<span class="_ _3"></span>ootloader<span class="_ _2"> </span></span>配置与<span class="_ _3"></span>使用,<span class="_ _3"></span>串口方<span class="_ _3"></span>式或<span class="_ _4"> </span><span class="ff1">Jtag<span class="_ _2"> </span></span>的</div><div class="t m0 x2 h4 y1f ff2 fs1 fc0 sc0 ls0 ws0">下载调试,了解嵌入式系统的启动过程。</div><div class="t m0 x2 h6 y20 ff2 fs3 fc0 sc1 ls0 ws0">实验内容</div><div class="t m0 x2 h4 y21 ff2 fs1 fc0 sc0 ls0 ws0">本<span class="_ _3"></span>次<span class="_ _5"></span>实<span class="_ _3"></span>验<span class="_ _5"></span>使<span class="_ _3"></span>用<span class="_ _0"> </span><span class="ff1">Debian <span class="_ _3"></span>GNU/Linux<span class="_"> </span></span>操<span class="_ _5"></span>作<span class="_ _3"></span>系<span class="_ _5"></span>统<span class="_ _3"></span>环<span class="_ _5"></span>境<span class="_ _3"></span>安<span class="_ _5"></span>装<span class="_ _4"> </span><span class="ff1">min<span class="_ _3"></span>icom<span class="_"> </span></span>以<span class="_ _3"></span>及<span class="_ _3"></span>使<span class="_ _5"></span>用<span class="_ _3"></span>相<span class="_ _5"></span>关<span class="_ _3"></span>传<span class="_ _5"></span>输<span class="_ _3"></span>工<span class="_ _5"></span>具<span class="_ _3"></span>烧<span class="_ _5"></span>写</div><div class="t m0 x2 h4 y22 ff1 fs1 fc0 sc0 ls0 ws0">bootloader<span class="ff2">。<span class="_ _3"></span>学习<span class="_ _4"> </span></span>Linux<span class="_"> </span><span class="ff2">下的启动<span class="_ _3"></span>过程<span class="_ _3"></span>,以<span class="_ _3"></span>及<span class="_ _0"> </span></span>vivi<span class="_ _2"> </span><span class="ff2">的<span class="_ _3"></span>使用<span class="_ _3"></span>。下<span class="_ _3"></span>载已<span class="_ _3"></span>经编<span class="_ _3"></span>译好的<span class="_ _0"> </span></span>v<span class="_ _3"></span>ivi<span class="_ _2"> </span><span class="ff2">镜<span class="_ _3"></span>像到<span class="_ _3"></span>嵌</span></div><div class="t m0 x2 h4 y23 ff2 fs1 fc0 sc0 ls0 ws0">入式实验仪中运行。</div></div></div><div class="pi" data-data='{"ctm":[1.611850,0.000000,0.000000,1.611850,0.000000,0.000000]}'></div></div>
</body>
</html>
<div id="pf2" class="pf w0 h0" data-page-no="2"><div class="pc pc2 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="https://static.pudn.com/prod/directory_preview_static/627187db40256a40cee28852/bg2.jpg"><div class="c x0 y1 w2 h2"><div class="t m0 x2 h6 y24 ff2 fs3 fc0 sc1 ls0 ws0">预备知识</div><div class="t m0 x2 h4 y25 ff1 fs1 fc0 sc0 ls0 ws0">Linux<span class="_ _2"> </span><span class="ff2">的基本操作。</span></div><div class="t m0 x2 h6 y26 ff2 fs3 fc0 sc1 ls0 ws0">实验仪器</div><div class="t m0 x2 h4 y5 ff2 fs1 fc0 sc0 ls0 ws0">硬件:<span class="ff1">armsys<span class="_ _2"> </span></span>嵌入式实验仪,<span class="ff1">PC<span class="_ _2"> </span></span>机(主频<span class="_ _2"> </span><span class="ff1">500<span class="_ _2"> </span></span>以上)<span class="ff1">10G<span class="_ _2"> </span></span>以上硬盘</div><div class="t m0 x2 h4 y6 ff2 fs1 fc0 sc0 ls0 ws0">软件:操作系统<span class="_ _2"> </span><span class="ff1">Debian GNU/Linux</span>,<span class="ff1">minicom</span>,<span class="ff1">lrzsz</span></div><div class="t m0 x2 h6 y27 ff2 fs3 fc0 sc1 ls0 ws0">实验步骤:</div><div class="t m0 x2 h4 y9 ff3 fs1 fc0 sc0 ls0 ws0">1<span class="_ _2"> </span><span class="ff2 sc1">安装<span class="_ _2"> </span></span>minicom<span class="_ _2"> </span><span class="ff2 sc1">与<span class="_ _2"> </span></span>lrzsz</div><div class="t m0 x2 h7 y28 ff1 fs1 fc0 sc0 ls0 ws0">apt-get install minicom</div><div class="t m0 x2 h7 y29 ff1 fs1 fc0 sc0 ls0 ws0">apt-get install lrzsz</div><div class="t m0 x2 h4 yc ff3 fs1 fc0 sc0 ls0 ws0">2<span class="_ _2"> </span><span class="ff2 sc1">调整<span class="_ _2"> </span></span>minicom<span class="_ _2"> </span><span class="ff2 sc1">的端口参数</span></div><div class="t m0 x2 h4 y2a ff2 fs1 fc0 sc0 ls0 ws0">这是初始画面,按<span class="ff1">^a z</span>(这里按键顺序是<span class="_ _2"> </span><span class="ff1">ctrl a,</span>然后按<span class="_ _2"> </span><span class="ff1">z</span>)可以列出如下的帮助菜单。</div><div class="t m0 x2 h4 y2b ff2 fs1 fc0 sc0 ls0 ws0">如帮助所示,配置串口的参数是<span class="ff1">^a o,</span>会有如下的显示</div></div></div><div class="pi" data-data='{"ctm":[1.611850,0.000000,0.000000,1.611850,0.000000,0.000000]}'></div></div>
<div id="pf3" class="pf w0 h0" data-page-no="3"><div class="pc pc3 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="https://static.pudn.com/prod/directory_preview_static/627187db40256a40cee28852/bg3.jpg"><div class="c x0 y1 w2 h2"><div class="t m0 x2 h4 y7 ff2 fs1 fc0 sc0 ls0 ws0">现在需要配置的串口,选择<span class="_ _2"> </span><span class="ff1">Serial port setup,</span>进入串口设置画面</div><div class="t m0 x2 h4 ye ff2 fs1 fc0 sc0 ls0 ws0">现在需要把端口连接速度设置为<span class="ff1">:</span></div><div class="t m0 x2 h7 y2c ff1 fs1 fc0 sc0 ls0 ws0">Bps/Par/Bits 1<span class="_ _6"></span>15200</div><div class="t m0 x2 h7 y2d ff1 fs1 fc0 sc0 ls0 ws0">Hardware Flow Control OFF</div><div class="t m0 x2 h4 y11 ff2 fs1 fc0 sc0 ls0 ws0">而<span class="_ _2"> </span><span class="ff1">Serial Device </span>根据实际使用情况去做设置。</div><div class="t m0 x2 h4 y12 ff2 fs1 fc0 sc0 ls0 ws0">设置的方法是使用各选项之前的字母去执行选择。选好之后会出现如下的画面</div><div class="t m0 x2 h4 y1a ff2 fs1 fc0 sc0 ls0 ws0">设<span class="_ _3"></span>置<span class="_ _3"></span>完<span class="_ _5"></span>并<span class="_ _3"></span>确<span class="_ _3"></span>认<span class="_ _5"></span>无<span class="_ _3"></span>误<span class="_ _3"></span>后<span class="_ _5"></span>,<span class="_ _3"></span>按<span class="_ _3"></span>回<span class="_ _5"></span>车<span class="_ _3"></span>返<span class="_ _3"></span>回<span class="_ _3"></span>之<span class="_ _5"></span>前<span class="_ _3"></span>的<span class="_ _3"></span>画<span class="_ _5"></span>面<span class="_ _3"></span>,<span class="_ _3"></span>选<span class="_ _5"></span>择<span class="_ _7"> </span><span class="ff1">Save <span class="_ _3"></span>setup<span class="_ _3"></span> as<span class="_ _3"></span> <span class="_ _3"></span>dfl<span class="_"> </span></span>保<span class="_ _3"></span>存<span class="_ _5"></span>设<span class="_ _3"></span>置<span class="_ _3"></span>然<span class="_ _5"></span>后<span class="_ _3"></span>退<span class="_ _3"></span>出</div><div class="t m0 x2 h4 y2e ff1 fs1 fc0 sc0 ls0 ws0">minicom<span class="_ _2"> </span><span class="ff2">并重新启动<span class="_ _2"> </span></span>minicom<span class="ff2">。</span></div><div class="t m0 x2 h4 y2f ff3 fs1 fc0 sc0 ls0 ws0">3 <span class="ff2 sc1">使用串口线连接目标板与宿主机,然后启动目标板</span></div><div class="t m0 x2 h4 y30 ff2 fs1 fc0 sc0 ls0 ws0">启动目标板后,目标板的启动信息会通过串口在<span class="_ _2"> </span><span class="ff1">minicom<span class="_ _2"> </span></span>上显示启动信息</div><div class="t m0 x2 h4 y2a ff3 fs1 fc0 sc0 ls0 ws0">4<span class="_ _2"> </span><span class="ff2 sc1">使用串口烧写<span class="_ _2"> </span></span>bootloader</div><div class="t m0 x2 h4 y31 ff2 fs1 fc0 sc0 ls0 ws0">重新启动目标板,并按下任意键中断系统的运行。</div><div class="t m0 x2 h4 y32 ff2 fs1 fc0 sc0 ls0 ws0">在<span class="_ _2"> </span><span class="ff1">vivi<span class="_ _2"> </span></span>的提示符后输入<span class="_ _2"> </span><span class="ff1">Load flash vivi x,</span>会出现如下提示</div></div></div><div class="pi" data-data='{"ctm":[1.611850,0.000000,0.000000,1.611850,0.000000,0.000000]}'></div></div>
<div id="pf4" class="pf w0 h0" data-page-no="4"><div class="pc pc4 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="https://static.pudn.com/prod/directory_preview_static/627187db40256a40cee28852/bg4.jpg"><div class="c x0 y1 w2 h2"><div class="t m0 x2 h4 y6 ff2 fs1 fc0 sc0 ls0 ws0">现在需要通过串口使用<span class="_ _2"> </span><span class="ff1">xmodem<span class="_ _2"> </span></span>协议将<span class="_ _2"> </span><span class="ff1">vivi<span class="_ _4"> </span></span>传输到目标板上,这里适应<span class="ff1">^a s<span class="_ _2"> </span></span>选<span class="_ _2"> </span><span class="ff1">xmodem<span class="_ _2"> </span></span>选择</div><div class="t m0 x2 h4 y7 ff2 fs1 fc0 sc0 ls0 ws0">需<span class="_ _3"></span>要传<span class="_ _3"></span>输<span class="_ _3"></span>的<span class="_ _3"></span>文<span class="_ _3"></span>件<span class="_ _3"></span>,在<span class="_ _4"> </span><span class="ff1">1<span class="_"> </span></span>分钟<span class="_ _3"></span>左<span class="_ _3"></span>右<span class="_ _3"></span>的等<span class="_ _3"></span>待<span class="_ _3"></span>后<span class="_ _3"></span>,<span class="_ _3"></span><span class="ff1">vivi<span class="_"> </span></span>就已<span class="_ _3"></span>经<span class="_ _3"></span>被烧<span class="_ _3"></span>入<span class="_ _3"></span>了<span class="_ _3"></span>。<span class="_ _3"></span>当<span class="_ _3"></span>提示<span class="_ _3"></span>烧<span class="_ _3"></span>写<span class="_ _3"></span>完<span class="_ _3"></span>成<span class="_ _3"></span>后就<span class="_ _3"></span>可</div><div class="t m0 x2 h4 y8 ff2 fs1 fc0 sc0 ls0 ws0">以使用新下载的<span class="_ _2"> </span><span class="ff1">bootloader<span class="_ _2"> </span></span>启动目标板了。</div><div class="t m0 x6 h6 y33 ff2 fs3 fc0 sc1 ls0 ws0">实验二熟悉<span class="_ _0"> </span><span class="ff3 sc0">Linux<span class="_ _8"> </span></span>开发环境</div><div class="t m0 x2 h6 y34 ff2 fs3 fc0 sc1 ls0 ws0">实验目的</div><div class="t m0 x2 h4 yd ff2 fs1 fc0 sc0 ls0 ws0">实<span class="_ _3"></span>验目<span class="_ _3"></span>的<span class="_ _3"></span>熟<span class="_ _3"></span>悉<span class="_ _4"> </span><span class="ff1">Linux<span class="_"> </span></span>开发<span class="_ _3"></span>环<span class="_ _3"></span>境<span class="_ _3"></span>,<span class="_ _3"></span>学<span class="_ _3"></span>会基<span class="_ _3"></span>于<span class="_ _0"> </span><span class="ff1">S3C2410<span class="_"> </span></span>的<span class="_ _2"> </span><span class="ff1">Linux<span class="_"> </span></span>开发<span class="_ _3"></span>环境<span class="_ _3"></span>的<span class="_ _3"></span>配<span class="_ _3"></span>置<span class="_ _3"></span>与<span class="_ _3"></span>使用<span class="_ _3"></span>,<span class="_ _3"></span>使<span class="_ _3"></span>用</div><div class="t m0 x2 h4 ye ff1 fs1 fc0 sc0 ls0 ws0">NFS<span class="_ _2"> </span><span class="ff2">方式的下载调试,了解嵌入式开发的基本过程。</span></div><div class="t m0 x2 h6 y35 ff2 fs3 fc0 sc1 ls0 ws0">实验内容</div><div class="t m0 x2 h4 y11 ff2 fs1 fc0 sc0 ls0 ws0">本次实验使用<span class="_ _4"> </span><span class="ff1">Debian GNU/Linux<span class="_ _2"> </span></span>操作系统环境安装<span class="_ _4"> </span><span class="ff1">ARMLinux<span class="_ _2"> </span></span>的开发库及编译器。新建一</div><div class="t m0 x2 h8 y12 ff2 fs1 fc0 sc0 ls0 ws0">个目录,编写<span class="_ _2"> </span><span class="ff1">hello.c<span class="_ _4"> </span><span class="ff4">和<span class="_ _2"> </span></span>makefile<span class="_ _2"> </span></span>文件。学习<span class="_ _2"> </span><span class="ff1">Linux<span class="_ _2"> </span></span>下的编程<span class="ff4">和</span>编译的过程,以及<span class="_ _0"> </span><span class="ff1">ARM<span class="_ _2"> </span></span>实验</div><div class="t m0 x2 h8 y13 ff2 fs1 fc0 sc0 ls0 ws0">板的使用<span class="ff4">和</span>开发环境的设置。下载已经编译好的文件到嵌入式实验仪中运行。</div><div class="t m0 x2 h6 y36 ff2 fs3 fc0 sc1 ls0 ws0">预备知识</div><div class="t m0 x2 h8 y16 ff4 fs1 fc0 sc0 ls0 ws0">掌握<span class="_ _2"> </span><span class="ff1">C<span class="_ _2"> </span></span>语言<span class="ff2">的基础知识、程序调试的基础知识,<span class="ff1">Linux<span class="_ _2"> </span></span>的基本操作。</span></div><div class="t m0 x2 h6 y37 ff2 fs3 fc0 sc1 ls0 ws0">实验仪器</div><div class="t m0 x2 h4 y19 ff2 fs1 fc0 sc0 ls0 ws0">硬件:<span class="ff1">armsys<span class="_ _2"> </span></span>嵌入式实验仪,<span class="ff1">PC<span class="_ _2"> </span></span>机(主频<span class="_ _2"> </span><span class="ff1">500<span class="_ _2"> </span></span>以上)<span class="ff1">10G<span class="_ _2"> </span></span>以上硬盘</div><div class="t m0 x2 h4 y1a ff2 fs1 fc0 sc0 ls0 ws0">软件:操作系统<span class="_ _2"> </span><span class="ff1">Debian GNU/Linux</span>,<span class="ff1">minicom</span>,<span class="ff1">ARMLinux<span class="_ _2"> </span></span>开发环境</div><div class="t m0 x2 h6 y38 ff2 fs3 fc0 sc1 ls0 ws0">实验步骤:</div><div class="t m0 x2 h4 y30 ff3 fs1 fc0 sc0 ls0 ws0">1<span class="_ _2"> </span><span class="ff2 sc1">建立工作目录</span></div><div class="t m0 x2 h7 y39 ff1 fs1 fc0 sc0 ls0 ws0">mkdir hello</div><div class="t m0 x2 h7 y3a ff1 fs1 fc0 sc0 ls0 ws0">cd hello</div><div class="t m0 x2 h8 y3b ff3 fs1 fc0 sc0 ls0 ws0">2<span class="_ _2"> </span><span class="ff2 sc1">编写程序<span class="ff4">源</span>代码</span></div><div class="t m0 x2 h7 y3c ff1 fs1 fc0 sc0 ls0 ws0">#include<stdio.h></div><div class="t m0 x2 h7 y3d ff1 fs1 fc0 sc0 ls0 ws0">main()</div><div class="t m0 x2 h7 y3e ff1 fs1 fc0 sc0 ls0 ws0">{</div><div class="t m0 x3 h7 y3f ff1 fs1 fc0 sc0 ls0 ws0">printf(“hello world\n”)</div><div class="t m0 x2 h7 y40 ff1 fs1 fc0 sc0 ls0 ws0">}</div><div class="t m0 x2 h4 y41 ff3 fs1 fc0 sc0 ls0 ws0">3<span class="_ _2"> </span><span class="ff2 sc1">编写<span class="_ _2"> </span></span>makefile</div><div class="t m0 x2 h7 y42 ff1 fs1 fc0 sc0 ls0 ws0">CC = arm-linux-gcc</div><div class="t m0 x2 h7 y43 ff1 fs1 fc0 sc0 ls0 ws0">CFLAGS +=</div><div class="t m0 x2 h7 y44 ff1 fs1 fc0 sc0 ls0 ws0">all:hello</div><div class="t m0 x2 h7 y45 ff1 fs1 fc0 sc0 ls0 ws0">hello: hello.o</div></div></div><div class="pi" data-data='{"ctm":[1.611850,0.000000,0.000000,1.611850,0.000000,0.000000]}'></div></div>
<div id="pf5" class="pf w0 h0" data-page-no="5"><div class="pc pc5 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="https://static.pudn.com/prod/directory_preview_static/627187db40256a40cee28852/bg5.jpg"><div class="c x0 y1 w2 h2"><div class="t m0 x2 h7 y46 ff1 fs1 fc0 sc0 ls0 ws0"> $(CC) $(CFLAGS) -o $@ $<</div><div class="t m0 x2 h7 y47 ff1 fs1 fc0 sc0 ls0 ws0">clean:</div><div class="t m0 x2 h7 y48 ff1 fs1 fc0 sc0 ls0 ws0"> rm -rf *.o hello</div><div class="t m0 x2 h4 y3 ff3 fs1 fc0 sc0 ls0 ws0">4<span class="_ _2"> </span><span class="ff2 sc1">编译应用程序</span></div><div class="t m0 x3 h8 y4 ff2 fs1 fc0 sc0 ls0 ws0">在<span class="_ _2"> </span><span class="ff1">hello<span class="_ _2"> </span></span>目录下运行<span class="_ _2"> </span><span class="ff1">make,</span>如<span class="ff4">果</span>进行了<span class="ff4">修改</span>,需要重新执行<span class="_ _2"> </span><span class="ff1">make,</span>或</div><div class="t m0 x3 h7 y49 ff1 fs1 fc0 sc0 ls0 ws0">make clean</div><div class="t m0 x3 h7 y4a ff1 fs1 fc0 sc0 ls0 ws0">make</div><div class="t m0 x2 h4 y7 ff3 fs1 fc0 sc0 ls0 ws0">5<span class="_ _2"> </span><span class="ff2 sc1">下载调试</span></div><div class="t m0 x3 h8 y8 ff2 fs1 fc0 sc0 ls0 ws0">在宿主<span class="ff4">计算<span class="_ _3"></span></span>机上启动<span class="_ _0"> </span><span class="ff1">NFS<span class="_ _2"> </span></span>服务,并设置好<span class="ff4">共<span class="_ _3"></span>享</span>的目录,然<span class="_ _3"></span>后在开发板上<span class="_ _3"></span><span class="ff4">挂</span>载宿主机的</div><div class="t m0 x2 h8 y9 ff4 fs1 fc0 sc0 ls0 ws0">共享<span class="ff2">目录。</span></div><div class="t m0 x3 h8 ya ff1 fs1 fc0 sc0 ls0 ws0">mount <span class="_ _3"></span>-t <span class="_ _3"></span>nfs <span class="_ _3"></span>192.1.1.150:/root_nfs <span class="_ _3"></span> /host<span class="_ _3"></span> <span class="_ _3"></span> <span class="_ _3"></span> /*<span class="_ _9"></span><span class="ff2">实<span class="_ _3"></span>际<span class="_ _3"></span><span class="ff4">地<span class="_ _3"></span>址<span class="_ _3"></span></span>与<span class="_ _3"></span><span class="ff4">挂<span class="_ _3"></span></span>载<span class="_ _3"></span>目<span class="_ _3"></span>录<span class="_ _3"></span>需<span class="_ _3"></span>要<span class="_ _3"></span>根<span class="_ _3"></span>据<span class="_ _3"></span>实<span class="_ _3"></span>际<span class="_ _3"></span>情<span class="_ _3"></span>况<span class="_ _3"></span>进<span class="_ _3"></span>行</span></div><div class="t m0 x2 h8 yb ff4 fs1 fc0 sc0 ls0 ws0">修改<span class="ff1">*/</span></div><div class="t m0 x3 h8 yc ff2 fs1 fc0 sc0 ls0 ws0">成<span class="ff4">功</span>之后在开发板上进入<span class="ff1">/host<span class="_ _2"> </span></span>目录就可以开始运行之前编译的文件了。</div><div class="t m0 x6 h9 y4b ff2 fs3 fc0 sc1 ls0 ws0">实验<span class="ff4">三</span>嵌入式系统串口编程</div><div class="t m0 x2 h6 y35 ff2 fs3 fc0 sc1 ls0 ws0">实验目的</div><div class="t m0 x2 h8 y11 ff2 fs1 fc0 sc0 ls0 ws0">了解在<span class="_ _2"> </span><span class="ff1">Linux<span class="_ _2"> </span></span>环境下串行程序设<span class="ff4">计</span>的基本方法</div><div class="t m0 x2 h8 y12 ff4 fs1 fc0 sc0 ls0 ws0">掌握终<span class="ff2">端的主要</span>属性和<span class="ff2">设置方法,熟悉</span>终<span class="ff2">端<span class="_ _2"> </span><span class="ff1">IO<span class="_ _2"> </span></span></span>函<span class="ff2">数的使用</span></div><div class="t m0 x2 h6 y4c ff2 fs3 fc0 sc1 ls0 ws0">实验内容</div><div class="t m0 x2 h8 y15 ff4 fs1 fc0 sc0 ls0 ws0">读懂<span class="ff2">程序</span>源<span class="ff2">代码,学习<span class="_ _2"> </span><span class="ff1">IO<span class="_ _2"> </span></span></span>函<span class="ff2">数</span></div><div class="t m0 x2 h6 y4d ff2 fs3 fc0 sc1 ls0 ws0">预备知识</div><div class="t m0 x2 h8 y18 ff4 fs1 fc0 sc0 ls0 ws0">掌握<span class="_ _2"> </span><span class="ff1">C<span class="_ _2"> </span></span>语言<span class="ff2">的基础知识</span></div><div class="t m0 x2 h8 y19 ff4 fs1 fc0 sc0 ls0 ws0">掌握<span class="ff2">在<span class="_ _2"> </span><span class="ff1">Linux<span class="_ _2"> </span></span>下常用编</span>辑<span class="ff2">器的使用</span></div><div class="t m0 x2 h8 y1a ff4 fs1 fc0 sc0 ls0 ws0">掌握<span class="_ _2"> </span><span class="ff1">Makefile<span class="_ _2"> </span><span class="ff2">的编写</span></span>和<span class="ff2">使用</span></div><div class="t m0 x2 h8 y2e ff4 fs1 fc0 sc0 ls0 ws0">掌握<span class="_ _2"> </span><span class="ff1">Linux<span class="_ _2"> </span><span class="ff2">下的程序编译与交叉编译过程</span></span></div><div class="t m0 x2 h6 y4e ff2 fs3 fc0 sc1 ls0 ws0">实验仪器</div><div class="t m0 x2 h4 y2a ff2 fs1 fc0 sc0 ls0 ws0">硬件:<span class="ff1">armsys<span class="_ _2"> </span></span>嵌入式实验仪,<span class="ff1">PC<span class="_ _2"> </span></span>机(主频<span class="_ _2"> </span><span class="ff1">500<span class="_ _2"> </span></span>以上)<span class="ff1">10G<span class="_ _2"> </span></span>以上硬盘</div><div class="t m0 x2 h4 y31 ff2 fs1 fc0 sc0 ls0 ws0">软件:操作系统<span class="_ _2"> </span><span class="ff1">Debian GNU/Linux</span>,<span class="ff1">minicom</span>,<span class="ff1">ARMLinux<span class="_ _2"> </span></span>开发环境</div><div class="t m0 x2 h6 y4f ff2 fs3 fc0 sc1 ls0 ws0">实验步骤:</div><div class="t m0 x2 h8 y50 ff3 fs1 fc0 sc0 ls0 ws0">1<span class="_ _2"> </span><span class="ff2 sc1">串口操作需要的<span class="ff4">头</span>文件</span></div><div class="t m0 x2 h7 y3e ff1 fs1 fc0 sc0 ls0 ws0">s3c2410.h</div><div class="t m0 x2 h7 y3f ff1 fs1 fc0 sc0 ls0 ws0">serial.h</div><div class="t m0 x2 h4 y32 ff3 fs1 fc0 sc0 ls0 ws0">2<span class="_ _2"> </span><span class="ff2 sc1">设置串口</span></div><div class="t m0 x3 h7 y51 ff1 fs1 fc0 sc0 ls0 ws0">GPHCON |= 0xa0;<span class="_ _a"> </span>//GPH2,GPH3 used as TXD<span class="_ _6"></span>0,RXD0</div><div class="t m0 x3 h8 y21 ff1 fs1 fc0 sc0 ls0 ws0">GPHUP<span class="_ _b"> </span> = 0x0c;<span class="_ _c"> </span>//GPH2,GPH3<span class="_ _2"> </span><span class="ff2">内<span class="ff4">部</span>上<span class="ff4">拉</span></span></div><div class="t m0 x3 h7 y44 ff1 fs1 fc0 sc0 ls0 ws0">ULCON0<span class="_ _5"></span> = 0x03;<span class="_ _d"> </span>//8N1</div><div class="t m0 x3 h8 y2b ff1 fs1 fc0 sc0 ls0 ws0">UCON0<span class="_ _e"> </span> = 0x05;<span class="_ _d"> </span>//<span class="ff4">查询<span class="ff2">方式</span></span></div></div></div><div class="pi" data-data='{"ctm":[1.611850,0.000000,0.000000,1.611850,0.000000,0.000000]}'></div></div>