嵌入式Linux系统移植过程中常见问题及解决办法
2018-02-07王艳红郝胜男
王艳红+郝胜男
摘 要:时代的进步,科技的发展,给物联网行业带来了新的契机。而作为物联网物联源头的嵌入式系统,具有可靠性,可裁剪性,可嵌入性以及功耗低等特点,因此应用非常广泛;比如汽车、家电等等。
嵌入式操作系统多以理论教学为主,学生在学习过程中往往只掌握了一些简单的概念,对操作系统的原理并没有理解的很透彻,因此,需要通过实验课来加强一下学生对课程的理解。本文通过在教学过程中的经验总结了一些学生在做实验过程中较容易出现的一些问题,并针对问题提出了相应的解决办法。由于触嵌入式技术不断更新,内容有不足的地方,希望多多谅解。
关键字:嵌入式操作系统;S3C2410;系统移植
随着时代的发展,科技的不断进步,物联网逐渐进入了人类的生活当中,给人们的生活带来了很多的益处。物联网最大的优势在于提高了社会的自动化和智能化水平,实现了以前无法实现或是很难实现的一些功能。把无线智能芯片植入到非智能的“物”当中,让人类的生活可以更加的方便,感知更加的灵敏,可以使得控制更加自如。
嵌入式操作系统是物联网专业学生的专业课程,因此针对嵌入式操作系统这门课本文将在学生学习Linux系统移植过程中出现的问题进行分析并提出解决的办法。以唐山学院为例,我校开设嵌入式操作系统这门实验课目标机选用的是博创科技开发的UP-TECH S2410/P270开发平台,开设实验课选用S3C2410核心板,它有64M的同步动态随机存储器(SDRAM)和64M的NANDFLASH。LINUX系统选用的RHEL4((Linux vm-dev 2.6.9-42.ELsmp)。系统移植主要包含如下几步:引导程序(Bootloader)的编译和移植、内核(Kernel)的编译和移植以及文件系统的编译和移植。
下面就针对学生在上这门实验课的过程中出现的问题,做了一下几方面的总结,并根据问题提出相应的解决办法。
1、超级终端建立后不显示任何内容
我们在做实验的过程中宿主的内容可以通过电脑显示器来显示,那么目标机的内容怎么查看呢,可以通过超级终端建立一个连接,设置好串口的各项参数。如果一切正常的话,打开实验箱的电源,可以显示开放板的提示信息。可是学生在操作过程中,往往出现超级终端不能出现任何提示信息的现象。
解决办法一般是:
1)检查串口线连接是否正确。因为实验箱存在两个串口,COM0口和COM1口,由于学生听讲不认真,导致连接到错误的端口COM1。
2)检查串口线的两端是否连接完好,因为学生在连接串口线的时候往往不用力,导致端口连接不实。
3)检查实验箱的串口芯片是否损坏。
4)如果以上三种情况都没有问题的话,可以重新烧写一次bootloader,有可能是烧写过程中出现问题。
2、在烧结u-boot过程中出现以下提示信息:ERROR:K9S1208 is not detected. Detected ID=0xffff。DOS环境界面如图1所示,
解决办法一般是:
1)可能是JTEG线没有连接完好,重新用力插一下JTEG线的两端,保证线的接口连接完好。
2)可能是实验箱的电源没有打开。由于实验操作过程中操作步骤较多,学生又是刚刚接触,对整个实验的过程没有一个很好地理解和把握,因此会出现这种由于慌乱或者马虎而出现的不应该出现的问题。
3、u-boot烧写过程中出现如下提示信息:ERROR:cant find the file。DOS环境界面如图2所示:
解决这类问题的一般方法是:
烧写文件sjf2410-s.exe和所要烧写的引导装载程序u-boot的二进制文件u-boot.bin没有在同一个目录下。
因为选用的烧写命令是sjf2410-s.exe /f:u-boot.bin,因此要求烧写文件和被烧写文件都存放在windows系统的同一个目录下,否则,就会出现错误提示信息,提示操作者不能找到文件。
如果二进制文件和烧写文件不放在同一目录下,例如把u-boot.bin放在C盤根目录下,而烧写文件在D盘根目录下,那么正确的烧写命令就是:
Sjf2410-s.exe /f:c:\u-boot.bin
4、在烧写内核和文件系统的映像文件的时候,需要使用TFTP下载映像文件,如果正常的话应该显示“T”和若干个“#”,但是学生操作的时候会出现10个T。界面显示图如图3所示。
一般解决这种问题的方法是:
首先使用ifconfig命令查看Linux系统的IP地址,比如为192.168.1.12,然后回到超级终端设置远程TFTP服务器的IP地址:setenv serverip 192.168.1.12。
由于个别学生没有理解serverip的含义,导致IP地址设置错误,从而出现上述问题。
以上问题都是在学生做实验过程中经常出现的问题,在此做一下归纳和分析。并在以后的课程中进一步完善所存在问题的解决方法,能够进一步促进教师教学和学生学习。
参考文献
[1]http://www.50cnnet.com/show-35-83326-1.html
[2]刘云锋,黄英,何新鹏,刘奇. 基于ARM9的嵌入式Linux系统移植[J]. 工业控制计算机,2011,24(06):44-45.endprint