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

📄 testing_the_uclinux_kernel.html

📁 ADI 公司blackfin系列的用户使用文挡。
💻 HTML
📖 第 1 页 / 共 3 页
字号:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html><head>  <title></title>  <link rel="stylesheet" media="screen" type="text/css" href="./style.css" />  <link rel="stylesheet" media="screen" type="text/css" href="./design.css" />  <link rel="stylesheet" media="print" type="text/css" href="./print.css" />  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /></head><body><a href=start.html>start</a></br><div class="toc"><div class="tocheader toctoggle" id="toc__header">Table of Contents</div><div id="toc__inside"><ul class="toc"><li class="level1"><div class="li"><span class="li"><a href="#testing_the_uclinux_kernel" class="toc">Testing the uClinux Kernel</a></span></div><ul class="toc"><li class="level2"><div class="li"><span class="li"><a href="#purpose" class="toc">Purpose</a></span></div></li><li class="level2"><div class="li"><span class="li"><a href="#overview" class="toc">Overview</a></span></div><ul class="toc"><li class="level3"><div class="li"><span class="li"><a href="#ltp_test_wt_wb" class="toc">LTP test(WT,WB)</a></span></div></li><li class="level3"><div class="li"><span class="li"><a href="#device_driver_test" class="toc">Device driver test</a></span></div></li><li class="level3"><div class="li"><span class="li"><a href="#kernel_function_test" class="toc">Kernel Function test</a></span></div></li><li class="level3"><div class="li"><span class="li"><a href="#system_test" class="toc">System test</a></span></div></li></ul></li><li class="level2"><div class="li"><span class="li"><a href="#environment" class="toc">Environment</a></span></div><ul class="toc"><li class="level3"><div class="li"><span class="li"><a href="#target_configuration" class="toc">Target Configuration</a></span></div></li><li class="level3"><div class="li"><span class="li"><a href="#host_configuration" class="toc">Host Configuration</a></span></div></li></ul></li><li class="level2"><div class="li"><span class="li"><a href="#uclinux_kernel_test_steps" class="toc">uClinux Kernel test steps</a></span></div></li><li class="level2"><div class="li"><span class="li"><a href="#criteria" class="toc">Criteria</a></span></div></li><li class="level2"><div class="li"><span class="li"><a href="#problem_reporting_and_tracking" class="toc">Problem reporting and tracking</a></span></div></li><li class="level2"><div class="li"><span class="li"><a href="#limitations" class="toc">Limitations</a></span></div></li></ul></li></ul></div></div><h1><a name="testing_the_uclinux_kernel" id="testing_the_uclinux_kernel">Testing the uClinux Kernel</a></h1><div class="level1"></div><!-- SECTION [1-41] --><h2><a name="purpose" id="purpose">Purpose</a></h2><div class="level2"><p>The purpose of testing the uClinux kernel is to ensure each part of it, such as the system calls, IPC mechanism, file system, network, device drivers, memory management of this release is stable and robust, so that it can support various applications running well.</p></div><!-- SECTION [42-326] --><h2><a name="overview" id="overview">Overview</a></h2><div class="level2"><p>To test the uClinux kernel, a host system and Blackfin target are required. The host system is where the uClinux source code is downloaded and built. The Blackfin target enables tests to be run on the real processor platform ensuring that the uClinux kernel image can take control from uboot, initialize the processor and peripherals, and operate the whole system properly. For now, there are four types of target boards available. STAMP board with Blackfin 533 chip, STAMP board with Blackfin 537 chip, EZKIT board with BF533 chip and EZKIT board with BF561 chip. These four boards are covered in this test.</p><p>Besides, in 2006R1 release there are two versions of toolchain released, and each of it support compiling both elf and flat format applications. As a result, four kinds of kernel image could be generated in the host environment of Suse linux, flat format image by 3.4 toolchain, flat format image by 4.1 toolchain, elf format image by 3.4 toolchain, elf format image by 4.1 toolchain. Also it needs to test the linux image built in the host environment of COLINUX. </p><p>The test coverage for each combination of board status and kernel image can be reflected in the tables at:<img src="images/smileys/fixme.gif" align="middle" alt="FIXME" />.<br/>  As you can see from the tables, for each instance the test cases to run differs, the following part would describe the ways to run the cases in detail.</p><p>In order to secure the kernel performance at all the working frequencies, the uClinux kernel testing is needed to take at various system clock and core clock. The working range for the four boards is about 30~120Mhz System Clock and 30~600Mhz Core Clock. For BF533 four combinations of CSLK and SCLK are chosen: 552 Mhz 110 Mhz, 552Mhz 36 Mhz, 398 Mhz 79 Mhz, 99Mhz 49Mhz. For BF537 four combinations of CSLK and SCLK: 550 Mhz 110 Mhz, 500Mhz 50 Mhz, 500 Mhz 100 Mhz, 100Mhz 50Mhz are chosen. </p></div><!-- SECTION [327-2187] --><h3><a name="ltp_test_wt_wb" id="ltp_test_wt_wb">LTP test(WT,WB)</a></h3><div class="level3"><p>The Linux Test Project(LTP) is a collection of tools for testing the Linux kernel and related features with a goal to deliver test suites to the open source community that validate the reliability, robustness, and stability of Linux. It helps to improve the Linux kernel by bringing test automation to the kernel testing effort. And its test covers almost all the parts of Linux, such as system calls, file system, device driver, IPC, memory managent, and timer, etc. For detailed information on LTP project, refer to <a href="http://ltp.sourceforge.net/" class="urlextern" title="http://ltp.sourceforge.net/"  rel="nofollow">the LTP page</a>.</p><p>Since the LTP project is intented for desktop linux system, which has some difference from the uClinux system here. It is required to port this project to make it run. So far, the system call, pthread and file system test cases are adopted in this test, approximately about 600 cases. The LTP testing is carried out on the RAM system of the target board, while the testcases are stored on host machine and transferred to the target by rcp in the process of testing. In this way, we can possible to test on the target that has no big SDRAM, for the whole size of the test cases can total to about 40M. In the end, there is a summary log tells the number and the names of passed cases, failed cases, the warning, broken, crashing ones and which is not run.    You can get LTP source code from LTP website or get from our uClinux <acronym title="Concurrent Versions System">CVS</acronym>. It can be checkouted out in this way: </p><pre class="code">cvs 鈥揹 :pserver:anonymous@cvs.blackfin.uclinux.org:/cvsroot/uclinux533 checkout ltp</pre><p> Enter the folder named ltp, there is a prog directory which is ported for our blackfin testing. </p><pre class="code">cd ltp/prog/make uclinuxmake uclinux_install</pre><p>All these steps to run the cases are automated into an expect script, kernel-test.exp which can keep the ltp test cases always running. For certain cases would sometimes crash the kernel and put the target board out of order, there is a wire connection to restart from the host parallel port 2.</p><p>By default, we run LTP test cases under /home/test/test_scripts/kernel folder. You need to specify your test running directories before execution the script. Run the following script to go through all the ltp testcases: </p><pre class="code">cd /home/test/test_scripts/kernel./kernel-test.exp /dev/ttyS0 --pin 2</pre><p> The log and summary file are produced and given out at the end.</p><p>As to the uClinux kernel that ltp cases is running on, there are two policies for the board cache configuration,write through(WT) and write back(WB). With the kernel built in each case, ltp cases will all be run through to see if there is some difference and issues involved.  </p></div><!-- SECTION [2188-4854] --><h3><a name="device_driver_test" id="device_driver_test">Device driver test</a></h3><div class="level3"><ol><li class="level1"><div class="li"> <strong>Frame Capture driver test(Net camera)</strong> </div><ul><li class="level2"><div class="li"> The PPIFCD Frame Capture Driver test application aims to see if the digital image sensor can take pictures effectively which is connected through the PPI port to the target board. It records the row_time, total_frame_time, total_frame_capture_time, and the taken picture. If the printed data is as expected, the case passes, otherwise it fails.</div></li><li class="level2"><div class="li"> The kernel configuration needs to be set as follows:<pre class="code">under Customize Kernel Settings== Select Device Drivers == == Select Character devices ==    Enable  Blackfin BF533/2/1 Programmable Flags Driver                                       Enable  Blackfin BF5xx PPI Camera frame capture driver == Select I2C support ==     Enable  I2C support                                          Enable  I2C device interface    Select  I2C Hardware Bus support       Enable   Generic Blackfin and HHBF533/561 development board I2C support       Select   BFIN I2C SDA/SCL Selection           set     (2) SDA is PF[0:15]                                 set     (1) SCL is PF[0:15]under Customize Vendor/User Settings== Select Blackfin test programs ==    Enable  PPIFCD test program</pre></div></li></ul></li><li class="level1"><div class="li"> <strong>Ethernet driver test(Netperf)</strong></div><ul><li class="level2"><div class="li"> A benchmark that can be used to measure the performance of TCP/IP network.</div></li><li class="level2"><div class="li"> It is expected to test the connectivity of the Ethernet card and its rate of flow.If the throughput is more than 30 Mb/s, it is passed, otherwise it fails.</div></li><li class="level2"><div class="li"> In the kernel configuration, it needs to select:<pre class="code">under Customize Vendor/User Settings== Select Blackfin test programs ==    Enable  netperf test tool</pre><p> Build the kernel,there would be netperf in the romfs/bin folder. Extract the netperf.tgz under testscripts/ethernet.  Copy netperf_script to romfs, then reuild kernel and copy the newly-built image to /tftpboot directory. After that run the netserver_x86 in background on host and run netperf_script on target system. It will generate two log files netperf_tcp_rr and netperf_tcp_stream to tell the result.</p></div></li></ul></li><li class="level1"><div class="li"> <strong> Audio driver test over SPORT(AD1836)</strong></div><ul><li class="level2"><div class="li">A script to test if the sound device can play with different combination of 16, 8 bit rate and 44100,22000,11000,8000 record speeds. It also includes extra cases to test if recording and playing at the same time functions well. It needs listening to the earphone which is connected to the board to decide whether the case goes right. If you can hear the voice periodically, then the case passes, otherwise it fails.</div></li><li class="level2"><div class="li"> Another script to test the Multichannel Audio player to see if it support two channels to play at the same time and one channel play, the other channel play while doing records at various bit rate and record speeds.</div></li><li class="level2"><div class="li"> Build the uclinux kernel with audio driver support and audio applications.<pre class="code">under Customize Kernel Settings== Select Device Drivers == == Select Sound ==  == Select Sound card support ==    == Select Advanced Linux Sound Architecture==      Enable Sequencer support            Enable Advanced Linux Sound Architecture        Enable OSS Mixer API      Enable OSS PCM (digital audio) API      == Select ALSA blackfin devices==         Enable 1836  Audio support for BF53x                 == Select 5.1 Channels or 3 seperate Stereos ==               Enable 3 stereos under Customize Vendor/User Settings== Select Miscellaneous Applications ==       Enable vplay      Enable vrec</pre></div></li></ul></li><li class="level1"><div class="li"> <strong>Audio driver test over SPORT(AD73311)</strong></div><ul><li class="level2"><div class="li"> Build the uclinux kernel with AD73311 audio driver support.<pre class="code">under Customize Kernel Settings== Select Device Drivers == == Select Sound ==  == Select Sound card support ==    == Select Advanced Linux Sound Architecture==      Enable Sequencer support            Enable Advanced Linux Sound Architecture        Enable OSS Mixer API      Enable OSS PCM (digital audio) API      == Select ALSA blackfin devices==         Disable 1836  Audio support for BF53x          Enable AD73311L Audio support for BF53x</pre></div></li></ul></li><li class="level1"><div class="li"> <strong>Video encoder over PPI(AD7171)</strong> </div><ul><li class="level2"><div class="li"> Build the uclinux kernel like following.<pre class="code">under Customize Kernel Settings== Select Device Drivers == == Select I2C support ==  == Select I2C Hardware Bus support ==      Enable Generic Blackfin and HHBF533/561 development board I2C support (for BF533/561)      Enable Blackfin TWI I2C support(for BF537)    == Select Graphics support ==      Enable Support for frame buffer devices      Enable Blackfin ADI7171 video encoder on uClinuxunder Customize Vendor/User Settings== Select Blackfin test programs ==      Enable VIDEO test program</pre></div></li></ul></li><li class="level1"><div class="li"> <strong>TFT LCD driver</strong>   </div><ul><li class="level2"><div class="li"> Please look into the doc:<a href="http://docs.blackfin.uclinux.org/doku.php?id=tft-lcd_card" class="urlextern" title="http://docs.blackfin.uclinux.org/doku.php?id=tft-lcd_card"  rel="nofollow">tft-lcd</a>.</div></li></ul></li><li class="level1"><div class="li"> <strong>Serial driver test over UART port0(WT,WB)</strong></div><ul><li class="level2"><div class="li">To see if the serial port can receive the string and command sequencially and exactly, which will be shown on the screen through kermit. If the strings printed and commands executed are as expected, the case passes, otherwise it fails.</div></li><li class="level2"><div class="li">In order to check if different policies for the board cache configuration would effect its performance, it would run on the two uClinux kernel image built either with write through(WT) or write back(WB) policy.</div></li></ul>

⌨️ 快捷键说明

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