![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ARM
文章平均质量分 61
痞子晶
大部分事情并不需要什么天赋或者激情才能完成,只要有切实可行的目标、合理的计划和风雨无阻的执行力就够了。
展开
-
大小端整理
int IsLittleendian( ){ //Little-endian模式的CPU对操作数的存放方式是从低字节到高字节,而Big-endian模式对操作数的存放方式是从高字节到低字节。 //[大小端存储问题]: 小端方式中(i占至少两个字节的长度),i所分配的内存最小地址那个字节中就存着1,其他字节是0. //大端的话则1在i的最高地址字节处存放,c原创 2016-07-28 10:03:14 · 202 阅读 · 0 评论 -
ARM9 mini2451裸机学习——NAND flash驱动学习 2
上一篇文章主要学习了NAND Falsh的基础知识,今天则来总结NAND Flash的初始化,以及块擦除,页的读写操作,以及芯片id号的获取。6. NAND FLASH 的操作接口我们知道,函数在调用时需要使用栈,当项目的函数调用关系复杂时,尤其是存在多级函数调用时,容易导致栈溢出,此处函数调用的开销也会逐渐加大。为了更好的解决上述问题,一般使用宏的形式来实现规模较小的原创 2016-07-21 23:39:08 · 883 阅读 · 0 评论 -
ARM9 mini2451裸机学习——RTC驱动设置
在一个嵌入式系统中,实时时钟单元可以提供可靠的时钟,包括时、分、秒和年、月、日。即使系统处于关机状态下,它也能够正常工作(通常采用后备电池供电,能够可靠工作十年),其外围也不需要太多的辅助电路,只需要一个高精度的晶振。它具有以下特点:• 时钟数据采用BCD编码或二进制表示;• 能够对闰年的年、月、日进行自动处理;• 具有告警功能,当系统处于关机状态时,能产生告警中断;•原创 2016-08-02 10:57:04 · 592 阅读 · 3 评论 -
ARM9 mini2451裸机学习——NAND flash驱动学习 1
一。基础Flash:NOR Flash ,NAND Flash系统上电时,会执行IROM中固化代码,把NAND Flash中的前4k拷贝到0x4000 0000(芯片内部RAM)位置运行。内存(外接芯片)(0x3000 0000)如果执行的代码小于4k,程序直接在内部RAM直接运行。如果执行代码大于4k,要把代码完整搬到内存运行。NOR Flash的块(擦除单元)大小为 64k原创 2016-07-20 11:09:57 · 595 阅读 · 0 评论 -
ARM9 mini2451裸机学习——UART驱动学习和整理
1、设置数据位宽。 找到GPHCON地址设置GPH0,GPH1为特殊功能引脚RXD,TXD找到ULCON0地址设置串口的数据模式,8N1模式。即数据宽度8,停止位1。无奇偶校验。2、设置停止位找到UCON0地址设置UART时钟为PCLK,禁止中断,使能发送,接收3、校验位4、模式配置找到UF原创 2016-07-18 17:10:43 · 827 阅读 · 0 评论 -
ARM9 mini2451裸机学习——裸机时钟
基础: PLL:锁相环 MPLL:main PLL 主锁相环,和系统相关 EPLL:extra PLL 产生特殊功能的模块时钟 MPLL:ARMCLK(533Mhz),HCLK(800/6=133.3M),DDRCLK,SSMCLK,PCLK(66M) ARMCLK(内核时钟,主频) HCLK 用在AHB总线(总原创 2016-07-18 11:47:42 · 995 阅读 · 0 评论 -
ARM9 mini2451裸机学习——LCD学习(1)
基础知识:LCD概述: LCD(Liquid Crystal Display),即液晶显示器,是一种采用了液晶控制透光度技术来实现色彩的显示器。LCD有多种类型,比如STN、TFT、LTPS TFT、OLED等。CPU或显卡发出的图像数据是TTL信号,LCD本身接收的也是TTL信号。由于TTL信号在高速率的长距离传输时性能不佳,抗干扰能力也比较差,后来又提出了多种接口,比如LVD原创 2016-07-23 10:32:38 · 1851 阅读 · 0 评论 -
嵌入式开发中ARM架构的C代码优化
下面是网络上收集关于ARM的C代码优化方法,在嵌入开发中应该有用: [声明:以下方法非本人发现和总结,均为有心之人无私贡献,谢谢他们的劳动与分享!] ======================================================= C数据类型 1. C语言的程序优化与编译器和硬件系统都有关系,设置某些编译器选项是最直接最简单的优化方式。在默认的情况转载 2016-08-10 22:59:40 · 1156 阅读 · 0 评论 -
ARM9——中断学习
中断的概念指 CPU 在正常运行程序时,由于内部或外部事件引起 CPU 暂时中止执行现行程序,转去执行请求 CPU 为其服务的那个外设或事件的服务程序,待该服务程序执行完后又返回到被中止的程序这样一个过程。中断的优先级:为使系统能及时响应并处理发生的所有中断,系统根据引起中断事件的重要性和紧迫程度,硬件将中断源分为若干个级别,称作中断优先级。 中断的嵌套:是指中原创 2016-07-24 19:33:39 · 1755 阅读 · 0 评论 -
定时器初始化源代码
定时器初始化,定时一秒具体看手册。。。#define TCFG0 (*(volatile unsigned *)(0x51000000))#define TCFG1 (*(volatile unsigned *)(0x51000004))#define TCNTB0 (*(volatile unsigned *)(0x5100000C))#define TCON (原创 2016-08-01 00:20:41 · 2651 阅读 · 0 评论 -
Keil uVision4库函数vsscanf()的bug以及解决
在arm mini2451的学习中,一直使用Keil uVision4软件。做裸机实验串口控制开发板led灯,向arm发送0-15,4位led灯以二进制形式亮灭。进过实验,发现发送3,4,5,7,9时,led灯没有反应,并且arm机发生死机。在确认自己的代码没有问题后,将错误定位在库函数中。在库函数中,vsscanf()发生错误。进一步定位发现是vsscanf()中调用的isspace()(检原创 2016-07-19 15:35:17 · 2160 阅读 · 0 评论 -
ARM9 mini2451裸机学习——LCD驱动学习 2
贴上今天学习时敲的源代码,先贴上,等有时间再来具体解释和注释。图片取模工具为:Image2Lcd取字模工具为:PCtoLCD2002下载资源链接为http://pan.baidu.com/s/1i5fiEH3显示图片函数:void lcd_dis_pic(const unsigned char * str) //显示图片,参数传入图片的模{ unsigne原创 2016-07-23 23:44:17 · 932 阅读 · 0 评论