ok6410串口裸机总结】的更多相关文章

1.串口角色:(1)数据传输通道(2)控制台 2.通讯参数(1)波特率:衡量传输速率的快慢,每秒钟传输数据的位数(bit)(2)数据位:有效数据(3)起始位:线路空闲的时候是高电平,当检测到低电平认为有数据传输开始,所以是低电平.(4)奇偶校检位:检测数据传输是否正确(5)停止位:表明一帧数据传输结束 以上这些参数发送方和接收方要一致 3.硬件引脚:RXD,TXD,地 4.初始化(1)设置引脚工作模式(2)设置数据格式(ULCON)(3)设置工作模式(DMA,轮询,中断),(UCON)(4)设置…
SPI控制器工作流程 SPI控制器提供2个SPI接口.每个SPI接口有两个通道,分别为TX通道和RX通道.CPU要写数据到FIFO中,先写数据到SPI_TX_DATA寄存器中,这样此寄存器中的内容就会自动移动到发送FIFO中:同理,如果CPU要从接收FIFO中读取数据,就访问寄存器SPI_RX_DATA,紧接着接收FIFO的数据就会自动移动到SPI_RX_DATA寄存器中. OK6410 SPI裸机程序分析 //SPI初始化 u8 SPI_Init(){ //SPI复位 CH_CFG0 |= B…
ubuntu1604系统下搭配ckermit和dnw基于RAM的裸机程序调试环境 系统:  ubuntu16.04 裸板: 飞凌公司OK6410开发板 目标:搭建基于ubuntu1604系统和基于RAM的裸机程序开发环境 1.安装配置ckermit 在ubuntu1604下一般做裸板开发时都是使用ckermit作为远程通讯终端,下面我们就开始讲解下其安装与配置. 1.1.安装ckermit 在ubuntu系统下安装ckermit,使用 sudo  apt-get  install  ckermi…
本文转载自:http://blog.csdn.net/eshing/article/details/37410571 版权声明:本文为博主原创文章,未经博主允许不得转载.   目录(?)[+]   一.实验原理 大家可能会有疑问,不是在BL2目录中的mem_init_tiny4412.S实现了串口初始化了,且也有串口输出函数,要不然怎么串口调试助手上怎么会有打印信息呢,这里为什么还要重新初始化?其实我觉得也可以不用重新初始化,但至少也要实现Printf()这个标准函数里要调用的串口输出函数吧,因…
这个仅仅能作为自己初步了解MDA的开门篇 实现功能: 将字符串数据通过DMA0通道传递给UTXH0,然后在终端 显示.传输数据完后.DMA0产生中断,beep声, LED亮. DMA基本知识 计算机系统中各种经常使用的数据输入/输出方法有查询方式(包含无条件及条件传送方式)和中断方式,这些方式适用于CPU与慢速及中速外设之间的数据交换.但当高速外设要与系统内存或者要在系统内存的不同区域之间进行大量数据的高速传送时.就在一定程度上限制了数据传送的速率.直接存储器存取(DMA)就是为解决问题提出的,…
开发环境 (1)硬件平台:FS2410 (2)主机:Ubuntu 12.04 FS2410串口的原理图 串口UART寄存器配置   配置TXD0与RXD0(GPH2.GPH3) 设置波特率(UBRDIVn) 设置传输格式(ULCONn) 选择时钟源与中断方式(UCONn) 设置FIFO(UFCONn) 设置流控(UMCONn) 接收字符和发送字符(UTRSTATn) 源代码  //uart.c #include "2410addr.h" void putc(char ch) //发送字…
一.在使用S5PV210的串口发送和接收的时候,首先要对S5PV210的串口进行配置,我们使用轮询方式时的配置有哪些? 1.配置GPIO,使对应管脚作为串口的发送和接收管脚 GPA0 0 1 管脚 2 3 可以配置,但我们没有使用 GPA0CON寄存器[7:4][3:0] 0x22 GPA0PUD寄存器[3:0] 0 禁止上下拉电阻2.配置串口单元本身寄存器 ULCON0 0xE2900000 数据位:8位 停止位:1位 校验位:无 使用的正模式,非红外.3.UCON0 0xE2900004 串…
1.安装交叉工具链arm-linux-gcc-4.3.2 先把这个工具复制到rhat系统中[rhel-server-6.3-i386-dvd.iso] 解压arm-linux-gcc-4.3.2到一个目录中,然后,配置环境变量   2.编译示例程序 编译 arm-linux-gcc -g -c led.S 链接 arm-linux-ld -Tled.lds -o led.elf led.o 格式转换 arm-linux-objcopy -O binary led.elf led.bin 这样就做…
6410按键中断编程 一.流程分析 外部中断控制寄存器(s3c6410x  359页) 1.EINTxCONy: 外部中断组x的第y个控制器.这个就是设置中断的触发方式.有5种触发方式. 2.EINTxFLTCONy:外部中断组x的第y个滤波功能控制器.S3C6410对于外部中断有滤波功能,这个就是用来设置滤波功能.有延迟滤波,有数字滤波.滤波,可以用来滤掉毛刺信号.在以前51做按键外部中断,按键是有抖动的,就需要一个去抖动的一个东西.但是有了这个滤波的话,直接设定滤波的时间,就可以滤掉这一段时…
/****************************************** 实验步骤 1.配置引脚功能,将其GPI.GPJ引脚设置为VD数据输出模式,及GPJ后几位设置成LCD时钟输出: 2.设置LCD时序值,初始化时序值. (1)需要初始化时序:VSPW.VBPD.LINEVAL.VFPD.HSPW.HBPB.HOZVAL.HFPD. CLKVAL(在LCD芯片手册中找到初始化时序图,然后找到对应的时序参数) (2)找到初始化这些时序信号相应的寄存器(在芯片手册中找到相应的寄存器,…
1.为何使用DMA:为了提高CPU的工作效率,避免多余的等待时间 2.关于DMA控制器:(1)通道数:2440有4个通道,6410有4个DMA控制器(初始化的时候要选择),32个通道.210有两种DMA一种是内存与内存之间,另外则是普通的内存与外设之间.(2)请求源:(3)基本时序 nXDREQ请求生效并经过2CLK周期同步后,nXDACK响应并开始生效,但至少还要经过3CLK的周期延迟,DMA控制器才可获得总线的控制权,并开始数据传输(4)工作模式:•Demond模式:如果DMA完成一次请求后…
转自:http://blog.csdn.net/shengnan_wu/article/details/8309417 版权声明:本文为博主原创文章,未经博主允许不得转载. 1.相关原理图 2.相关寄存器介绍与配置 1)与管脚相关 ①GPHCON 注: 配置成UART0功能: GPHCON |= 10 10 10 10b(还要在GPHUP里把管脚禁止上拉) 2)与中断相关 上传图片好麻烦,跟以前相关的这里就不贴了 3)与UART0相关 ①ULCON0 注: Infrared Mode :选择普通…
1.C语言内嵌汇编使用方法 C内嵌汇编以关键字”_asm_或asm开始,下辖4个部分,各部分之间用“:”分开,第一部分是必须写的,后面3个部分可以省略,但是分号:不能省略 优化后的代码 2.汇编程序框架 .section .data <初始化的数据> .section .bss <未初始化的数据> .section .text .global _start _start: <汇编代码>…
1.ARM工作模式 ARM微处理器支持7种工作模式,分别为: l  用户模式(usr):ARM处理器正常的程序执行状态(Linux用户态程序) l  快速中断模式(fiq):用于高速数据传输或通道处理 l  外部中断模式(irq):用于通用的中断处理 l  管理模式(svc):操作系统使用的保护模式(Linux内核) l  中止模式(abt):当数据或指令预取终止时进入该模式,用于虚拟存储及存储保护 l  未定义指令模式(und):当未定义的指令执行时进入该模式,用于支持硬件协处理器的软件仿真…
1.GCC工具链 1.GCC默认处理的文件类型 文件类型 扩展名 文件说明 文本文件 *.c C语言源文件 *.C.*.cxx.*.cc C++源文件 *.i 预处理后的C语言源文件 *.ii 预处理后的C++源文件 *.s.*.S 汇编语言 *.h 头文件 二进制文件 .o 目标文件 .so 动态库 .a 静态库 表1.gcc默认处理的文件类型 GCC是一组工具的集合,包含了预处理器.编译器.汇编器.连接器等部分. 2.编译工具和Binutils GCC的核心是编译工具gcc,用于编译c程序,…
这几天晚上一直折腾S3C6410的裸机SD卡启动,不大想使用UBOOT,我是搞硬件的,对底层非常感兴趣,不喜欢已经写好的,因此自己一直在尝试,其实很早之前就试过SD卡启动,也就是ARM11上电后会把SD卡倒数第9KB开始的8KB(倒数0x2400B偏移量)复制到内部SRAM中执行,这个比较简单,但是代码量只有8K,不能像STM32一样玩,因此查阅相关资料,得知启动方式为L0加载L1,L1加载L2,简单来说,就是上电启动后,固化在S3C6410内部的L0代码启动,将NAND,SD卡等外部存储器映射…
编写本文稿的目的,在于通过分析stm32平台上的串口中断源码,学习 RTT中如何编写中断处理程序 如何编写RTT设备驱动接口代码 了解串行设备的常见处理机制 先以RTT官方源码中的STM32 BSP包来分析.rt-thread\bsp\stm32f10x 下,涉及的文件为: usart.c usart.h serail.c serail.h RTT的设备驱动程序概述 编写uart的驱动程序,首先需要了解RTT的设备框架,RTT的设备框架我们已经大致的介绍了一下,这里以usart的驱动来具体分析R…
二.移植嵌入式播放器 madplay madplay 播放器程序主要依赖于如下库: zlib   zlib-1.1.4.tar.gz 提供数据压缩用的函式库 libid3tag  libid3tag-0.15.1b.tar.gz  mp3 文件 id3 标签分析库 libmad  libmad-0.15.1b.tar.gz  高精度 MPEG 音频解码库,支持 MPEG-1(Layer I, Layer II 和 LayerIII(也就是 MP3) 将 sdk 里面 resource 目录的以下…
1      硬件特性 1.1 概述 I2C总线是由Philips公司开发的两线式串行总线,这两根线为时钟线(SCL)和双向数据线(SDA).由于I2C总线仅需要两根线,因此在电路板上占用的空间更少,带来的问题是带宽较窄.I2C在标准模式下传输速率最高100Kb/s,在快速模式下最高可达400kb/s.属于半双工. 在嵌入式系统中,I2C应用非常广泛,大多数微控制器中集成了I2C总线,一般用于和RTC,EEPROM,智能电池电路,传感器,LCD以及其他类似设备之间的通信. 1.2 I2C总线传输…
常用的烧写方法有: 1.使用并口工具烧写:接线(参考百问网JZ2440V2开发板使用手册),使用oflash烧写(速度比较慢),可烧写.bin文件,从新上电观察效果.可烧写u_boot. 2.使用openJTAG烧写,接线,使用oflash烧写(oflash烧写完后,会复位开发板). 3.使用Jlink烧写,请看如何烧写S3C2440裸板程序:JLink只支持烧写Nor Flash,不支持Nand Flash. 所以:选择J-link烧写u-boot 这是烧写代码的基础,因为开发板j-link不…
本文很多其它的是教会大家怎样学习. 4.1    汇编学习 4.1.1 基础知识     4.1.2 ARM模拟器 4.2    S5PV210启动流程 4.3    点亮一个LED 4.4    串口 4.5    实现printf函数 4.6    时钟配置 4.7    重定位(BL1载入BL2到SRAM) 4.8    DDR 4.9    NAND FLASH读写 4.10 NAND读写之8位硬件ECC 4.11 NAND读写之8位硬件ECC(续) 4.12 LCD操作 裸机编程仅仅是…
Mini6410上最简单的LED点灯裸机程序 : 实验环境: 根据友善教程,要用ADS,据说现在都不用这个了,但是为了打开友善给的mcp工程,就下了一个,Win7下弄上兼容模式和管理员权限,再下一个SecureCRT代替超级终端. 一定要,把AXD也设置上. secureCRT的配置:选择Serial串口,波特率115200,端口号:USB转串(去驱动程序查端口号,今天插了一个COM4,一个COM5) 实验步骤: 配置好了以后,打开CodeWarrior编译mini6410-led.bin文件…
S3C2416裸机开发系列十六 sd卡驱动实现 象棋小子    1048272975 SD卡(Secure Digital Memory Card)具有体积小.容量大.传输数据快.可插拔.安全性好等长处.被广泛应用于便携式设备上.比如作为数码相机的存储卡,作为手机.平板多媒体扩展卡用的TF卡(micro sd).笔者此处就s3c2416 sd卡驱动的实现作一个简单的介绍. 1. sd卡概述 sd卡技术是在MMC卡的基础上发展起来的,其尺寸与MMC卡一样,仅仅是比MMC卡厚了0.7mm,因此sd设…
S3C2416裸机开发系列19 Fatfs播放录像wav音频文件 国际象棋男孩    1048272975 多媒体资源,一般都是以文件的形式存储在固化存储器中.Fatfs所支持的fat32为windows支持的文件系统,因此在嵌入式系统中採用Fatfs文件系统可极大地扩展系统的应用. 比如,把计算机上图片.音频,视频.文本等资源直接复制到嵌入式系统中的固化存储器中,在系统中就可以直接应用这些资源. 把嵌入式系统中录制的音频.视频直接保存成一定的格式,在计算机上可直接播放处理.把传感器採集的数据保…
继ok6410 u-boot-2012.04.01移植一后修改代码,对ok6410单板初始化,主要包括时钟.串口.NAND.DDR等初始化.这些工作在以前的裸板程序都写了,直接拿来用.我觉得先写裸板程序对移植u-boot还是很有帮助的,以前写的裸板代码不管是在u-boot移植还是后面的驱动开发,都用得着. 开发环境: 系统:ubuntu 10.04.4 单板:ok6410 NAND FLASH:K9GAG08U0D 2048MB NOR Flash:EN29LV160AB 2MB DDR:K4X…
昨天安装了ssh服务之后今天在windows上用xshell登陆发现登录不上,原因是使用了virtualbox的NAT模式,在NAT模式下,客户机可以很方便地上网,但是想要链接宿主机就需要打开网络地址映射 首先要知道ssh服务使用的是22端口,然后打开windows主机上的适配器,virtualbox安装了一张虚拟网卡,如下 虚拟地址为192.168.56.1,接下来在虚拟机的设置界面设置网络地址映射,首先还要知道虚拟机的IP地址,如下 地址为10.0.2.15,就可以去做端口转发了,位置如下…
在使用arm芯片进行裸机开发的时候,很多时候都需要内存管理的功能,我们可以使用自己写的内存管理程序,也可以直接使用标准库,不过我一般比较喜欢标准库,速度快,今天就来说说在C语言环境下怎么样进行内存的动态使用 首先,应该初始化C堆,初始化代码如下 #include "malloc.h" #pragma import (__use_realtime_heap) //这个函数在rt_heap.h中声明,需要用户自己去实现,返回任意值 unsigned __rt_heap_extend(uns…
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<  开发环境:…
作者 : 万境绝尘 博客地址 : http://blog.csdn.net/shulianghan/article/details/42254237 一. 相关工具下载 嵌入式开发工具包 : -- 下载地址 : http://download.csdn.net/detail/han1202012/8321641 二. Linux 网络配置 1. Vmware 网络配置 (1) 网络设置简介 右键点击虚拟机 -> 选择设置 : 虚拟机设置对话框 : 选择网络适配器选项, 可以看到 Vmware 有…
第7章        RL-TCPnet网络协议栈移植(裸机) 本章教程为大家讲解RL-TCPnet网络协议栈的裸机移植方式,学习了上个章节讲解的底层驱动接口函数之后,移植就比较容易了,主要是添加库文件.配置文件和驱动文件即可. 本章教程含STM32F407开发板和STM32F429开发板的移植. 7.1  移植前准备工作说明 7.2  STM32F407移植RL-TCPnet协议栈 7.3  STM32F429移植RL-TCPnet协议栈 7.4  总结 7.1  移植前准备工作说明 1.学习…