arm-linux下usb转串口移植手册
ARM开发板嵌入式linux系统与主机PC通过串口传输文件

嵌入式linux系统与主机通过串口传输文件
我想如果要从PC机下载东西到开发板的嵌入式linux系统里面,很多人首先会想到用tftpsftp等网络工具从网口下载。
但如果网络用不了,只能通过串口下载怎么办呢?这个时候有两个工具能帮到你:一个是zmrx、zmtx,另外一个是lsz、lrz。
个人觉得zmrx/zmtx没有lsz/lrz 稳定,建议还是用后者。
下面介绍一下lsz/lrz的使用方法。
一、编译lrzsz并下载到开发板上
从
/download/0007000/6293.sht ml下一个lrzsz的tar包,解压缩后输入./configure,然后进入了src 文件夹中,修改了src文件夹中的Makefile文件,配置为与手机对应的交叉编译器,运行make,ok!得到两个可执行文件sz,rz(或者lsz,lrz),把它们下载到开发板linux系统的/bin目录下。
二、情况1: PC机用windows操作系统
如果PC机用的是windows操作系统,串口通信工具可以用系统自带的超级终端。
下面介绍一下传输文件的方法。
1、开发板-->PC机
在开发板上输入sz filename。
在PC机上点击超级终端的菜单“传送”-> “接收文件”,选择下载的位置和Zmodem与崩溃恢复协议,点击接收即可。
2、PC机-->开发板
在开发板上先进入/tmp目录,然后输入rz。
在PC机上点击超级终端的菜单“传送”-> “发送文件”,选择目标文件和Zmodem与崩溃恢复协议,点击发送即可。
linux-2.6.22下USB驱动移植

linux-2.6.22下USB驱动移植一、代码修改修改在arch/arm/mach-s3c2410目录下的mach-smdk2410.c,添加如下内容/**********************add by nick*************************************/static struct s3c2410_hcd_info usb_ljd2410_info = {.port[0] = {.flags = S3C_HCDFLG_USED}};int usb_ljd2410_init(void){unsigned long upllvalue = (0x7812)|(0x024)|(0x03);printk(“USB Control, (c) 2006 sbc2410\n”);s3c_device_usb.dev.platform_data = &usb_ljd2410_info;while(upllvalue!=__raw_readl(S3C2410_UPLLCON)){__raw_writel(upllvalue,S3C2410_UPLLCON);mdelay(1);}return 0;}/***************************end add**********************/同时将usb_ljd2410_init()函数添加到smdk2410_map_io函数里面进行初始化,如下所示:static void __init smdk2410_map_io(void){s3c24xx_init_io(smdk2410_iodesc, ARRAY_SIZE(smdk2410_iodesc));# Linux100中文网/s3c24xx_init_clocks(0);s3c24xx_init_uarts(smdk2410_uartcfgs, ARRAY_SIZE(smdk2410_uartcfgs));usb_ljd2410_init();}//注意,不能忘了添加头文件#include asm/arch/regs-clock.h>#include asm/arch/usb-control.h>#include linux/device.h>#include linux/delay.h>修改后的整个文件如下:#include linux/kernel.h>#include linux/types.h>#include linux/interrupt.h>#include linux/list.h>#include linux/timer.h>#include linux/init.h>#include linux/serial_core.h>#include linux/platform_device.h>#include “asm-arm/arch-s3c2410/regs-cs8900.h”#include asm/mach/arch.h>#include asm/mach/map.h>#include asm/mach/irq.h>#include asm/hardware.h>#include asm/io.h>#include asm/irq.h>#include asm/mach-types.h>#include asm/arch/regs-serial.h>#include asm/arch/fb.h>#include asm/plat-s3c24xx/devs.h>#include asm/plat-s3c24xx/cpu.h>#include asm/plat-s3c24xx/common-smdk.h>#include asm/arch/regs-clock.h>#include asm/arch/usb-control.h>#include linux/device.h>#include linux/delay.h>static struct map_desc smdk2410_iodesc[] __initdata = {/* nothing here yet */{vSMDK2410_ETH_IO,pSMDK2410_ETH_IO,SZ_1M,MT_DEVICE}};#define UCON S3C2410_UCON_DEFAULT#define ULCON S3C2410_LCON_CS8 | S3C2410_LCON_PNONE | S3C2410_LCON_STOPB#define UFCON S3C2410_UFCON_RXTRIG8 | S3C2410_UFCON_FIFOMODEstatic struct s3c2410_uartcfg smdk2410_uartcfgs[] __initdata = {[0] = {.hwport = 0,.flags = 0,.ucon = UCON,.ulcon = ULCON,.ufcon = UFCON,},[1] = {.hwport = 1,.flags = 0,.ucon = UCON,.ulcon = ULCON,.ufcon = UFCON,},[2] = {.hwport = 2,.flags = 0,.ucon = UCON,.ulcon = ULCON,.ufcon = UFCON,}};//nick LCD Driver 2009.3.22/* LCD driver info *//* Configuration for 800*480 */static struct s3c2410fb_mach_info ljd2410_tft_cfg __initdata = {.type = S3C2410_LCDCON1_TFT,.regs = {.lcdcon1 = S3C2410_LCDCON1_TFT16BPP |S3C2410_LCDCON1_TFT |S3C2410_LCDCON1_CLKV AL(0x01),.lcdcon2 = S3C2410_LCDCON2_VBPD(39) |S3C2410_LCDCON2_LINEV AL(479) | /*480*/S3C2410_LCDCON2_VFPD(19) |S3C2410_LCDCON2_VSPW(3),.lcdcon3 = S3C2410_LCDCON3_HBPD(49) |S3C2410_LCDCON3_HOZV AL(799) | /* 800 */S3C2410_LCDCON3_HFPD(19),.lcdcon4 = S3C2410_LCDCON4_MV AL(13) |S3C2410_LCDCON4_HSPW(99),.lcdcon5 = S3C2410_LCDCON5_FRM565 |S3C2410_LCDCON5_INVVLINE |S3C2410_LCDCON5_INVVFRAME |S3C2410_LCDCON5_PWREN |S3C2410_LCDCON5_HWSWP,},.lpcsel = 0x00,.gpccon= 0xaaaaaaaa,.gpccon_mask= 0xffffffff,.gpcup= 0xffffffff,.gpcup_mask= 0xffffffff,.gpdcon= 0xaaaaaaaa,.gpdcon_mask= 0xffffffff,.gpdup= 0xffffffff,.gpdup_mask= 0xffffffff,.width =800,.height = 480,.xres = {.min = 800,.max = 800,.defval = 800,},.yres = {.min = 480,.max = 480,.defval = 480,},.bpp = {.min = 16,.max = 16,.defval = 16,},};//nick LCD/**********************add by nick*************************************/static struct s3c2410_hcd_info usb_ljd2410_info = {.port[0] = {.flags = S3C_HCDFLG_USED}};int usb_ljd2410_init(void){unsigned long upllvalue = (0x7812)|(0x024)|(0x03);printk(“USB Control, (c) 2006 sbc2410\n”);s3c_device_usb.dev.platform_data = &usb_ljd2410_info;while(upllvalue!=__raw_readl(S3C2410_UPLLCON)){__raw_writel(upllvalue,S3C2410_UPLLCON);mdelay(1);}return 0;}/***************************end add**********************/static struct platform_device *smdk2410_devices[] __initdata = {&s3c_device_usb,&s3c_device_lcd,&s3c_device_wdt,&s3c_device_i2c,&s3c_device_iis,};static void __init smdk2410_map_io(void){s3c24xx_init_io(smdk2410_iodesc, ARRAY_SIZE(smdk2410_iodesc));s3c24xx_init_clocks(0);s3c24xx_init_uarts(smdk2410_uartcfgs, ARRAY_SIZE(smdk2410_uartcfgs));usb_ljd2410_init();}static void __init smdk2410_init(void){s3c24xx_fb_set_platdata(&ljd2410_tft_cfg);platform_add_devices(smdk2410_devices, ARRAY_SIZE(smdk2410_devices));smdk_machine_init();}MACHINE_START(SMDK2410, “SMDK2410”) /* @TODO: request a new identifier and switch* to SMDK2410 *//* Maintainer: Jonas Dietsche */.phys_io = S3C2410_PA_UART,.io_pg_offst = (((u32)S3C24XX_V A_UART) >> 18) & 0xfffc,.boot_params = S3C2410_SDRAM_PA + 0x100,.map_io = smdk2410_map_io,.init_irq = s3c24xx_init_irq,.init_machine = smdk2410_init,.timer = &s3c24xx_timer,MACHINE_END下面这个连接有大虾们对USB驱动移植的讨论Device Drivers --->Generic Driver Options --->Hotplug firmware loading supportBlock devices --->Low Performance USB Block driverSCSI device support --->SCSI generic supportProbe all LUNs on each SCSI deviceUSB support --->Support for Host-side USBUSB device filesystemOHCI HCD supportUSB Mass Storage supportUSB Monitor3、加入了MSDOS fs和VFAT fs的支持。
ARM开发教程之ARM Linux系统移植步骤

ARM开发教程之ARM LINUX系统移植步骤 ARM开发教程之ARM LINUX系统移植步骤 开发教程之
ARM简介 Linux简介 系统的制作移植建立交叉编译环境 引导程序 内核 修改内核 内核的配置编译 根文件系统 结束语
千锋3G嵌入式移动互联网技术研发中心 千锋3G嵌入式移动互联网技术研发中心 3G
ARM开发教程之引导程序 引导程序
对于计算机系统来说,从开机上电到操作系统启动需要一个引导程 序。嵌入式linux系统同样离不开引导程序,这个引导程序叫做 Bootloader[1]。通过这段小程序,可以初始化硬件设备、建立内存 空间的映射表,从而建立适当的系统硬件环境,为最终调用操作系 统内核做好准 备。 vivi[4]是韩国MIZI公司为其arm9系列产品而研发的Bootloader, 小而灵巧,这里选用它作为小型Linux系统的Bootloader。 首先要修改vivi源代码中的Flash分区信息,新的分区信息如表1 所示。 根据表1,在vivi源码arch/s3c2410/smdk.c文件中作出相应的 修改。 然后在配置菜单中导入smdk2410的默认配置,编译成功将在 vivi源代码目录下生成所需的Bootloader文件,文件名为vivi。 接着,便可把vivi下载到目标板Flash的相应位置。
千锋3G嵌入式移动互联网技术研发中心 千锋3G嵌入式移动互联网技术研发中心 3G
ARM开发教程之ARM简介
Arm9S3C2410微处理器与Linux的结合越来越紧密,逐 渐在嵌入式领域得到广范的应用。目前,在便携式消 费类电子产品、无线设备、汽车、网络、存储产品等 都可以看到S3C2410与Linux相结合的身影。 S3C2410微处理器是一款由Samsung公司为手持 终端设计的低价格、低功耗、高性能,基于arm920T 核的微处理器。它带有内存管理单元 (MMU),采用 0.18mm工艺和AMBA新型总线结构,主频可达203MHz。 同时,它支持Thumb 16位压缩指令集,从而能以较小 的存储空间获得32位的系统性能。
USB转串口使用手册

USB转串口单片机通信模块
CP2102是USB到UART的桥接电路,完成USB数据和UART数据的转换,电路连接简单,数据传输可靠,把下位机串行数据转换成USB数据格式,方便实现数据通信,在上位机上通过运行该芯片的驱动程序把USB数据可以按照简单的串口进行读写操作编程简单,操作灵活。
【实物图片】
简要说明:
一、尺寸:全长mm42宽20mm高10mm
二、主芯片:CP2102
三、工作电压:USB供电
四、特点:
1、具有电源指示.
2、输入口直接接电脑USB口。
3、采用波特率范围广。
4、数据传输可靠。
5、操作灵活。
6、需要安装驱动
7、只需三根线直接连接单片机:RXD、TXD、GND即可。
驱动安装:
1、将串口模块与计算机电脑连接,电脑提示;
2、电脑设备管理器出现下图(感叹号);
3、电脑自动弹出硬件安装向导;
4、如上图选择,然后,点击:“下一步”,提示下图,选择安装路
径;
5、点击“下一步,开始安装驱动程序;
6、提示安装完成,点击安装完成USB驱动。
7、系统再次提示安装硬件对话框,如下图操作;
8、如下图操作;
9、系统安装串行通信驱动;
10、完成安装!
串口通信测试
1、查看串口号;
2、打开串口调试工具;
3、选择与设备管理器对应的串口号;
4、将串口模块的输出端TXD、RXD端接,如下图;
5、点击串口工具“手动发送”按钮;
6、如果接收区,显示内容与发送去内容相同,证明串口模块可以
正常使用!。
USB转串口转换器用户手册说明书

ISOLATED CONVERTER MS USB-TTL SerialUSER MANUALPLOVDIV 2013Document revision 2013-11-05I.ORDER CODEII.SPECIFICSThe converters require drivers to be installed for the corresponding version ofWINDOWSIn cases where the TTL Serial Interface Connector is a USB mini type, theconverter should only be used with devices that use TTL SerialCommunication.In this case, the converter should not be used on standard USB devices onthe USB mini connector side.On the PC side, a standard USB port with USB 2.0 communication is used.Ports USB2.0 and TTL Serial are isolated galvanically.The converter doesn’t require external supply for the TTL Serial interface.III. DESIGNATION AND OPERATION The MS USB-Serial UART converter is designed to convert signals betweenthe USB 2.0 interface into a serial interface with TTL signal levels Rx and Tx. The main application of the LNB is to connect various TTL Serial Interface devices to a computer for programming. An example of such devices are various transmitters and controllers that are tuned or programmed with a computer.Document revision 2013-11-052MS USB-TTL Serial - xVersion1 - connector to the TTL Serial interface is USB mini2 - no connector to the TTL Serial interface3 - connector by requestNameIV. TECHNICAL DATADocument revision 2013-11-053WARRANTY CARDWarranty Card № : .................................................Warranty term: ................................................. monthsFactory number : .................................................The article is bought by : ..................................................................With Invoice № : ............................../...... ....... 20........ y.WARRANTY CONDITIONSThe guarantee consists of free repair of any manufacturing defects that may occur during the warranty period. The repair can be done when this warranty card and the invoice, with which the device is bought, are presented in the repair base. The warranty does not cover failure, caused by bad transport, bad storage, incorrect usage, nature elements, nonobservance of the instruction for operation, and the cases, in which there is an attempt forrepairing by another people. In these cases the defect can be repaired only for payment. The service during the warranty term and settling of the reclamations will be done in accordance with the relevant Union and national legislation in force.REPAIRS MADE IN THE SERVICE BASESeller:................... Customer:.................Bulgaria, 4000 - Plovdiv, 4 “Murgash” Str.Tel. (+359 32) 642 519, 640 446 Fax: (+359 32) 640 446E-mail:******************Document revision 2013-11-054。
arm-linux usb wifi移植

arm-linuxusbwifi模块的添加与AP的建立一、内核的配置在内核源码的根目录下执行以下命令打开内核配置菜单:$ make ARCH=arm menuconfig根据下面的菜单进行配置:内核配置完成后,重新编译内核,并将编译出来的内核镜像下载到开发板。
如果仅仅是编译驱动,可以不用将系统烧进板子。
二、驱动源码的编译(1)驱动内容的更改:如果不更改驱动代码,在编译时会遇见缺少create_proc_entry,和create_proc_read_entry 这两个函数的问题(原因在于官方的源码适用于内核小于3.9的linux系统,而本系统上使用的系统内核为3.12.10)。
下载文https:///raspberrypi/linux/rpi-.10.y/drivers/net/wireless/rtl8192cu/os_dep/linux/os_intfs.c并替换原文件中的os_intfs.c文件。
参考:/group/topic/347735/和/entry/125504在驱动源文件下的Makefile中添加一行:CONFIG_PLATFORM_ARM_AM437X = y并设置:CONFIG_PLATFORM_I386_PC =n同时添加:ifeq ($(CONFIG_PLATFORM_ARM_AM437X), y)EXTRA_CFLAGS += -DCONFIG_LITTLE_ENDIANARCH := armCROSS_COMPILE := arm-linux-gnueabihf- #这是你的交叉编译器KVER := 3.12.10 #系统的版本KSRC := /home/hjiahu/Desktop/CrossFiles/linux-3.12.10 #这是第一步编译后的源码文件夹endif(2)为了使用硬件同时支持AP与STA模式,在源码中的include/autoconf.h中将CONFIG_CONCURRENT_MODE的注释去掉(其他方法可以参考源码中的文档)。
嵌入式LINUX+ARM学习——WIN7超极终端与串口设置
花了大半天时间终于把开发板的超级终端配置好了,由于是自学ARM,很多东西都是自己在摸索,没有人指导,只能依靠网络,但有时在网上了半天资料,也解决不了问题,虽然没有直接找到答案,不过还是会有很多启发,最终把问题给灭掉,下面就把WIN7下超级终端与串口设置中遇到的问题与解决方法同大家分享一下。
首先先说一下我的实验设备,PC是WIN7系统的笔记本电脑,PC上没有串口,买了一个USB转串口线,开发板是GT2440,有一个串口。
实验目的是让开发板一上电后把启动信息通过串口显示到PC机的超级终端上,并与PC进行串口通信。
实验原理是通过USB转串口线把PC的USB端口转换成串口,与开发板串口进行物理连接,然后用超级终端进行软件连接,PC与开发板的串口就连接起来了,这样,开发板就能与PC进行串口通信了。
首先安装超级终端,我的WIN7里没有超级终端,那么什么是超级终端了,网上很多人把超级终端和Telne混淆了,超级终端是一个通用的串行交互软件,很多嵌入式应用的系统有与之交换的相应程序,通过这些程序,可以通过超级终端与嵌入式系统交互,使超级终端成为嵌入式系统的“显示器”。
超级终端的原理是将用户输入随时发向串口(采用TCP协议时是发往网口,这里只说串口的情况),但并不显示输入。
它显示的是从串口接收到的字符。
所以,嵌入式系统的相应程序应该完成的任务便是: 1、将自己的启动信息、过程信息主动发到运行有超级终端的主机; 2、将接收到的字符返回到主机,同时发送需要显示的字符(如命令的响应等)到主机。
而Telnet是远程登录,Telnet协议是TCP/IP 协议族中的一员,是Internet远程登陆服务的标准协议和主要方式。
它为用户提供了在本地计算机上完成远程主机工作的能力。
在终端使用者的电脑上使用telnet程序,用它连接到服务器。
终端使用者可以在telnet程序中输入命令,这些命令会在服务器上运行就像直接在服务器的控制台上输入一样。
ARM嵌入式Linux开发——串口设置和开发
ARM嵌入式Linux开发——串口设置和开发1.串口设置及测试串口是常用的通信接口,在Linux操作系统中还是主要的系统调试和操作接口,早期的UNIX 计算机就是通过串口(附加了调制解调器提供远距离传输能力)连接终端与主机实现多用户操作的,因此继承了UNIX特点的Linux操作系统对于串口的支持非常丰富详细。
串口比网络接口的使用更加简单可靠(不需要复杂的驱动和设置,只需要确定波特率、数据位数、停止位数、校验位模式等几个重要参数即可使用),可用于网络环境尚未搭建完善以及网络出现故障情况下对设备的操作控制,通常交换机等缺乏显示和输入的设备均采用串口作为基本操作手段,此外在控制领域串口也是常用的通信形式。
1.1.物理主机中安装Virtual Serial Port Driver为了便于串口程序开发的调试,可以在物理主机上安装虚拟串口模拟软件,在本机模拟串口,实现脱离真实物理设备的串口通信开发调试,提高开发环境的灵活性和开发效率。
本例中采用Virtual Serial Port Driver软件,简称VSPD,安装在物理主机的Windows操作系统中,可通过端口映射提供给虚拟机使用。
安装过程如下:在Manage ports选项页中,点击“Add pair”按钮,添加一对Virtual ports串口对。
设置成交叉对,即两接口的输入和输出交叉互连,实现自闭环通信。
在物理主机中分别启动串口调试助手软件2次,打开2个软件操作窗口,每个软件窗口分别对应一个串口,即一个软件的串口设置为COM1,另一个软件的串口设置为COM2,并将波特率、校验位、数据位、停止位等参数设置为相同的值,互相发送数据,检查串口间的通信情况,确认其连通正常。
1.2.虚拟机中添加虚拟串口为了使虚拟机中Linux操作系统也能使用物理主机上的虚拟串口,需要进行设置。
在VMWare软件的“虚拟机”菜单中选择“设置”,打开“虚拟机设置”对话框,进入“硬件”页面,点击“添加”按钮添加串行端口,选使用宿主机上的物理串行端口,注意不要选“自动检测”,要明确指定COMx,此处x是物理主机Windows操作系统中的串口编号值。
linux arm移植命令
linux arm移植命令1. 什么是ARMARM(Advanced RISC Machine)是一种基于RISC(Reduced Instruction Set Computer)架构的处理器设计,常被用于嵌入式系统领域。
由于其低功耗、高性能和成本效益等优势,ARM架构广泛应用于移动设备、物联网和家庭娱乐等领域。
2. 为什么需要ARM移植移植指的是将某个操作系统或软件移植到不同的硬件平台上。
ARM移植即将Linux操作系统移植到ARM架构的处理器上。
由于ARM处理器与传统的x86处理器架构有所不同,因此需要对Linux进行移植以在ARM设备上运行。
3. ARM移植命令步骤ARM移植涉及多个步骤,以下是常见的移植命令及其说明:## 3.1. 配置内核源码### 3.1.1. make menuconfig执行`make menuconfig`命令可进入内核配置界面,通过界面可进行内核配置,包括硬件支持、设备驱动等。
### 3.1.2. make oldconfig执行`make oldconfig`命令可根据当前配置文件生成一个新的配置文件,用于更新配置文件中的新选项。
## 3.2. 编译内核执行`make`命令即可进行内核的编译,编译过程可能会持续一段时间。
## 3.3. 生成根文件系统根文件系统是指Linux运行时所需要的文件及目录结构。
可以通过`buildroot`等工具生成根文件系统。
## 3.4. 烧录内核及根文件系统编译完成后,将生成的内核镜像和根文件系统烧录到ARM设备的存储介质中,例如SD卡或eMMC存储器。
## 3.5. 启动ARM设备将存储介质插入到ARM设备中,通过开发板或串口终端连接到设备,随后可以启动ARM设备并进入Linux操作系统。
4. ARM移植的挑战和注意事项ARM移植相对复杂且涉及多方面的技术,以下是一些挑战和注意事项:- 硬件驱动:需要确保所选的硬件能与Linux内核进行良好的兼容性,并确保相关的设备驱动可用。
Linux下USB转串口
选择串口:在选择菜单中的“Serial port setup”,按回车,再按“A”以设置 “Serial Device”/dev/ttyUSB0(注意其中的USB是大写),按回车返回。
b)设置波特率:按“E”键进入设置“bps/par/Bits”(波特率)界面,如果按“I”以设置波特率为115200,按回车返回。(我使用的是2440的板子)
选择Serial port setup,此时所示光标在"Change which setting"上,键入"A",此时光标移到第A项对应处:串口COM1对应ttyS0,COM2对应ttyS1(注意选择)。
然后对波特率,数据位和停止位进行配置,键入"E",波特率选为115200 8N1(数据位8,奇偶校验无,停止位1),硬/软件流控制分别键入"F"和"G",并且都选No。在确认配置正确之后,可键入回车返回上级配置界面,并将其保存为默认配置(即save setup as dfl)。最后,选择"Exit from Minicom"命令退出。
下载 270kB,耗时 1s (184kB/s)
选中了曾被取消选择的软件包 lrzsz。
(正在读取数据库 ... 系统当前总共安装有 101203 个文件和目录。)
正在解压缩 lrzsz (从 .../lrzsz_0.12.21-4.1_i386.deb) ...
选中了曾被取消选择的软件包 minicom。
| Save setup as dfl |
| Save setup as.. |
| Exit |
+-------------------------+
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
arm-linux下usb转串口移植手册:
讲述在嵌入式平台上,移植usb转串口的步骤:
1、配置Kernel
2、文件系统配置等。
Kernel:在配置内核时:加入usb转串口的支持、加入usb转串口器件的支持。
不同厂家的usb转串口工具需要的驱动可能不一样。
Device Drivers --->
USB support --->
--- USB port drivers
USB Serial Converter support --->
<*> USB Serial Converter support
[*] USB Serial Console device support
[*] USB Generic Serial drivert
< > USB AIRcable Bluetooth Dongle Driver (EXPERIMENTAL)
<*> USB FTDI Single Port Serial Driver (EXPERIMENTAL)
本次实验才用的是FTDI的usb转串口工具
在配置Kernel时,还可以加入对其他厂家的驱动支持。
文件系统:
1、在/dev目录下建立设备文件/dev/ttyUSB0
mknod /dev/ttyUSB0 c 188 0
2、在运行/sbin/getty登陆命令之前要先设置好:usb转串口对应端口的波特率、停止位等。
int usb_to_serial_init(viod)
{
iUSBTORS232 = open( "/dev/ttyUSB0", O_RDWR);
if (iUSBTORS232 iRS232 < 0)
{
printf("Can't open device dev/ttyUSB00");
return -1;
}
set_speed(iUSBTORS232 iRS232,BAUDRA TE);
set_Parity(iUSBTORS232 iRS232,8,1,'n');
close(iRS232);
}
3、在/etc/inittab 加入如下命令。
同时用consel和usb转串口工具登陆。
# Example of how to put a getty on a serial line (for a terminal)
::respawn:/sbin/getty -L ttyS0 115200 vt100
::respawn:/sbin/getty -L ttyUSB0 115200 vt100。