众所周知,JZ2440 V2很小巧,精致。今天单就JZ2440的串口来讨论一些问题。我们在用串口进行调试的时候,需要用JZ2440自带的一根USB线连接电脑USB口和开发板的USB-com1口。...先来看一下JZ2440的串口大致连接图: 从S3C2440芯片上引出TXD0和RXD0到芯片PL2303,大家都知道PL2303是干嘛用的。...JZ2440在这一点上还有一处可以说说,就是它没有使用其他品牌开发板常用的RS232 DB9接口,这在很大程度上减小了开发板的体积,同时也节减了USB转串口线的花费,可谓一举两得。...问题马上就来了,在用JZ2440开发时,串口是在SecureCRT上输出信息的。在输出信息时,偶尔会使电脑蓝屏。...=0 改为 CONFIG_DEBUG_S3C_UART=1 这是告诉Linux系统,要把调试信息输出到串口2上面。
主机开发环境: Ubuntu9.10 内核: Linux2.6.22.6 文件系统: fs_qtopia.yaffs2 开发板:JZ2440 目的:通过SD卡传文件到开发板 其实很简单,就一条挂载命令,...JZ2440接上电源,按红色开关启动系统 2. 电脑用数据线连接JZ2440 USB转串口“USB-COM1” 3. ...设备管理器找到开发板串口对应的是com 几(笔者的是com3) 4. 打开SecureCRT(在资料光盘->windows工具目录),如下设置连接串口 ?...cd linux-2.6.22.6 patch -p1 < ...../linux-2.6.22.6_jz2440.patch cp config_ok .config make uImage 进入uboot,tftp下载uImage到jz2440,并烧写 先设置网络
2019新年伊始,为了系统的学习嵌入式系统的开发,入手了一块韦东山的JZ2440,入坑之旅开始~ 1. 开发板 开发板如名字JZ一样,精致,话不多说,上高清大图: ? ? 开发板资源如下: ? ?...JZ2440开发板供电采用5V火牛接口供电: ? 3.如何查看串口调试信息? 3.1.串口硬件连接及驱动安装 ?...3.2.使用串口终端查看串口输出的信息 在windows上可以使用xshell或者putty,这里我使用的是xshell: ? ? ?...在Linux系统下可以使用minicom或putty查看,参考我的另一篇博客: 【嵌入式Linux】Linux下的串口助手 —— minicom或putty (https://blog.csdn.net...JZ2440开发板烧写程序使用oflash/openJATG。 4.1. oflash烧写器硬件连接 ?
tag参数保存在指定位置,比如:内存tag、bootargs环境变量tag、串口tag等 boot_jump_linux(images); //该函数会跳转到内核起始地址...= arm-linux- 配置编译 cd arch/arm/configs //由于我们板子是arm板,进入该目录 ls *2440*...由于我们板子是2440,所以测试7cf(mini2440)以及16a(smdk2440)这两个机器ID,是否支持我们开发板。 但是依旧乱码,可能是波特率设置不正确。...重新设置下环境变量的波特率 set bootargs root=/dev/mtdblock3 console=ttySAC0,115200 再次烧写启动,发现7cf(mini2440)这个ID,有串口输出正常...下面看下16a(smdk2440)为什么串口乱码,进入mach-smdk2440.c( 位arch/arm/mach-s3c24xx)找到问题出在smdk2440_map_io(): static void
有很多人问我,为什么不录串口驱动? 实际上串口裸板很简单,但是串口驱动还是挺复杂的; 另外基本上所有芯片的内核源码中基本上都会有串口驱动。...编译: arm-linux-gcc -o serial_test serail_test.c -static b. 在开发板上运行: ..../serial_test // /dev/XXX为串口的设备节点 比如在jz2440的3.4.2内核上: ....比如jz2440用的linux 3.4.2内核,它的/dev/ttySAC2无法使用。...修改内核 arch/arm/mach-s3c24xx/mach-smdk2440.c 找到”ulcon = 0x43;” 改为 “ulcon = 0x03;” 2440的串口2可以用作红外接收或发送,
能使用USB下载的前提是,JZ2440上当前运行的是UBOOT。如果板子上运行的是其他裸板程序、或是板子已经启动进入了Linux,无法使用USB下载。...使用USB下载之前: 1、 让开发板运行于UBOOT,不要让它启动进入内核(可以在UBOOT启动时在串口工具里按下空格,阻止它启动Linux) 2、 用USB线连接开发板和电脑(JZ2440自带...USB串口,所以除USB串口线外,你还需要接上第2条USB线) 3、 在电脑上安装驱动程序 4、 在开发板启动USB传输(在串口中选择菜单) 5、 在电脑上使用dnw_100ask.exe发送文件...PC和开发板之间,未接USB下载线 b. 板上运行的不是UBOOT,或UBOOT已经启动进入了Linux c....2、烧写单板Linux系统:可以按需选择 ① 更新u-boot到nor flash: a. 在u-boot菜单界面输入“o”,开发板使用nor flash启动时才有“o”选项!! b.
单位 百问网专利开发 百问网专利开发 适用性 2410,2440,6410等 2410,2440,6410等 烧写范围 可以烧录到nor flash,nand flash 可以烧录到nor flash,...个DB9串口 驱动程序 相同 相同 程序烧写 相同 相同 程序调试 通过jtag协议,调试裸机,uboot,linux内核 通过jtag协议,调试裸机,uboot,linux内核 最大优点 直接将代码烧写到...nand flash中, 调试裸机,uboot,linux内核 直接将代码烧写到nand flash中, 还带USB转串口功能, 调试裸机,uboot,linux内核 op或者eop支持将代码烧写到Nor...JZ2440与eop的接线示意图: ? 将eop所带的10pin 2mm间距排线插入开发板JTAG口,凸出的一面指向纽扣电池一侧,eop的usb口插电脑。 整体连接图为: ?...烧写完成后拔掉eop,重启开发板,SecureCRT上即可看到LCD裸机程序打印出来的信息,因为eop工作时会使JZ2440复位, 导致串口无打印。
由原理图可以看出,JZ2440开发板上将三个串口全部引出,其中UART0设置了板载的USB转串口电路,只需连接板上的USB口就可以,所以接下来我们使用UART0进行数据收发实验。 2....3.2.1.设置串口波特率产生器的时钟源([11:10]) 之前在【S3C2440⑤】S3C2440时钟体系(https://blog.csdn.net/Mculover666/article/details...$(CFLAGS) -o start.o bsp_uart_scan.o:bsp_uart_scan.c arm-linux-gcc -c bsp_uart_scan.c $(CFLAGS)...-o bsp_uart_scan.o main.o:main.c arm-linux-gcc -c main.c $(CFLAGS) -o main.o clean: rm -...,但是也有缺点,就是传输距离短,在15m左右; 从S3C2440这颗芯片来说:掌握了其UART设备的使用。
U-BOOT 移植到友善之臂mini2440 开发环境:ubuntu 10.10 编译器:友善之臂mini2440光盘自带arm-linux-gcc 4.4.3 一....这条命令实际是运行顶层文件夹下的 mkconfig,后面的都是參数 (2)进入/board/samsung,将smdk2410文件夹,复制成为mini2440.这个是我们的开发板的文件夹。...这样我们的开发板的文件就都有了,可是内容都是smdk2410开发板的。 编译測试 make clean make mini2440_config make 编译通过说明没有问题。...kermit(串口终端)出现乱码,说明串口驱动还没有移植,是正常现象。 四....启动第二阶段移植过程 1.串口初始化改动 串口实现基本上不用改动什么,串口初始化函数是serial_init,在/drivers/serial/serial_s3c24x0
1.新建单板 1.1 将2410的单板文件夹拷贝成2440: cd /work/system/u-boot-2012.04.01/board/samsung cp smdk2410 smdk2440...1.2 将2410的头文件拷贝成2440 cd ../../include/configs/ cp smdk2410.h smdk2440.h ?...使用make smdk2440_config命令(命令便会调用include/configs/smdk2440.h和board/samsung/smdk2440里的文件来配置uboot) 同样的,...s3c2440.c,lowlevel_init.S到ubuntu重新编译、 5.烧写uboot,发现串口已有数据,但是乱码 测试设置的内存是否成功 ? .../smdk2440.h 然后将smdk2440.h的CONFIG_S3C2410宏 改为: CONFIG_S3C2440宏 5.2编译测试 make时,发现以下几个error: ?
开发板的配套光盘有很多资料文档,在学习之前,大概浏览一下是非常不错的,强烈建议,特别是S3C2440的技术参考手册。...1,熟悉开发板的硬件资源(TQ2440的原理图) 2,熟悉SRAM,SDRAM,Nor Flash,Nand Flash。...6,搭建开发环境(GCC交差编译)。 7,学习ARMv4指令集,编写简单的汇编程序,下载运行。 8,务必非常熟悉串口UART的使用,后边你自己的程序调试都需要通过串口来输出。...13,当第12步完成后,你可以尝试用你的bootloader从PC的TFTP服务器下载Linux内核镜像到开发板,然后启动Linux。...(但是最主要的就是,获取Linux内核镜像,初始化硬件环境,运行Linux)。
/* * uart 打开分析 * * 问题: 当应用程序调用open系统调用函数,那么是如何open串口的?...* * */ /*Samsung.c 函数的模块入口函数 *它是一个公用的借口,不管2440/6410都会调用该函数 * */ static int __init s3c24xx_serial_modinit.../*首先判断打开的设备是否是: *MAJOR = 5, MINOR = 0 *MAJOR = 5, MINOR = 1 *MAJOR = 4, MINOR = 0 * 其实打开的是2440
虽然以太网接口和USB接口也是以一个串行流进行数据传送的,但是串口连接通常特指那些与RS-232标准兼容的硬件或者调制解调器的接口。废话少讲,今天来解剖使用串口时的编程代码细节。...上面的代码是使用串口的第一步,来解释下都是啥意思。...来瞧瞧: 第21-22行,定义了一个用来配置串口属性的结构体: struct termios serial; bzero(&serial, sizeof(serial)); 第24行,将串口设置为raw...cfsetispeed(&serial, B9600); cfsetospeed(&serial, B9600); 第28-32行,设置串口控制属性(c_cflag),其中: serial.c_cflag...: tcsetattr(fd,TCSANOW,&serial); 当然,上面的 fd 就是系统中的某一个你想要设置的成上面那样的属性参数的串口,比如就拿粤嵌GEC210开发板来说,他有四个串口,其中第一个就已经被用于终端控制了
最近在了解嵌入式方面的知识,就随笔记录一下: 查看Linux本机串口: 1、查看串口是否可用 可以对串口发送数据比如对com1口,echo /dev/ttyS0 2、查看串口名称使用 ls...-l /dev/ttyS* 一般情况下串口的名称全部在dev下面,如果你没有外插串口卡的话默认是dev下的ttyS*,一般ttyS0对应com1,ttyS1对应com2,当然也不一定是必然的; 3、...查看串口驱动 cat/proc/tty/drivers/serial 4、查看串口设备 dmesg | grep ttyS* 5、查一下板子上的串口有没有设备 grep tty/proc.../dev下应该有一个USB串口:/dev/ttyUSB0. 当一个串行卡或数据卡被侦测到时,它会被指定成为第一个可用的串行设备。...PC上的串口一般是ttyS,板子上Linux的串口一般叫做ttySAC; 串口使用: 如果需要查看这个串口设备输出: cat ttyUSB0 如果需要对这个设备输入: echo yaoxu > ttyUSB0
关于安卓设备上使用串口,谷歌官方在github上有提供代码实例,里面有JNI的代码和串口API的java文件,工程的地址如下: https://github.com/cepr/android-serialport-api...今天,分享给大家,我自己用SerialPort实现串口开发攻略。...先分享项目,该项目通过串口实现了对Nest空调的,并且实现根据环境温度自动调节温度。...引入读写权限android.permission.READ_PHONE_STATE和android.permission.WRITE_EXTERNAL_STORAGE 到此我们需要的配置就完成了,我们可以开始开发了...openSerialPort 这个方法有一个需要注意的,首先是参数,参数一是串口地址,可以自己看你串口插入点的信息直接写死,参数二是波特率,需要与设备对应匹配(如果设备有要求),例如笔者接的环境探测器,
而我们之前用的内存分配kmalloc()函数,是不能用在DMA上,因为分配出来的内存可能在物理地址上是不连续的. 1.2 那么2440开发板如何来启动DMA,先来看2440的DMA寄存器 (PS:实际这些.../6632273) 1.2.1 2440支持4个通道的DMA控制器 其中4个通道的DMA外设请求源,如下图所示(通过DCONn寄存器的[26:24]来设置) (PS:如果请求源是系统总线上的,就只需要设置...1.2.2 且每个通道都可以处理以下4种情况: 1) 源和目标都在系统总线上(比如:两个物理内存地址) 2) 当目标在外设总线上时,源在系统总线上(外设指:串口,定时器,I2C,I2S等) 3) 当目标在系统总线上时...1.2.5 2440中的DMA寄存器如下图所示: ?.../module.h> #include #include #include #include <linux/delay.h
for OpenJTAG ##### [n] Download u-boot to Nand Flash [o] Download u-boot to Nor Flash [k] Download Linux...[y] Download root_yaffs image [d] Download to SDRAM & Run [z] Download zImage into RAM [g] Boot linux...答: 贴出烧写内核时的串口信息,这样才能确定问题。 肯定是烧写出了问题:要么没烧成功,要么是uImage超过2M了 5,busybox1.7.0制作yaffs2重启时,出现: ?...512MB的SD卡,插入开发板后用fdisk -l 命令没有东西显示出来,提示如下: # s3c2440-sdi s3c2440-sdi: running at 0kHz (requested:...且带有3.4内核可以移植到开发板上的。插入摄像头就能在LCD上显示。一直失败,马上答辩了。 ? 答:这明显是video2lcd不是交叉编译的,或是选用的工具链跟开发板根文件系统不一致
/*串口read函数分析 * 当应用程序调用read系统调用时,会调用tty_fops中的tty_read * 接下来分析tty_read函数 * * 其中最重要的就是ld->ops->read(tty...* 那么当我们的串口有数据的话,当然就调用我们以前注册的rx中断函数了。...unsigned int ufcon, ch, flag, ufstat, uerstat; int max_count = 64; while (max_count-- > 0) { /*读取UFCON串口配置寄存器...*/ ufcon = rd_regl(port, S3C2410_UFCON); /*读取 UFSTAT串口状态寄存器。...UERSTAT_OVERRUN, ch, flag); } /*这是才将整个数据送tty->read_buf中去*/ tty_flip_buffer_push(tty); } /* 将串口产生的数据送进
/*和read的分析过程一样, 我们首先分析tty_write*/ /*最重要的就是do_tty_write函数。 前面都是一些合法性判断*/ static ...
查看Linux本机串口: 1、查看串口是否可用 如果需要查看这个串口设备输出: cat ttyUSB0 如果需要对这个设备输入: echo yaoxu > ttyUSB0 常用的调试工具有: minicom...cutecom Linux系统可视化串口应用软件,使用上与Windows系统串口调试工具。 picocom 效果上类似 minicom 的精简版,设置比较简单,还可以有背景颜色。...PC上的串口一般是ttyS,板子上Linux的串口一般叫做ttySAC; 串口权限问题 临时调试解决 在使用串口进行通信时,经常需要使用指令来赋予用户读写的权限 $ sudo chmod 777 /dev...查看linux所有用户 使用 /etc/passwd 文件 使用任何一个像 cat、more、less 等文件操作命令来打印 Linux 系统上创建的用户列表。.../etc/passwd 是一个文本文件,其中包含了登录 Linux 系统所必需的每个用户的信息。
领取专属 10元无门槛券
手把手带您无忧上云