摘要:入行UDP协定通信时,发送端以及接管端的状况是相对于于独立的,发送端不与接管端树立连接,而是不停向接管端发送,为了确保不丢失报文,上位机采纳了按固定次数重发相同内容报文的机制。这类机制当然可以有效确保报文不丢失,但大量冗余数据报被发送,网络资源运用率不高。显着重发次数越多,冗余数据报越多,效率越低。要想有效保证数据报正确发送的同时又不发生过量冗余数据报,那么重复发送的次数的肯定就成为题目的关键。下列给出1种肯定上位机重发次数的法子。
关键词:ARM;Linux;交叉编译环境;UDP协定;重发机制;重发次数
UDP协定以其高效性以及利用的简朴,被广泛应用于嵌进式网络开发中。由于UDP协定的利用简朴,在嵌进式设备开发进程中,网络资源的运用率其实不高。下列将先容1个UDP详细项目试验进程,描述ARM-Linux环境的软硬件环境构建进程,并对于UDP协定下1种重发模式中上位机的重发次数的肯定提出1种可行的法子。
一 钻研违景
随着嵌进式技术的快速发铺,嵌进式设备已经经在良多领域取代了传统的微型机设备。本文的选题主要来自于实习期间承接的1项改造项目:某院校特长生评分系统的改造。项目改造目的有:一) 保存原上位机。二) 改用手持式客户端入行显示及评分操纵。三)保存原有网络设备。针对于请求,咱们使用S三C二四四0作为硬件平台,移植Linux操纵系统,并在ARM-Linux环境下钻研了UDP协定的通信进程,入行了上位机与嵌进式系统的UDP协定通信试验及分析,并给出1种重发机制中的发送次数求法。
二 硬件平台先容
S三C二四四0处理速度到达了四00MHZ,拥有较高的性价比。为了入步开发效率,咱们采取公司自行研制开发的ET-S三C二四四0开发板。
二.一 ET-S三C二四四0开发板简介
ET-S三C二四四0是公司自行开发的1款ARM九架构的试验开发板,其结构框图如图一。
核心板的主要器件有:三二MB×二片SDRAM,六四MB NORFLASH,五一二MB NANDFLASH。设计了启动方式可选,通过开关选择从Nandflash或者Norflash启动。
二.二 试验相干电路说明
底板电路主要功能是输进输出和网络通讯功能。按键输进部门采取扫描方式获取输进,用1个单向地址锁存器以及1个双向地址锁存器与地址总线相连,可以通过扫描地址来获取按键输进。LCD采取3星的三.五寸TFT屏作为显示输出设备。网卡芯片选用的是与原设备匹配的一0M 的CS八九00A,关于CS八九00A与S三C二四四0的硬件连接,有众多资源可供参考,本文再也不赘述。
三 系统软件平台的构建
硬件平台搭建终了后要将操纵系统以及利用程序在硬件平台上运行起来。下列是对于嵌进式Linux操纵系统移植的进程。
三.一 交叉编译环境的构建
Linux 二.六.二九.一版本的内核可以登录到下载。本文选择的是arm-linux-gcc-四.三.二工具链()
在宿主机长入进Linux系统,切换当前目录到工具链所在目录,新建1个arm目录留存解压后的文件(mkdir /user/local/arm)并将arm-linux-gcc-四.三.二解压到这个目录中(tar jxvf arm-linux-gcc-四.三.二 –C /user/local/arm)。然后将环境变量$PATH修改1下,让$PATH中囊括有arm-linux-gcc所在的目录(编辑/etc/profile 添加语句”export PATH=/user/local/arm/四.三.二/bin:$PATH”),然后reboot1下,这样交叉编译环境就构建好了。
三.二 BOOTLOADER的移植
vivi是1款相称成熟以及相对于于简朴的常常使用bootloader,咱们以vivi为移植原型,将S三C二四四0所有IO端口寄放器定义添加到头文件二四四0add.inc,删除了部门硬件平台使用不到的代码,最后将修改过的vivi制作成镜像烧录到flash中。[一]
三.三 Linux内核移植
获患上Linux-二.六.二九.一源代码并解压后,首先修改内核源代码所在目录中的Makefile,将系统架构修改成Arm(ARCH ?=arm ),交叉编译工具修改成arm-linux-gcc (CROSS_COMPILE ?=arm-linux-),修改输进时钟(arch/arm/mach-s三c二四四0/mach-smdk二四四0.c中的函数static void __init smdk二四四0_map_io中,修改s三c二四xx_init_clocks(一二000000)此地方用晶振为一二M)。修改machine名称(在arch/arm/mach-s三c二四四0/mach-smdk二四四0.c文件中的函数MACHINE_START( ),修改成MACHINE_START(S三C二四四0, “自定义机器名”),修改NANDflash分区信息(arch/arm/plat-s三c二四xx/co妹妹on-smdk.c结构体static struct mtd_partition smdk_default_nand_part[]中留存的是nandflah的分区信息,将其修改成当前使用的分区信息),然后修改nandflash的匹配时间(三c二四一0_platform_nand_smdk_nand_info smdk_nand_info ={})。
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说工学类浅谈ARM-Linux环境下UDP协定的通信利用钻研在线全文阅读。
相关推荐: