- 博客(437)
- 资源 (24)
- 收藏
- 关注
原创 ARM9嵌入式Linux开发-LCD
目录1基础知识1.1 LCD显示原理1.2 LCD的分类1.2.1被动矩阵式LCD1.2.2 主动矩阵式LCD1.3 LCD接口2 S3C2440 LCD控制器介绍2.1 S3C2440 LCD控制器的特性与结构2.2 图像显示的原理2.3 对LCD的操作2.3.1 帧时序2.3.2 行时序2.3.3图像数据的存储2.4 LCD控制...
2020-05-02 21:14:15 621
原创 ARM9嵌入式Linux开发-ADC和触摸屏
目录1 S3C2440 ADC和触摸屏接口概述2 S3C2440 ADC接口的使用方法3 S3C2440触摸屏接口3.1 电阻触摸屏原理3.2 S3C2440触摸屏控制器4 S3C2440 ADC和触摸屏编程实例1 S3C2440 ADC和触摸屏接口概述S3C2440的CMOS模数转换器可以接受8个通道的模拟信号输入,并将他们转换为10位的二进制数据。在2.5...
2020-04-26 20:58:32 624
原创 ARM9嵌入式Linux开发-SPI总线接口
目录1 SPI总线协议介绍1.1技术性能1.2接口定义1.3内部结构1.4时钟极性和时钟相位1.5传输时序1.6数据传输1.7优缺点2 S3C2440 SPI控制器2.1 简介2.2 SPI接口特性2.3 SPI接口操作2.4 传输格式:2.5 接口控制寄存器:SPI控制寄存器(SPICONn)SPI状态寄存器(S...
2020-04-18 09:11:58 633
原创 ARM9嵌入式Linux开发-I2C接口
目录1 I2C协议1.1 简介1.2.信号类型①开始信号(S)②结束信号(P)③响应信号(ACK)1.3 数据传输格式2.1 I2C总线控制器介绍2.2寄存器设置简介IICCON寄存器IICSTAT寄存器IICADD寄存器IICDS寄存器2.3 S3C2440 I2C总线操作方法2.3.1.启动或者恢复I2C传输2.3.2....
2020-04-12 11:31:54 427
原创 ARM9嵌入式Linux开发-通用异步收发器UART
目录1Uart原理1.1简介1.2数据传输流程2、S3C2440的UART2.1特性2.2寄存器设置1)UART通道管脚设为UART功能2)UBRDIVn寄存器:设置波特率3)ULCONn寄存器:设置传输格式4)UCONn寄存器5)UFCONn寄存器、UFSTATn寄存器6)UMCONn寄存器、UMSTATn寄存器7)UTRSTATn...
2020-04-05 16:15:59 360
原创 ARM9嵌入式Linux开发-系统时钟和定时器
1S3C2440时钟体系1.1 简介s3c2440的时钟控制逻辑既可以外接晶振,然后通过内部电路产生时钟源,也可以直接外接提供的时钟源,它们通过引脚的设置来选择。时钟控制逻辑给整个芯片提供3种时钟:FCLK用于CPU核心,HCLK用于AHB总线上的设备,比如CPU核、存储控制器、中断控制器、LCD控制器、DMA和USB主机模块等,PCLK用于APB总线上的设备,比如watchdog、II...
2020-03-29 07:22:21 753
原创 ARM9嵌入式Linux开发-中断控制器
目录1 S3C2440中断体系结构1.1 ARM体系CPU的7种工作模式1.2 ARM体系的CPU有以下两个工作状态1.3ARM状态下各工作模式的寄存器1.4 总结2 S3C2440中断控制器2.1查询方式2.2中断方式2.3 S3C2440的中断控制器结构2.4中断产生流程2.5中断步骤2.6 中断寄存器设置1)SUBSRCPND寄存器...
2020-03-22 14:05:00 427
原创 ARM9嵌入式Linux开发-NADN FLASH控制器
目录1 NAND FLASH1.1Flash简介1.2NOR与NAND的区别1)性能比较2)接口差别3)容量和成本1.3NAND FLAHS(K9F2G08UXA)的物理构成1.4 NAND FLAHS(K9F2G08UXA)的结构框图1.5 NAND FLAHS(K9F2G08UXA)存储单元组织结构图1.6 NAND FLAHS(K9F2G08UXA)...
2020-03-15 08:04:57 439
原创 ARM9嵌入式Linux开发-内存管理单元MMU
内存管理单元(Memory ManagerUnit)简称MMU,它负责将虚拟地址转换成物理地址,然后传给存储管理器进行寻址。现代的多用户多进程操作系统通过MMU使各个用户进程都有自己的独立的地址空间:地址映射功能功能使的个进程拥有“看起来”一样的地址空间,而内存访问权限的检查可以保护每个进程所用的内存不会被其他进程破坏。举一个现实生活中的例子:甲同学(进程甲)去一个图书管理员那儿去借名为“...
2020-03-08 08:40:57 498
原创 ARM9嵌入式Linux开发-存储控制器
目录1.硬件简介2 S3C2440的地址空间分布2.1存储控制器的地址空间分布2.2特殊功能寄存器地址分布3使用存储控制器访问外设的原理4 SDRAM简介4.1SDRAM4.2SDRAM与CPU的相连5 存储控制器的寄存器的配置1)位宽和等待控制寄存器BWSCON2)BANK控制寄存器BANKCONx(x为0-5)3)BANK控制寄存器BANKCON...
2020-03-01 22:53:22 550
原创 ARM9嵌入式Linux开发-ARM汇编程序设计基础
目录1.1 ARM源文件格式1.2 ARM指令集1.2.1跳转指令1.2.2数据处理指令1.2.3程序状态寄存器处理指令1.2.4批量数据加载/存储指令1.2.5协处理器指令1.3 ARM汇编规范1.3.1 ARM汇编语句格式1.3.2ARM汇编中的常用符号1.3.3汇编语言程序中的表达式和运算符1.4 ARM汇编语言的程序结构1.5 ARM汇编...
2020-02-11 11:23:04 634
原创 ARM9嵌入式Linux开发-嵌入式Linux开发环境构建
目录1、嵌入式Linux开发简介1.1嵌入式系统1.2嵌入式操作系统简介1.2.1嵌入式操作系统的发展1.2.2几种代表性嵌入式操作系统1.3嵌入式Linux简介2、搭建嵌入式Linux开发环境2.1基本概念主机系统和目标系统交叉编译2.2软件安装及使用3、基本的Makefile语法3.1最基本的Makefile文件3.2MakeFile简介...
2020-02-05 22:18:01 950 3
原创 ARM9嵌入式Linux开发-开篇
将自己之前学习嵌入式开发的一些资料整理出来。这些文章适合入门,文章中涉及的一些工具比较老(暂时不去更新了),但不影响对嵌入式开发技术本质的思考和理解。博主目前的工作主要系统框架和中间件的开发,感兴趣的朋友可以一起进行讨论和交流。当今社会,嵌入式系统已经渗透到人们工作、生活中的各个领域。而嵌入式Linux系统也蓬勃发展,不仅继承了Linux源码开放、内核稳定高效、软件丰富等优势,...
2020-02-03 13:35:47 882 2
原创 C语言中以字符串形式输出枚举变量
每个枚举常量对应一个整形数字,很多时候可以像整形一样使用.但枚举类型也有不方便的地方.比如不能直接输出枚举类型的字符串常量.举例说明.定义了枚举类型:typedef enum { SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY} t_Week;在程序中定义了变量t_Week vl_Week=S...
2020-01-31 23:43:07 9759 2
原创 同时执行多条AT命令
最近在整理通信摸的框架,无意中发现了一个很有意思的东西.分析RIL的代码,发现有这样一个命令"ATE0Q0V1",查找资料发现这是执行了三个命令:ATE0+ATQ0+ATV1.这些命令的详细解释如下:ATE0:不回显字符.ATE1:回显字符.ATQ0:返回结果码.ATQ1:不返回结果吗.ATV0:返回数字码.ATV1:返回文字码. 如果能同时执行多个复杂的命令,则可以简化模块的初始化步
2016-11-26 20:32:49 9719
原创 IMEI,IMSI和ICCID
IMEI,IMSI和ICCID IMEI(International Mobile Equipment Identity)是国际移动设备身份码的缩写,国际移动装备辨识码,是由15位数字组成的"电子串号",它与每台手机一一对应,而且该码是全世界唯一的.每一部手机在组装完成后都将被赋予一个全球唯一的一组号码,这个号码从生产到交付使用都将被制造生产的厂商所记录.手机用户可以在手机中查到自
2016-10-31 21:11:01 15586 2
原创 软件架构之分层模式(Layered Architecture)
分层模式是最通用的架构,也被叫做N层架构模式(n-tier architecture pattern).这也是Java EE应用经常采用的标准模式.基本上都知道它.这种架构模式非常适合传统的IT通信和组织结构,很自然地成为大部分应用的第一架构选择.
2016-09-18 00:53:36 22671
原创 AT命令和PIN码
AT命令和PIN码1.AT+CLCK="SC",1,"1234" 设置PIN码为12342.AT+CLCK="SC",2 查询是否设置了PIN码3.AT+CLCK="SC",0,"1234" 取消PIN码4.AT+CPWD="SC","1234","4321" 修改PIN码5.AT+CPIN? 查询PIN码的状态,是否需要输入PIN码6.AT+CPIN="1234" 输入P
2015-03-28 16:04:43 23175
原创 ARM连接器错误一则
Error: L6915E: Library reports error: scatter-load file declares no heap or stack regions and __user
2014-11-18 15:32:05 12114
原创 计算IMEI号的校验位
计算IMEI号的校验位 移动设备国际识别码(IMEI:International Mobile Equipment Identification Number)是区别移动设备的标志,具有唯一性,贴在手机背面的标志上,并且储存在移动设备中,可用于监控被窃或无效的移动设备,它也是该手机在厂家的"档案"和"身份证号".IMEI码由GSM(全球移动通信协会)统一分配,授权BABT(英国通信认证
2014-10-14 19:34:56 14601 1
原创 C语言中的static变量
C语言中的static变量 C语言中的static变量存储在静态数据区,在程序刚开始运行时就完成初始化,也是唯一的一次初始化.共有两种变量存储在静态存储区:全局变量和static变量,只不过和全局变量比起来,static可以控制变量的可见范围.此外,在静态数据区,内存中所有的字节默认值都是0x00,某些时候这一特点可以减少程序员的工作量,但还是建议显式的进行赋值.
2014-08-24 10:39:10 10566
原创 如何判断字符串是否包含重复字符
如何判断字符串是否包含重复字符问题:实现一个算法来判断一个字符串中的字符是否唯一(即没有重复).不能使用额外的数据结构.(即只使用基本的数据结构)解答:若字符为ASCII字符集合.则一个时间复杂度为O(n)的解法如下:我们还可以通过位运算来减少空间的使用量.用每一位表征相应位置字符的出现.对于ASCII字符,我们需要256位,即一个长度为8的int 数组a即可.这里的关键是要把字符对应的数字,映射
2014-08-24 10:02:23 17917
原创 控制台重定向stdout & stderr
控制台重定向stdout & stderr 通常,从一个控制台(命令提示符)应用程序或命令的输出将发送到两个单独的流。在常规的输出发送到标准出 (stdout) 并将错误消息发送到标准错误 (stderr)。当你重定向控制台输出使用">"符号,只重定向标准输出。要重定向stderr,必须指定"2 >"的重定向符号。这将选择第二个输出流stderr。示例$ kill -HUP 1234 >killo
2014-07-30 16:06:24 13047
原创 Linux守护进程简介和实例详解
守护进程(Daemon)是运行在后台的一种特殊进程.它独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件.守护进程是一种很有用的进程.Linux的大多数服务器就是用守护进程实现的.比如,Internet服务器inetd,Web服务器httpd等.同时,守护进程完成许多系统任务.比如,作业规划进程crond,打印进程lpd等.
2014-07-30 16:02:32 14855 1
原创 pointless comparison of unsigned integer with zero
warning: #186-D: pointless comparison of unsigned integer with zero 解释:无符号整形和0的无意义比较 影响:一个潜在的问题,判断无符号数大于等于0。由于无符号数没有负数,这种判断恒为真。
2014-07-11 12:57:51 62700
原创 GSM系统中的CS和PS
GSM系统中的CS和PS核心网络分为CS域和PS域。CS域以原有的GSM网络为基础,PS域以原有的GPRS网络为基础。CS域:用于向用户提供电路型业务的连接,实现方式包括TDM方式和ATM方式。它包括MSC/VLR、GMSC等交换实体以及用于与其它网络互通的IWF(InterWorking Function)实体等。MSC/VLR/GMSC可以合设.PS域:用于向用户提供分组型业务的连接,实现方式
2014-07-04 08:50:43 13615 3
原创 SIM卡卡号ICCID号的含义
SIM卡卡号ICCID号的含义ICCID:Integrate circuit card identity集成电路卡识别码(固化在手机SIM卡中)ICCID为IC卡的唯一识别号码,共有20位数字组成.前面6位为网络代号:898600是中国移动的代号;898601是中国联通的代号;898603是中国电信的代号;第7位是业务接入号:在133,135,136,137,138,139中分别为1,5,6,7,
2014-06-22 16:34:50 39432 1
原创 AT命令之ATD
AT命令之ATD拨号命令。这个命令用来设置通话、数据或传真呼叫。如果没有拨号音,NO DIALTONE;如果线路忙,BUSY;如果连接无法被建立,NO CARRIER;如果连接成功,OK+拨通的手机号码。用“ATD10086;+回车换行”命令来实现呼叫。ATD号码后面加;表示这是一个语音呼叫,而不加分号表示是一个数据呼叫。
2014-06-21 16:33:04 22005 7
原创 #line的作用
#line指令改变_ _ _LINE_ _ _和_ _ _FILE_ _ _的内容。_ _ _LINE_ _ _和_ _ _FILE_ _ _都是编译程序中预定义的标识符。标识符_ _ _LINE_ _ _的内容是当前被编译代码行的行号,_ _ _FILE_ _ _的内容是当前被编译源文件的文件名。#line的一般形式是: #line number"filename"其中,number是
2014-06-06 11:15:21 6137
原创 linux中关于标准输入中涉及EOF的处理方式
linux中关于标准输入中涉及EOF的处理方式 标准输入设备是行缓冲的,当从键盘上输入字符串,输入的字符串会首先被送到输入缓冲区中存储,当铵下回车键后才会去检测输入缓冲区中是否有了数据(也就是说fgets,fgetchar等函数这个时候才去从缓冲区中读数据).我们可以把输入缓冲区理解为文件,那么对于这个文件来说,它也有结束的时候,输入函数在从缓冲区中读文件的时候也会去检测有没有流结束标志(EOF)
2014-05-30 09:25:01 7731
原创 PCM文件格式简介
PCM文件格式简介 PCM文件:模拟音频信号经模数转换(A/D变换)直接形成的二进制序列,该文件没有附加的文件头和文件结束标志。Windows的Convert工具可以把PCM音频格式的文件转换成Microsoft的WAV格式的文件。 将音频数字化,其实就是将声音数字化。最常见的方式是透过脉冲编码调制PCM(Pulse Code Modulation) 。运作原理如下:首先
2014-05-30 09:23:31 12412
原创 AMR音频文件格式分析
AMR音频文件格式分析1 概述 现在很多智能手机都支持多媒体功能,特别是音频和视频播放功能,而AMR文件格式是手机端普遍支持的音频文件格式.AMR,全称是:Adaptive Multi-Rate,自适应多速率,是一种音频编码文件格式,专用于有效地压缩语音频率. AMR音频主要用于移动设备的音频压缩,压缩比非常高,但是音质比较差,主要用于语音类的音频压缩,不适合对音质要求较高的音乐类音频的压缩.2
2014-05-16 17:21:19 9391
dlt-viewer_2.20.0
2020-09-21
ARM9嵌入式Linux开发-LCD
2020-04-26
adc_ts.rar
2020-04-26
ARM9嵌入式Linux开发-I2C接口
2020-04-05
ARM9嵌入式Linux开发-通用异步收发器UART
2020-04-05
ARM9嵌入式Linux开发-系统时钟和定时器
2020-03-29
ARM9嵌入式系统学习-中断体系结构
2020-03-22
ARM9嵌入式系统学习-NADN FLASH控制器源码
2020-03-15
linux下多线程文件服务器
2013-12-24
GeekOSproject3
2013-03-20
arm栈帧回溯
2013-02-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人