前言:
I2C(Inter-Integrated Circuit)总线(也称 IIC 或 I2C) 是有PHILIPS公司开发的两线式串行总线,用于连接微控制器及外围设备,是微电子通信控制领域广泛采用的一种总线标准。它是同步通信的一种特殊形式,具有接口线少、控制方式简单、器件封装形式小、通信速率较高等优点。
iic
一、综述
Exynos4412精简指令集微处理器支持4个IIC总线控制器。为了能使连接在总线上的主和从设备之间传输数据,专用的数据线SDA和时钟信号线S...
Exynos4412 IIC, 单片机 IIC阅读全文
在一个项目中,使用了STM32,数据结构比较复杂,采用动态内存分配,一开始程序运行老是异常,调试查找原因,发现是使用malloc分配内存空间时不成功造成的,经分析原因在于Startup_stm32fxx.s文件中定义的堆空间太小导致的,如下图:
malloc
因为malloc是在堆空间中分配内存,设置的大小小于需要分配的空间是肯定是要失败的,我把堆大小改为10K就OK了。
STM32中malloc阅读全文
十一假期马上 就要结束了,玩了几天,睡了几天,今天发现博客好久没更新了,由于种种原因,4412也放下了好久没看了,今天打算看看LCD控制器部分,在LCD上显示个图片什么的。
具体实验过程以后有时间再详细写出来,今天只把烧写寄现象贴出来。
烧写步骤还和以前一样,看下图:
烧写过程
烧写完之后,把SD卡查到开发板,上电,屏幕会绿:
启动完成
这时调试串口会输出如下信息:
控制显示
可以按下1-6等数字 ,实现不同的功能:
...
4412 LCD显示, Tiny4412裸机程序阅读全文
转自http://blog.csdn.net/gwl11/article/details/6364336
上面在说到安装中断的时候说过,调用request_irq()时的参数中irq的确定是个难题,为什么?
你如果到网络上查一下关于linux的资料,十有八九是关于i386体系结构上的,但linux是可以运行在多种cpu上的,比如采用arm内核的s3c2410,在i386体系上的经验在这里可以用么?我们试验一下:硬件准备,使用s3c2410的EINT0引脚作中断测试,为它编写一个中断驱动程序,最后将...
request_irq, 中断号的确定阅读全文
最近进度比较慢,想着是先看中断那一部分,正好前一个实验刚做完了uart,想想还是在做些优化,实现类似printf的功能,这样后期输出一些调试信息也是很有帮助的。
翻阅以前的程序,正好有学习2440时留下的一点源码可以参考,就直接拿了过来用,从这一节开始我对整个程序目录做了调整,并重新改了Makefile文件,将一些硬件相关的初始化文件放到了一个文件夹下,并打包成库供主程序调用。
本节设计的硬件知识不是很多,和上一个实...
Tiny4412 printf, Tiny4412裸机程序阅读全文
Exynos4412 UART 的特性
Exynos4412 中UART,有4 个独立的通道,每个通道都可以工作于中断模式或DMA 模式,即 UART 可以发出中断或 DMA 请求以便在UART 、CPU 间传输数据。UART 由波特率发生器、发送器、接收器和控制逻辑组成。
使用系统时钟时,Exynos4412 的 UART 波特率可以达到 4Mbps 。波特率可以通过编程进行 。
Exynos4412 UART 的通道 0有 256 字节的发送 FIFO 和 256 字节的接收FIFO ;通道 1、4有 64 字节的发送 FIFO...
Tiny4412裸机程序, UART收发数据阅读全文
上一此实验我们讲解了如何对代码进行重定位,但是将代码重定位到只有256K的IRAM中作用不大。正确的做法是将代码重定位到容量更大的主存中,即DRAM中。
Exynos4412中有两个独立的DRAM控制器,分别叫DMC0和DMC1。DMC0和DMC1分别支持最大1.5GB的DRAM,它们都支持DDR2/DDR3和LPDDR2等,512 Mb, 1 Gb, 2 Gb, 4 Gb and 8 Gbit的内存设备,支持16/32bit的位宽。DRAM0 对应的地址是0x4000_0000~0xAFFF_FFF共1.5GB,DRAM1 对应的地址是0x...
Tiny4412裸机程序, 代码重定位阅读全文