10 求佛_ce123

尚未进行身份认证

我要认证

专注于嵌入式软件开发

等级
TA的排名 297

ARM9嵌入式Linux开发-嵌入式GUI开发

GUI的一般架构图形用户界面GUI(Graphics User Interface)是迄今为止计算机系统中最为成熟的人机交互技术。一个好的图形用户界面的设计不仅要考虑到具体硬件环境的限制,而且还要考虑到用户的喜好等。由于图形用户界面的引入主要是从用户角度出发的,因此用户自身的主观感受对图形用户界面的评价占了很大比重,比如,易用性、直观性、友好性,等等。另外,从纯技术的角度看,仍然也会有一些标准需要考虑,比如,跨平台性、对硬件的要求等。在嵌入式系统开发和应用中,我们所考虑的问题主要集中在图形用户界面对

2020-08-09 23:17:27

ARM9嵌入式Linux开发-FrameBuff和LCD驱动移植

FrameBuffFrameBuffer介绍FrameBuffer直译就是,帧缓冲。 Frame(帧):所看到的屏幕上的图像,或者在一个窗口中的图像,就叫一帧。 Buffer(缓冲):一段RAM,用来暂存图像数据,这些数据会被直接写入到显示设备。 帧缓冲就相当于图形操作和图像输出中间的一个介质,将程序对图形数据的处理操作反馈到显示输出上。LCDC是将系统需要显示的数据经过处理后输出到LCD显示驱动器的液晶显示控制模块 ,在用户初始化配置后,LCDC将自动进行读取数据、缓存数据、处理

2020-08-02 17:04:18

ARM9嵌入式Linux开发-内存与IO操作

Linux内存管理地址类型用户虚拟地址用户空间程序所能看到的常规地址 每个进程都有自己的虚拟地址空间物理地址CPU使用的是物理地址,在CPU的地址信号线上产生的就是物理地址。总线地址总线地址,顾名思义,是与总线相关的,就是总线的地址线或在地址周期上产生的信号。外设使用的是总线地址。基于DMA的硬件使用总线地址而非物理地址。该地址在外围总线和内存之间使用 它实现总线和主内存之间的重新映射 通常它们与处理器使用的物理地址相同Linux采用虚拟内存管理技术,使得每个进程都

2020-07-26 21:45:48

ARM9嵌入式Linux开发-Linux设备驱动的IO操作

字符设备的I/O模型一个字符设备的主要功能是用来实现I/O操作,反映到应用程序中就是进行读/写等相关的操作。在对一个设备进行读写操作时,由于设备在实际的操作中响应速速各不相同,因此数据并不总是在任何时候都可用:对于读操作来说,也许请求的数据还没有到达设备的缓冲区; 对于写操作来说,应用层传递过来的数据也许不能一下子全部放进设备的缓冲区。此时对读写操作来说,要么放弃等待直到返回一个错误码给上层,要么让发起读写操作的进程进入等待状态直到数据可用为止。根据不用的需求和使用场景,Linux内核支持几

2020-07-19 08:07:00

ARM9嵌入式Linux开发-并发控制、中断处理

并发控制并态、竞态和临界区并发(concurrency)指的是多个执行单元同时、并行被执行。 并发的执行单元对共享资源(硬件资源、全局变量、静态变量等)的访问很容易导致竞态(race condition)。 访问共享资源的代码区域成为临界区(critical sections),临界区必须用某种互斥机制加以保护。 造成竞态的主要原因: 对称多处理器(SMP) (SMP是一个紧耦合、共享存储的系统模型。特点是多个CPU使用共同的系统总线,可以访问共同的外设和存储器。) 进程调度与抢占(Li

2020-07-12 07:52:53

ARM9嵌入式Linux开发-Linux设备管理和驱动开发基础

设备驱动概述Linux设备分类Linux系统的设备分为三类:字符设备、块设备和网络设备: (1)字符设备通常指像普通文件或字节流一样,以字节为单位输入输出数据的设备,如并口设备、虚拟控制台等。字符设备可以通过设备文件节点访问,它与普通文件之间的区别在于普通文件可以被随机访问(可以前后移动访问指针),而大多数字符设备只能提供顺序访问,因为对它们的访问不会被系统所缓存。但也有例外,例如帧缓存(FrameBuffer)是一个可以被随机访问的字符设备。(2)块设备通常指一些需要以块为单位随机读..

2020-07-05 06:50:51

ARM9嵌入式Linux开发-构建嵌入式Linux根文件系统

安装BusyBox在主机上新建一个目录,比如myroot,用于存放开发板的根文件系统。编译安装后BusyBox,将其中_install中的bin、sbin目录和linuxrc复制到myroot中。linuxrc、bin和sbin中所有命令都是bin/BusyBox的符号链接。构建etc目录init进程根据/etc/inittab文件创建其他子进程,比如调用脚本文件配置IP地址,挂载其他文件系统,启动shell和应用程序等。 etc目录中的文件主要取决于要运行的程序,在本文章中是创...

2020-06-28 22:43:27

ARM9嵌入式Linux开发-嵌入式Linux根文件系统概述

Linux中一切皆文件! 是指:在Linux系统中,各个部分都可把它看成是一个文件,包括了所有的硬盘分区、目录、软盘、CD-ROM光盘和其他存储介质,以及显示器和打印机等硬件设备都可被看成一个文件。 从本质上而言,用户的一切工作就是对文件的操作。嵌入式Linux文件系统嵌入式文件系统的需求分析文件系统是指在一个物理设备上的任何文件组织和目录,它构成了Linux系统上所有数据的基础,Linux程序、库、系统文件和用户文件都驻留其中,并向用户或程序提供一个使用文件的统一界面,从而能...

2020-06-20 16:28:12

ARM9嵌入式Linux开发-基于S3C2440的Linux内核移植

概述所谓移植就是把程序代码从一种运行环境转移到另外一种运行环境,主要是从一种硬件平台转移到另外一种硬件平台上。由于开发板硬件的变化,内核移植是嵌入式linux系统中最常见的一项工作。内核移植主要是修改跟硬件平台相关的代码,添加驱动,一般不涉及linux内核通用的程序。和体系结构相关的代码在arch目录下按照不同的体系结构管理。移植Linux内核需要熟悉内核的目录结构、启动流程以及裁剪、配置并编译内核的方法,最终将编译好的内核下载到开发板上运行起来。将Linux运行在S3C2440上,即称为Lin

2020-06-13 19:13:39

ARM9嵌入式Linux开发-基于S3C2440的Linux启动概述

架构/开发板相关的引导过程我们要将Linux内核移植到S3C2440(arm9)平台上,和移植U-Boot一样,在移植Linux内核之前,我们先了解Linux内核的启动过程,我们这里以S3C2440平台为例。 典型的内核映像是zImage,包含自引导程序和压缩的vmlinux两部分。启动过程也就是解压和启动vmlinux的过程。我们主要讲解vmlinux的启动过程。对于其他格式的内核,比如zImage、bzImage等,它们都要进行自解压得到vmlinux,然后执行vmlinux的启动过程。...

2020-06-07 17:22:40

ARM9嵌入式Linux开发-Linux基础知识

目录1 Linux简介1.1 Linux的内核版本1.2 Linux的发展历史1.3 Linux的发行版本1.4 Linux内核源码目录结构2 Linux内核的配置和编译2.1 Linux的配置2.2 Linux内核的编译2.2.1 Linux的Makefile体系2.2.2 Linux内核文件编译2.2.3 Makefile如何决定编译哪些文件2.3.4 Makefile是怎样编译这些文件的?2.3.5 Makefile是怎样连接这些文件2...

2020-05-31 07:11:19

ARM9嵌入式Linux开发-U-Boot移植

1 为什么需要对U-Boot做移植BootLoader依赖于具体的嵌入式板级设备的配置。每种不同的CPU体系结构都有不同的BootLoader。除了依赖于CPU的体系结构外,BootLoader 还依赖于具体的嵌入式板级设备的配置,比如板卡的硬件地址分配,外设芯片的类型等。这也就是说,对于两块不同的开发板而言,即使它们是基于同一种CPU而构建的,但如果他们的硬件资源或配置不一致的话,要想在一块开发板上运行的BootLoader程序也能在另一块板子上运行,还是需要作修改。2 移植关键技术2.1 U

2020-05-24 07:16:32

ARM9嵌入式Linux开发-U-Boot分析

目录1 再讲系统启动与BootLoader2 U-Boot简介3 U-Boot代码分析3.1 获取U-Boot源码3.2 U-Boot源码结构3.3 U-Boot配置3.4 U-Boot编译3.5 U-Boot连接3.5.1 lds文件简介3.5.2 U-Boot.lds的分析3.6 U-Boot启动过程源码分析4 U-Boot引导操作系统分析4.1 U-Boot命令的基本格式和执行过程4.2引导Linux4.2.1 mkimage简介4.2.

2020-05-17 16:30:17

ARM9嵌入式Linux开发-嵌入式系统的Boot Loader技术

ARM9嵌入式系统学习

2020-05-10 06:23:54

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

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

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

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

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

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

查看更多

勋章 我的勋章
  • GitHub
    GitHub
    绑定GitHub第三方账户获取
  • 签到王者
    签到王者
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 技术圈认证
    技术圈认证
    用户完成年度认证,即可获得
  • 阅读者勋章Lv2
    阅读者勋章Lv2
    授予在CSDN APP累计阅读博文达到7天的你,是你的坚持与努力,使你超越了昨天的自己。
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 学习力
    学习力
    《原力计划【第二季】》第一期主题勋章 ,第一期活动已经结束啦,小伙伴们可以去参加第二期打卡挑战活动获取更多勋章哦。
  • 原力新人
    原力新人
    在《原力计划【第二季】》打卡挑战活动中,成功参与本活动并发布一篇原创文章的博主,即可获得此勋章。
  • 分享宗师
    分享宗师
    成功上传21个资源即可获取