- 博客(15)
- 收藏
- 关注
转载 arm交叉编译器gnueabi、none-eabi、arm-eabi、gnueabihf等的区别
命名规则:交叉编译工具链的命名规则为:arch [-vendor] [-os] [-(gnu)eabi]arch - 体系架构,如ARM,MIPSverdor - 工具链提供商os - 目标操作系统eabi - 嵌入式应用二进制接口根据对操作系统的支持与否,ARM GCC可分为支持和不支持操作系统,如arm-none-eabi:这个是没有操作系统的,自然不可能支持那
2017-10-27 20:12:45 612
转载 Linux 开发环境搭建与使用——Linux 编译器之 GCC
编辑器是指我用它来写程序的(编辑代码),而我们写的代码语句,电脑是不懂的,我们需要把它转成电脑能懂的语句,编译器就是这样的转化工具。就是说,我们用编辑器编写程序,由编译器编译后才可以运行!编译器是将易于编写、阅读和维护的高级计算机语言翻译为计算机能解读、运行的低级机器语言的程序。GCC(GNU Compiler Collection,GNU 编译器套件),是由 GN
2017-10-27 20:11:38 940
转载 构建ARM Linux交叉编译工具链 详解
该文章转载于:http://blog.163.com/linan_6688_cool/blog/static/111774958200932963248316/本章学习目标: ● 了解交叉编译工具链 ● 理解分步构建交叉编译工具链的方法 ● 学会使用Crosstool工具构建交叉编译工具链2.1 交叉编译工具链介绍读者可能会有疑问,为什么要用交叉编译器?交叉
2017-10-27 20:10:12 2001
转载 动手写 framebuffer 画点、划线程序
#include unistd.h>#include stdio.h>#include fcntl.h>#include linux/fb.h>#include sys/mman.h>typedef struct fbdev{ int fdfd;//open"dev/fb0" struct fb_var_screeninfo
2017-10-27 15:58:48 2051
转载 /dev/fb0入门练习
大家都知道Unix/Linux系统是由命令驱动的。那么最基本的系统是命令行的(就是想DOS一样的界面)。X-Window-System是Unix/Linux上的图形系统,它是通过X-Server来控制硬件的。但有一些Linux的发行版在引导的时候就会在屏幕上出现图形,这时的图形是不可能由X来完成的,那是什么机制呢?答案是FrameBuffer。FrameBuffer不是一个图形系统,更
2017-10-27 15:57:28 812
转载 LCD设备驱动
18.1 LCD硬件原理利用液晶制成的显示器称为LCD,依据驱动方式可分为静态驱动\简单矩阵驱动以及主动矩阵驱动3种.其中,简单矩阵型又可再细分扭转向列型(TN)和超扭转向列型(STN)两种,而主动矩阵型则以薄膜式晶体管型(TFT)为主流。 18.2帧缓冲18.2.1概念帧缓冲(framebuffer)是Linux为显示设备提供的一个接口,是把显存抽象后的一种设
2017-10-24 19:43:09 296
转载 fb_var_screeninfo解析
struct fb_var_screeninfo {__u32 xres; /* visible resolution横像素 */__u32 yres; //竖像素__u32 xres_virtual; /* virtual resolution */__u32 yres_virtual;__u32 xoffset; /* offset from virtual t
2017-10-24 19:11:27 454
转载 linux之getopt 函数
命令行参数解析函数 —— getopt()getopt()函数声明如下:#include int getopt(int argc, char * const argv[], const char *optstring);extern char *optarg;extern int optind, opterr, optopt;该函
2017-10-23 18:51:08 144
转载 C语言的指定初始化
指定初始化来看看内核用到的指定初始化代码在看linux内核源码时,在源码中遇到结构体和数组的一种特殊的初始化方法,叫做指定初始化(Designated Initializers),指的是可以对数组中的某些元素或结构体变量中的某些成员以任意的顺序进行选择性的初始化。如:在linux-3.0.85/arch/arm/mach-s5pv210/mach-smdkv210.c中
2017-10-20 16:14:41 1835
转载 linux下的线程的创建退出及回收
1.线程相关的概念:程序:二进制程序放置在存储媒介中(硬盘,光盘,软盘等)以物理文件形式存在。进程:程序被触发后,执行者的权限与属性,程序的程序代码与所需数据等都会被加载到内存中,操作系统并给与这个内存内的单元一个标识符(PID),可以说,进程就是一个正在运行中的程序。线程:线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的
2017-10-20 10:21:54 9157
转载 线程同步之信号量(sem_init,sem_post,sem_wait)
信号量和互斥锁(mutex)的区别:互斥锁只允许一个线程进入临界区,而信号量允许多个线程同时进入临界区。不多做解释,要使用信号量同步,需要包含头文件semaphore.h。主要用到的函数:int sem_init(sem_t *sem, int pshared, unsigned int value);,其中sem是要初始化的信号量,pshared表示此信号量是在进
2017-10-18 20:06:42 585
转载 格式化I/O(常用的 sprintf 和 sscanf 总结)
1.格式化输出#include int printf(const char *restrict format, ...);int fprintf(FILE *restrict fp, const char *restrict format, ...);int dprintf(int fd, const char *restrict format, ...);int sprint
2017-10-18 19:50:16 401
转载 Linux串口编程
.串口概述 常见数据通信方式:并行通信,串行通信 UART的主要操作: >数据发送及接受 >产生中断 >产生波特率 >Loopback模式 >红外模式 >自动流控模式 串口参数的配置主要包括:波特率、数据位、停止位、流控协议。 linux中的串口设备文件放于/de/目录下,串口一,串口二分别为"/dev/ttyS0","/dev
2017-10-17 23:16:00 130
转载 [整理]GPS数据包解析
GPS数据包解析GPS 上电后,每隔一定的时间就会返回一定格式的数据,数据格式为:$信息类型,x,x,x,x,x,x,x,x,x,x,x,x,x每行开头的字符都是‘$’,接着是信息类型,后面是数据,以逗号分隔开。一行完整的数据如下:$GPRMC,080655.00,A,4546.40891,N,12639.65641,E,1.045,328.42,170809,,,A*60信息
2017-10-17 23:14:30 539
转载 嵌入式系统上实现GPS全球定位功能
GPS(Global Positioning System)即全球定位系统,是由美国建立的一个卫星导航定位系统,利用该系统,用户可以在全球范围内实现全天候、连续、实时的三维导航定位和测速;另外,利用该系统,用户还能够进行高精度的时间传递和高精度的精密定位,通过GPS系统可以实现跟踪定位、防盗、里程统计、汽车导航、电子地图等等现实生活不可或缺的功能。本文着眼于在嵌入式linux系统上GPS功能的实现
2017-10-17 22:39:24 959
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人