版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 武汉工业学院本科毕业设计论文摘要本论文主要研究嵌入式linux操作系统、无线数据收发器nrf905和s3c44b0处理器和以及在其基础之上的一种无限数据采集与传输的通用模型,并研究了该模型在数字监控系统中的应用.当前linux正在嵌入式操作系统领域稳步发展,任何对linux技术感兴趣的人都可以从因特网上下载其内核和应用程序,并开始移植或开发;由于linux可以提供免费的tcp/ip协议栈,使我们开发基于嵌入式设备的网络应用时不必花费十几万元人民币去购买相关的tcp/ip协议栈.技术),由于gprs网络支持tcp/ip协议,这使无线数据的传输变得更加轻松,而且相对价格比sms(短消息)等要便宜
2、,而且其小巧、使用方便、耗电低等特点,可广泛应用于无线抄表系统、无线遥控系统、无线数据采集系统等。因此,综合嵌入式linux技术来实现无线数据的采集与传输具有非常诱人的前景,必将受到越来越多的重视.首先,文章在介绍了嵌入式系统的一些特点及其开发模式之后,简单介绍设计所用到的两个芯片nrf905和s3c44b0。最后介绍了外接设备的驱动编程和基本数据收发的原理和流程。对于嵌入式linux的认识和无线数据收发器的驱动编程和数据收发程序编写是本文的重要内容。【文摘语种】 中文文摘 【论文页数】42abstract this paper studies embedded linux operating
3、 system, wireless data transceiver nrf905 and s3c44b0 processor and, and in its foundation of a unlimited data acquisition and transfer of generic model, and study of the model in the digital monitoring system applications. at present embedded linux operating system is steadily made field show any l
4、inux technology interested persons can be downloaded from the internet its kernel and applications, and started transplants or development; because linux can provide free tcp / ip protocol stack, enable us to develop equipment based on embedded network application do not have to spend more than 10 m
5、illion yuan to purchase the tcp / i p protocol stack. technology), as gprs network support tcp / ip protocol. this makes wireless data transmission has become more relaxed and relatively cheaper than sms (short message) to be cheaper, and its compact, easy to use, low power consumption, can be widel
6、y used in wireless meter reading system, wireless remote control system, wireless data acquisition system. therefore, for embedded linux technology to wireless data acquisition and transmission with a very attractive prospect, will be more and more attention. first, the article introduced the embedd
7、ed system and the features of the development model, simple design used on the two chips and nrf905 s3c44b0. finally, the external equipment-driven programming and data transceiver basic principles and processes. embedded linux for the understanding and wireless data transceiver driven programming a
8、nd data transceiver process of the preparation of this paper is important content.目录第一章 linux概述.1.1嵌入式linux的概念.41.2 嵌入式操作系统的软件特性.41.3 linux作为嵌入式操作系统的各种优势.51.4嵌入式系统的开发模式.6第二章 s3c44b0x概述.7第三章 无线数据收发设计的总体思想和流程.133.1 设计的总体思想.133.2设计的具体流程.13总结.42参考.42第一章1.1 什么是嵌入式linux操作系统 嵌入式linux:他是个和unix相似,以核心为基础的。完全内
9、存保护,多任务,多进程的操作系统。支持广泛的计算机硬件,包括x86,alpha,sparc,ppc,aem,nec,motorola等现在的大部分芯片。嵌入式一般指非pc系统,它包括硬件和软件两个部分。硬件包括处理器,内存及外设器件和i/o端口,图形控制器等。软件部分包括操作系统软件和应用程序编程。当然对于嵌入式系统,从不同的角度可能有多种不同的定义方法,本文将其定义为:以应用为中心,以计算机技术为基础,软硬件可裁减,适用应用系统对功能,可靠性,成本,体积,功能严格要求的专业计算机系统。 做为非pc系统,嵌入式系统仍然包括cpu,存储设备,i/o口等等。但这些都与一般的pc 硬件有很大区别。其
10、功耗,体积,成本,可靠性,速度,处理功能,电磁兼容等方面都手到应用的制约。着也是嵌入式硬件可以才减的根本。 起特点有以下四个方面:l 对实时多任务有很强的支持能力,能完成多任务并且有较段的中断响应时间,从而是其能部的代码和实时内核的执行时间减少到最低限度。l 具有功能很强的存储区保护功能。这是由于嵌入式系统的软件结构已模块话。l 可扩展的处理器结构,以能最快地展开满足应用的最高性能的嵌入式微处理器。l 嵌入式微处理器必须功耗很低。总而言之,嵌入式linux实际上就是对标准的linux系统内核做了针对性的嵌入式应用的修改,是在标准的linux基础上经过适当的简化,然后加入一些特定的功能形成一个精
11、巧的,高效的满足特定应用要求的专门操作系统。1.2嵌入式操作系统的软件特性嵌入式处理器的应用软件是实现嵌入式系统功能的关键,对嵌入式处理器系统软件和应用软件的要求也和计算机有所不同。*软件要求固态化存储。为提高执行的速度和系统的可靠性,嵌入式系统中的软件一般都固化在内存芯片中和单片机本身中,而不是存储于硬盘等载体中。*软件代码该质量,高可靠性。*嵌入式操作系统的实时性是基本要求。在多任务嵌入式系统中,对重要性各个不相同的任务进行统筹兼顾的合理调度是保证每个任务及时执行的关键,单纯通过提高处理器速度是无法完成和没有效率的,这中任务调度只能由优化编写的系统软件来完成,因此系统软件的高时实性是基本要
12、求。*多任务操作系统是知识集成的平台和走向工业标准话道路的基础。1.3linux作为嵌入式操作系统的各种优势*系统稳定,功能强大,支持多中硬件平台,应用软件的多,简单易用。linux是个和uinx相识,一核心为基础的,完全内存保护,多任务多进程的操作系统。它可以非常稳定地运行在许多中体系结构的处理器上。linxu又可一说是个很小的系统,以来启动只需要小到500k字节不到的目标代码。完全可以把linux内核和root文件系统放在一张软件上,启动一台硬件条件最小的机器。这些特性很时候作为嵌入式操作系统。linux带有unix用户熟悉的完善的开发工具,几乎所有的unix系统的应用软件都已移植带了li
13、nux上,linux还提供了强大的网络功能,有多中可选择窗口管理器,其强大的语言编译依然可以很容易得到。不但成熟完善,而且使用方便。*使用成本低几乎所有的商业用操作系统都为每个拷贝支付相当数量的费用,在其下的应用软件每一个都需要大量的支出来获得。商用操作系统下建立一个开放工具链,除了要为操作系统本身支付之外,还要为组成工具链的应用软件工具包支付大量的费用。但是linux是免费获得拷贝。*良好快速的技术支持:采用想嵌入式linux这样开放原代码的操作系统的另外一个好处就是linux 开发团体开来会比其他非开放原代码的操作系统供应商更快地支持新技术。例如,用于linux的设备启动程序要比用于商业操
14、作系统的设备驱动程序多,如网络接口卡驱动程序以及并口和串口驱动程序。还有类是usb,蓝牙等等设备可以很快的在linux操作系统中得到。*模块化设计核心linux 操作系统本身的核内结构相当简单。网络和文件系统一模块形式置于内核的上层。驱动程序和其他邮件可在运行时作为可以加载模块编译到内核。这为构造定制的可嵌入式系统提供了高度模块话的构件方法。1.4嵌入式系统的开发模式嵌入失系统最大的特点是其目的性或针对性。既没一套嵌入式系统的开发设计都有特殊的应用场合与特定功能。这也是嵌入式系统与通用计算机系统的最主要的区别。由于嵌入式系统是为特定的目的设计,而且手到空间,成本,存储,带宽等现在,因此嵌入式系
15、统的构建方法也一般的计算机软件有所不同。(由于本次设计重点是软件部分所关于硬件的处理器选取,嵌入式微处理7的选取,及存储器的选取都没做具体解释,而且本设计也有目的性的使用了 linux操作系统下的无线数据收发器nrf905datesheet和s3c44b0处理器)。 嵌入式软件开发与通用计算机有很大的不同。 不同的嵌入式操作系统,其应用程序的开发,调试环境各不相同。本设计在linux 服务器下采用交叉编译器对嵌入式的系统程序和应用程序加一编译,采用nfs 或ftp这两种开发方式进行方便的开发和调试。第二章21 s3c44b0x概述 s3c44b0x的杰出特性是它的 cpu 核,是由 arm 公
16、司设计的 16/32 位 arm7tdmirisc处理器(66mhz)。arm7tdmi 体系结构的特点是它集成了 thumb 代码压缩器,片上的 ice断点调试支持,和一个 32 位的硬件乘法器。 提供了丰富的内置部件,包括:8kbcache,内部sram,lcd控制器,带自动握手的2通道uart,4通道dma.系统管理器,代用pwm功能的5通道定制器,i/o端口,rtc,8通道10位adc,bus接口,同步sio接口和pll倍频器。 s3c44b0x 通过提供全面的、通用的片上外设,大大减少了系统电路中除处理器以外的元器件配置,从而最小化系统的成本。 2.5v arm7tdmi 内核,带有
17、8k高速缓存器(amba ii总线体系结构,主频高至66mhz); 外部存储器控制器(fp/edo/sdram控制,片选逻辑); lcd控制器(最大支持*56色stn,lcd具有专用dma); 2通道通用dma、2通道外设dma并具有外部请求引脚; 2通道uart 带有握手协议(支持irda1.0, 具有16-b*te fifo)/1通道sio; 1通道多主iic-bus控制器; 1通道iis-bus控制器; 5个pwm定时器和1通道内部定时器; 看门狗定时器; 71个通用i/o口/8通道外部中断源; 功耗控制:具有普通,慢速,空闲和停止模式; 8通道10位adc; 具有日历功能的rtc;具有
18、pll的片上时钟发生器。图2-1 s3c44b0x内部结构图 表2-1 各引脚功能om1:0i设置 s3c44b0x 测试模式和确定 ngcs0 的总线宽度,逻辑电 平在复位期间由这些管脚的上拉下拉电阻确定。 00:8-bit 01:16-bit 10:32-bit 1*:test mode addr24:00地址总线 输出相应 bank 的存储器地址data*1:0i/o数据总线,总线宽度可编程为 8/16/32 位ngcs7:0o芯片选择,当存储器地址在相应段的地址区域时被激活.存取周期 和段尺寸可编程。 nweo写允许信号,指示当前的总线周期为写周期 nwbe3:0o写字节允许信号 no
19、e o读允许信号,指示当前的总线周期为读周期 nxbreq i总线控制请求信号,允许另一个总线控制器请求控制本地总线, nxback 信号激活指示已经得到总线控制权。 nxbaik o总线应答信号。nwaitinwait请求延长当前的总线周期,只要 nwait 为低,当前的总 线周期不能完成。 endian1它确定数据类型是 l*ttle endian 还是 big endian,逻辑电平在复 位期间由该管脚的上拉下拉电阻确定. dram/sdram/ramnras1:0o行地址选通信号。ncas3:0o列地址选通信号。 nsras osdram 行地址选通信号nscasosdram 列地址选
20、通信号。nscs1:0 osdram 芯片选择信号。dqm3:0osdram 数据屏蔽信号。sclkosdram 时钟信号。scke osdram 时钟允许信号。nbe3:0o在使用 sram 情况下 1bit 位字允许信号 lcdk控制单元vd7:0olcd 数据线,在驱动 4 位双扫描的 lcd 时,vd3:0为上部显示 区数据,vd7:*为下部显示区数据。vframeolcd 场信号,指示一帧的开始,在开始的第一行有效。 vmovm 极性变换信号,变化 lcd 行场扫描电压的极性,可以每帧 或可编程多少个 vline 信号打开。 vlineolcd 行信号,在一行数据左移进 lcd 驱动
21、器后有效。vclkolcd 点时钟信号,数据在 v*lk 的上升沿发送,在下降沿被 lcd 驱动器采样。timer/pwmtout4:0o定时器输出信号。tclki外部时钟信号输入。中断控制单元eint7:0i外部中断请求信号。dmanxdreq1:0i外部 dma 请求信号。nxdack1:0o外部 dma 应答信号。uartrxd1:0iuart 接收数据输入线。txd1:0ouart 发送数据线。ncts1:0iuart 清除发送输入信号。nrts1:0ouart 请求发送输出信号iic-busiicsdai/oiic 总线数据线。iicscli/oiic总线时钟线iislrcki/oi
22、is 总线通道时钟选择信号线。iisdooiis 总线串行数据输出信号。iisdiiiis 总线串行数据输入信号。iisclki/oiis 总线串行时钟。codeclkocodec 系统时钟siosiorxdisio 接收数据输入线。 siotxdosio 发送数据线。siocki/osio 时钟信号。siordyi/o当 sio 的 dma 完成 sio 操作时的握手信号。adcain7;oaiadc 模拟信号输入areftaiadc 顶参考电压输入。arefbaiad* 底参考电压输入。avcomaiadc 公共参考电压输入。通用口线p70:0i/o通用 i/o 口(一些口只有输出模式)。
23、reset&clocknrestst复位信号,nreset 挂起程序,放 s3c44b0x 进复位状态。在 电源打开已经稳定时,nreset 必须保持低电平至少 4 个 mclk 周期。 om3:2iom3:2确定时钟模式。 0* = *rystal(xtal0,exta*0), pll on 01 = extclk, pll *n 10, 11 = *hip test modeextclki当 om3:2选择外部时钟时的外部时钟输入信号线,不用时必须 接高(*.3v)xtaloai系统时钟内部振荡线路的晶体输入脚。不用时必须接高(3.3v)extal0ao系统时钟内部振荡线路的晶体输出脚,它
24、是 xtal0 的反转输出 信号。不用时必须悬空pllcapai接系统时钟的环路滤波电容(700pf)xtaliairtc 时钟的晶体输入脚extalaortc 时钟的晶体输出脚。它是 xtal1 的反转输出信号。clkouto时钟输出信号jtag 测试逻辑ntrst输入itap 控制器复位信号,ntr*t 在 ta* 启动时复位 tap 控制器。 若使用 debugger,必须连接一个 10k 上拉电阻,否则 ntrst 必须为低电平。tms输入itap 控制器模式选择信号,控制 tap 控制器的状态次序,必须 连接一个 10k 上拉电阻tckitap 控制器时钟信号,提供 jtag 逻辑的
25、时钟信号源,必须连 接一个 1*k 上拉电阻。tdiitap 控制器数据输入信号,是测试指令和数据的串行输入脚,必 须连接一个 10k 上拉电阻。tdootap控制器数据输出信号,是测试指令和数据的串行输出脚。电源vddps3c44b0x 内核逻辑电压(2.5v)vssps3c44b0x 内核逻辑地vddiops3c44b0x i/o 口电源(3.3v)vssiops3c44box i/o 地rtcvddprtc 电压(2.5v 或 3v不支持 3.3v)vddadcpadc 电压(2.5v) vsssadcpadc 地 第三章3.1 设计的总体思想 本来设计之前应该对nrf905做简单的工能
26、的介绍,但本次设计的重点是软件部分,所以在接下的设计流程中边应用边介绍。 论文的标题是基于linux系统下的无限数据采集,其原理图如下:上图中首先要通过上位机服务器将嵌入式linux系统移植到s3c44bo中,然后编写程序将nrf905该设备的驱动加载到嵌入式linux系统。接着定义nrf905数据结构和默认配置,最后是在嵌入式linux中编写nrf905的收发数据的应用程序。这就是设计的大体思想。3.2 设计的具体流程 装有linux系统的主机(具备c编译环境),立宇泰公司的armsys44b0开发版(集成samsung的s3c44b0x芯片)及各种连线,uclinux源代码,交叉编译工具a
27、rm-elf-tools1.uclinux简介,基本结构,内核结构(略)2.如果有产品的附带光盘,那路径/arm7/uclinux/uclinux下就包括了uclinux源代码,uclinux-armsys-050101.tar.gz,另外在这个目录下还提供了交叉编译工具arm-elf-tools-20030314.sh如果手头没有这张光盘,也可以去立宇泰公司的网站(/download/default.asp)查找下载所需资料,但其中的uclinux源代码包是uclinux-dist-20040408.tar.gz3.1.1 对于uclinux-
28、armsys050101.tar.gz这个包,我们首先将它转移到/home目录下(当然在其他目录可以同样进行操作)如果对linux不太熟悉并希望能像在windows下那样进行图形化的文件操作,最好以超级用户(root)登录,这是为了避免接下来的操作中出现权限限制.如果是命令行操作,方法如下:普通用户更换到超级用户,在提示下输入root密码(为了防止被扫描,密码输入时屏幕没有相应显示)jianglocalhost $ su -password:用cp(拷贝命令),其中yourdir更改成你系统中arm7的目录rootlocalhost # cp /yourdir/arm7/uclinux/ucl
29、inux/uclinux-armsys-050101.tar.gz /home然后跳转到/homerootlocalhost # cd /home3.1.2 对uclinux-armsys-050101.tar.gz进行解压缩rootlocalhost # tar xzvf uclinux-armsys-050101.tar.gz参数说明: x 从档案文件中释放文件 z 用gzip来压缩/解压缩文件,加上该选项后可以将档案文件进行压缩,但还原时也一定要使用该选项进行解压缩 v 详细显示tar处理的文件信息 f 使用档案文件或设备,这个选项通常是必选的这个过程大约需要几分钟,完成后在当前目录(/
30、home)下多了一个文件夹uclinux-dist,进入,我们可以看到里面的文件或文件夹rootlocalhost home# cd uclinux-dist/rootlocalhost uclinux-dist# lsautoconf.h kernel_44b0.cfg romfsbin kernel_44b0.cfg.old sourceconfig kernel_4510.cfg toolsconfig.arch kernel_4510.cfg.old uclibcconfig.in lib uclinux-20040408-armsys.patchcopying linux-2.4.x
31、 userdocumentation makefile vendorsfreeswan makefile.origimages readme其 中images文件夹下有3个文件,这是我们最终所需要的,估计这个文件夹是lyt公司打包时自己加上去的,在一般源代码中这个文件夹是没有的,到编译成 功后会自动生成,所以我把这个文件夹剪切到了其他地方.另外这里还有一个文件uclinux-20040408-armsys.patch,这是 uclinux-dist-20040408.tar.gz针对s3c44b0x结构的补丁,因为uclinux-armsys- 050101.tar.gz已经针对s3c44b0
32、x硬件结构做了参数的修改,用不着这个补丁.这里,我们可以用rm -fr直接把这两个文件删掉.如果在windows环境下进行解压缩可能会产生一些错误,所以推荐在linux中解压.3.1.3 安装交叉编译环境首先进入到arm-elf-tools-20030314.sh所在的目录,然后rootlocalhost home#sh arm-elf-tools-20030314.sh执行后在/usr/local/bin路径下可以看到各种实用工具rootlocalhost uclinux-dist# ls /usr/local/binarm-elf-addr2line arm-elf-g+ arm-elf-
33、objcopy arm-elf-stringsarm-elf-ar arm-elf-gasp arm-elf-objdump arm-elf-striparm-elf-as arm-elf-gcc arm-elf-protoize arm-elf-unprotoizearm-elf-c+ arm-elf-gdb arm-elf-ranlib elf2fltarm-elf-c+filt arm-elf-ld arm-elf-readelf flthdrarm-elf-elf2flt arm-elf-ld.real arm-elf-run genromfsarm-elf-flthdr arm-el
34、f-nm arm-elf-size3.1.4内核的编译其实这一步也很容易,有人形容是易如反掌,但有一些细节处理不好的话也很容易出错首 先根据需要配置内核.内核提供了各种功能,支持很多的硬件,因而有许多东西需要配置.可以配置的各种选项通过带有config前缀的表示符来表示.这些配 置项要么可以二选一,要么可以三选一.二选一就是yes or no.三选一可以有yes,no和module.module意味着该配置被选定了,但编译的时候这部分功能的实现代码是以模块的形式生成.驱动程序一般 是三选一的.内核提供了各种不同的工具来简化内核配置.make config是一个字符界面下的命令行工具,该工具会挨
35、个遍历所有配置,要求用户进行选择,耗时巨大.make menuconfig和make xconfig都是图形界面工具,都对配置项进行了分类存放,其中后者基于x11,支持鼠标.这里我们采用第二种工具make menuconfigrootlocalhost uclinux-dist# make menuconfig注意:1.是在uclinux-dist目录下;否则报报错:make: * 没有规则可以创建目标“menuconfig”。 停止。2.如果是在终端窗口执行的话,要保证窗口的大小,如果窗口过小,则会显示出错信息:your display is too small to run menucon
36、fig!it must be at least 19 lines by 80 columns.you have not saved your config, please re-run make configmake: * menuconfig 错误 1执行后在终端显示uclinux v3.1.0 configuration窗口,主要使用y,n,m,enter,和方向键.4个主菜单项 vendor/product selection - kernel/library/defaults selection - - load an alternate configuration file save
37、 configuration to an alternate file 首先使用方向键选择 制造商/产品 选择选项,回车进入下级菜单,uclinux-armsys-050101.tar.gz已经默认了samsung和44b0x,所以我们可以直接退回到上级目录.选中内核/库/默认 选择,回车进入这个菜单,看到 - kernel is linux-2.4.x (uclibc) libc version default all settings (lose changes) customize kernel settings (new) customize vendor/user settings
38、update default vendor settings 第一行内核选择了linux2.4系列,uclinux-armsys-050101.tar.gz只提供了这一唯一选项.第二行是c库的选择 ( ) uc-libc (x) uclibc 默认是uclibc,它是uc-libc的派生物,能更好的支持标准c.如果要将c库更改为uc-libc,方向键+回车就可以了,自动退回到上级菜单.第三行不作改变,所有配置项都取默认值.第四行定制内核设置,如果需要可以用方向键移动到此菜单项按y,在 中显示*.第五行是定制制造商/用户选项设置,选择方法与定制内核完全一致第六行更新默认的制造商设置make me
39、nuconfig执行结束后,自动将配置结果保存为.config文件,并没有将前一次配置结果丢弃,备份为.config.old文件(.文件是linux的隐藏文件,可以用ls -a查看 ).下面开始对uclinux源代码包进行编译,步骤如下:1.rootlocalhost uclinux-dist#make dep 寻找代码之间的倚赖关系(在内核2.6系列以后自动维护代码间倚赖关系,以前的这一步必需)2.rootlocalhost uclinux-dist#make clean(可选步骤)清除构造内核时生成的所有目标文件,模块文件和一些临时文件 3.rootlocalhost uclinux-di
40、st#make lib_only编译库文件4.rootlocalhost uclinux-dist#make user_only编译用户应用程序文件5.rootlocalhost uclinux-dist#make romfs生成romfs文件系统6.rootlocalhost uclinux-dist#make image生成内核映象文件7.rootlocalhost uclinux-dist#make通过各个文件夹中的makefile文件进行编译其中除了make romfs和make image两步较快外,其他各步都需要一段时间的执行.编译成功后会在当前目录(/uclinux-dist)看
41、到images文件夹,里面有两个内核文件image.rom和image.ram,另外还有一个img文件romfs.img.3.1.5 当然这是极顺利的内核编译,在编译uclinux难免有错误出现,现总结如下:1.如果在内核定制的时候选的c库是uc-libc则一路编译下来几乎没有问题,当执行到make image这一步时会出现两个错误:arm-elf-objcopy: /home/uclinux-dist/linux-2.4.x/linux: ?make1: * image 错误 1make1: leaving directory /home/uclinux-dist/vendors/samsu
42、ng/44b0make: * image 错误 2这是因为第一次编译时还没有romfs.o,所以出错;等romfs.o编译好以后,如果再进行内核编译,就不会出现这个错误了.它完全不影响内核的编译,可以不必理会这个错误,继续下一步.2.如果在内核定制时选的c库是uclibc,那么当编译进行到make user_only时会出现以下错误:login.elf2flt: in function main:/home/uclinux-dist/user/login/login.c:168: undefined reference to crypt_oldcollect2: ld returned 1 e
43、xit statusmake2: * login 错误 1make2: leaving directory /home/uclinux-dist/user/loginmake1: * all 错误 2make1: leaving directory /home/uclinux-dist/usermake: * user_only 错误 2这是由于对crypt_old的未定义引用而引起报错,打开/home/uclinux-dist/user/login路径下的login.c文件会看到这么一段条件编译:#ifdef old_config_passwords#include #endifcrypt_
44、old ()正是定义在crypt_old.h文件中,所以我认为这是没有设置old_config_passwords的缘故.尝试着注释掉这个条件编译,直接 将头文件crypt_old.h包含进来,包括同一目录下的passwd.c,再进行用户应用程序文件的编译,本以为这样可以解决问题的,但编译结果还是 报错.(疑问:old_config_passwords定义在哪个文件中?把它设成yes能否解决问题?)解决方法一.编译之前,进入/uclinux-dist/user,更改其中的makefile文件,加上一句libcrypt +=-lcrypt_oldz再编译,正确结束.解决方法二.在内核配置时选择*
45、 customize vendor/user settings定制用户选项设置,在其主菜单里进入core applications一项,去掉对login和old password的选择,然后编译通过.如果修改过用户配置,去/download/linux/config_user下载配置文件config_user,放到/uclinux-dist/config目录下覆盖原来的文件就还原到原来的设置.3.2.1 如果手头uclinux的源代码是uclinux-dist-20040408.tar.gz版本,则还需要下载补丁uclinux-20040801-
46、 armsys.patch(/download/default.asp)首先解压源代码到/home,将补丁uclinux-20040801-armsys.patch拷贝到/home/uclinux-dist.运行补丁程序rootlocalhost uclinux-dist# patch -p1uclinux-20040408-armsys.patch一系列文本行飞速闪过,最后停留在提示.hunk #1 failed at 5.hunk #2 failed at 40.hunk #3 failed at 187.3 out of 3 hunks f
47、ailed - saving rejects to file makefile.rejpatching file linux-2.4.x/arch/armnommu/vmlinux-armv.lds.inhunk #1 succeeded at 63 (offset 4 lines).cant find file to patch at input line 16504perhaps you used the wrong -p or -strip option?the text leading up to this was:-|diff -naur uclinux-dist/vendors/s
48、amsung/44b0/makefile vendors/samsung/44b0/makefile|- uclinux-dist/vendors/samsung/44b0/makefile 2004-04-08 08:27:25.000000000 +0800|+ uclinux-dist/vendors/samsung/44b0/makefile 2004-08-01 02:43:50.000000000 +0800-file to patch:这是由于源代码uclinux-dist/vendors/samsung/路径下的文件夹名是4510b,而不存在44b0这个文件夹,所以报错.解决办
49、法很简单,直接将4510b改名成44b0就ok了.rootlocalhost uclinux-dist# mv vendors/samsung/4510b vendors/samsung/44b0也可以根据补丁文件的描述自己手动地改写源代码,这样就不需要再打补丁了.接下来就是代码的编译了.4.内核的下载,烧录在下载内核之前确保板子上已经烧录了引导装载程序bootloader,可以根据超级终端的显示来判断,如果出现了.1.download code to sdram.2.download code to sdram & nandflash.3.burn flashrom.4.copy code
50、from flashrom to sdram.5.run at specify address.6.run code in nandflash.7.start uclinux.8.format nandflash.9.test hardware这9个选项,说明已经有bootloader烧录到板子了,否则还要进行bootloader的烧录.4.1bootloader.bin的烧录烧录方法一:使用fluted烧录工具烧录步骤s1.连线.使用并口线和20针排线,通过jtag模块,连接主板(开发板)和宿主机主板并口s2.打开主板电源,运行jtag.exes3.将bootloader.bin拷贝到programmer目录下,运行f.bat(win2000 or xp运行f_2000xp.bat),开始烧录.fluted烧录分三个过程:擦除,写入,校验.如果没有报错,则烧录成功.可以按复位键,观察超级终端显示.烧录方法二:使用flashprgm工具它是一个工
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 物流与供应链物流企业供应链管理实习报告
- 财务分析员财务分析公司实习生实习报告
- 人力资源XX人力资源公司招聘实习生报告
- 飞腾物流运输行业分析报告
- 传媒行业就业分析模板报告
- 香椿行业分析报告
- 砖机托板行业分析报告
- 音乐行业前景分析报告
- 行业违规成本分析报告
- 立案谈话制度
- 2026贵州贵阳市安航机械制造有限公司招聘8人考试重点试题及答案解析
- 2026年空天科技卫星互联网应用报告及未来五至十年全球通信创新报告
- (正式版)DB51∕T 3342-2025 《炉灶用合成液体燃料经营管理规范》
- 2025年上海市普通高中学业水平等级性考试地理试卷(含答案)
- 腔镜器械的清洗与管理
- 江南大学《食品科学与工程》考研真题及答案解析
- 眼科:青光眼患者药物治疗指南
- 2025年计算机等级考试(NCRE)一级人工智能与大模型基础样题及参考答案
- 医护服务意识培训
- 芬兰烟熏桑拿体验创新创业项目商业计划书
- 航空航天标准(首件检验)AS9102
评论
0/150
提交评论