自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(115)
  • 资源 (6)
  • 收藏
  • 关注

转载 /proc/version 的生成过程

/proc/version 的生成过程通常我们cat /proc/version时,会显示kernel相关的版本、编译等信息那么问题来了,这些信息是怎么生成的呢?/proc/version文件是在kernel fs/proc/version.c 中生成#include <linux/fs.h> #include <linux/init.h> .

2022-04-29 10:55:13 739

转载 嵌入式LINUX无法显示中文问题

原文链接:嵌入式linux无法显示中文问题 - 灰信网(软件开发博客聚合)1. 前言网上关于嵌入式linux无法显示中文问题的文章很多,但又没有彻底的解决我的问题,甚是纠结啊...具体不支持的原因是busybox1.17.0之后的版本,shell命令行对中文输入及显示做了强制限制,所以即使内核设置了对中文的支持,但在shell下依然无法显示中文。2. 问题现象挂载U盘后,U盘内部为中文的目录和文件分别显示?????针对此种问题需修改如下:a. 去掉文件系统对中文的限制b.

2022-04-13 10:06:30 889

转载 Debian开机屏幕自动旋转(LXDE)& 双屏显示

https://blog.csdn.net/WXXGoodJob/article/details/94722872一、界面的方法设置点击左下角,Preferences --> Default applications for LXSession --> Autostart --> Add然后在Add 那里添加需要添加的命令,如"xrandr -o left"二、终端命令方法设置下面我们先看通过界面设置的方法设置之后,/home/linaro/ .config/l

2022-01-04 11:52:05 1503

转载 Android 7.1 打开app的 “充许出现在其他应用上“的 权限

https://blog.csdn.net/ansondroider/article/details/106758688平台RK3288 + Android 7.1需求在高版本的SDK中, 第三方应用申请悬浮窗的权限受到了过一步的限制.除了要在应用中声明对权限的申请:<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>还需要打开设置中的权限:应用可以通过代码检测权

2021-06-29 18:32:05 4296

转载 Android 7.0 运行时权限弹窗问题的解决(转)

https://cloud.tencent.com/developer/article/1720047Android 7.0系统在运行应用的时候,对权限做了诸多限制,normal, dangerous, signature, signatureOrSystem ,取决于保护级别,在确定是否授予权限时,系统可能采取不同的操作。normal 表示权限是低风险的,不会对系统、用户或其他应用程序造成危害; dangerous 表示权限是高风险的,系统将可能要求用户输入相关信息,才会授予此权限; s.

2021-06-23 10:41:39 713

转载 安装tslib中遇到的错误:./autogen.sh: 4: autoreconf: not found

./autogen.sh: 4: autoreconf: not found是在不同版本的 tslib 下执行 autogen.sh 产生。它们产生的原因一样,是因为没有安装automake 工具, (ubuntu 8.04)用下面的命令安装好就可以了。sudo apt-get install autoconf automake libtool

2014-04-18 14:12:31 774

原创 U-boot常用命令

说明:只供学习交流 一,环境变量相关命令(1):printenv或print:打印环境变量。可以打印全部环境变量,也可以打印列出的环境变量。例如:print 打印全部环境变量,print ipaddr 只打印ip。 (2):setenv或 set:设置环境变量。用法:setenv name value setenv name ,比如:添加环境变量file并设置为1,

2013-07-22 18:20:31 953

原创 u-boot简介

说明:只供学习交流 一,uboot简介Uboot是德国DENX小组的开发用于多种嵌入式CPU的bootloader程序,uboot不仅支持嵌入式Linux系统的引导,当前还支持NetBSD,VxWorks, QNX,RTEMS,ARTOS,LynxOS嵌入式操作系统。Uboot除了支持PowerPC系列的处理器外,还能支持MIPS,X86,ARM,NIOS,XScale等诸多常用系

2013-07-22 18:18:07 1173

原创 交叉编译工具链的安装与使用

说明:只供学习交流 一,交叉编译工具链的概念在嵌入式开发过程中,有宿主机和目标机之分。宿主机:宿主机是执行编译、链接嵌入式软件的计算机。目标机:目标机是运行嵌入式软件的硬件平台。而在宿主机上进行预处理、编译、汇编、链接等工作的一系列工具称为交叉编译工具链。  二,安装交叉编译工具链(1):将压缩包解压到根目录,使用命令tar –zxf arm-linux

2013-07-21 08:34:24 4121 1

原创 Bootloader简介

说明:只供学习交流 一,Bootloader的概念系统上电之后,需要一段程序来进行初始化。比如:关闭WATCHDOG、改变系统时钟、初始化存储器控制器、将更多的代码复制到内存中等。如果它能将操作系统内核复制到内存中运行,无论从本地(比如Flash)还是从远端(比如通过网络),就称这段程序为Bootloader。简单地说,Bootloader就是那么一小段程序,它在系统上电时开始执行,,

2013-07-19 09:19:17 1605 1

原创 内核模块开发基础

说明:只供学习交流 一,什么是内核模块Linux内核的整体结构非常庞大,其包含的组件也非常多,如何使用需要的组件呢:方法一:把所有的组件都编译进内核文件,即:zImage或bzImage,但这样会导致两个问题:一是生成的内核文件过大;二是如果要添加或删除某个组件,需要重新编译整个内核。 有没有一种机制能让内核文件(zImage或bzImage)本身并不包含某组件,而是在该组

2013-07-18 09:39:06 1797 1

原创 grub配置文件grub.conf详细说明

说明:只供学习交流   default行,是指grub启动时默认菜单项。0表示第一项,如果是多系统可以修改此选项改变默认光标停留位置。 timeout行,是指菜单到自动启动系统前的停留时间,单位时间为sec,可以按需分配。 splashimage行,指定启动菜单的背景图标,图片格式应该是xpm图像。 hiddenmenu行,用于启动时隐藏菜单,除非在ti

2013-07-16 14:10:41 4339 2

原创 Linux内核的配置与编译(X86平台)

说明:只供学习交流  目的:(1):配置、编译X86平台下的Linux-2.6.29内核(2):在vmware下安装编译好的内核并启动 工具:Gcc编译器, Linux-2.6.29内核 步骤:(一):清除临时文件,中间文件和配置文件等(刚从网上下载下来的文件这步可省略)。makeclean删除大多数的由编译生成的文件、但会保留内核的配置文件.c

2013-07-14 21:14:05 1439

原创 Linux内核源代码

说明:只供学习交流 一,目录结构Linux内核源代码采用树形结构进行组织,非常合理地把功能相关的文件都放在同一个子目录下,使得程序更具有可读性。 二,目录结构 arch目录arch是architecture的缩写。内核所支持的每种CPU体系,在该目录下都有对应的子目录。每个CPU的子目录,又进一步分解为boot,mm,kernel等子目录,分别包含控制系统引导,

2013-07-13 19:02:30 1152

原创 Linux内核简介

说明:只供学习交流 一,Linux体系结构如果有人问你,Linux系统是如何构成的?只要把下面这幅图说给他听,就OK 从图上我们可以知道,Linux系统是由用户空间和内核空间两部分组成,之所以将Linux系统划分为用户空间和内核空间很大一部分原因是为了安全着想。Linux简化了分段机制,使得虚拟地址与线性地址总是一致,因此,Linux的虚拟地址空间也为0~4G。Linu

2013-07-13 17:17:32 1721 1

转载 信号系统与数字信号处理一点点心得

为什么要进行傅里叶变换,为什么要讲线性时不变系统为什么h(t)就能表征一个系统什么是因果系统跟h(t)有什么联系,为什么有联系什么是稳定系统跟h(t)有什么联系,为什么有联系什么是滤波器拉普拉斯变换又是怎么回事拉普拉是的零极点图为什么能分析系统的特性(Z变换的同样)Z变换到底是想干什么这些变换在实际中怎么应用的(最困惑的)相位到底是什么?序列的傅里叶变换

2013-06-22 16:00:31 10338

转载 Dev C++中的错误的解决[Linker error] undefined reference to `__cpu_features_init' -chu

原文链接:http://hi.baidu.com/dannie007zxl/item/75c4f728ac448381af48f53d 解决NOIP环境GUIDE和Dev之间的并存问题。装上了NOIP的测试环境GUIDE后,想再用之前的Dev c++的编译器的时候,发现编译的时候出现问题,无法找到编译连接的库。错误信息如下:[Linker error] undefined

2013-06-16 21:35:28 3487

原创 Qt程序开发方法和流程

说明:只供学习交流,转载请注明出处 一,开发方法在开发Qt4应用程序时,有几种常见的做法。1.全部采用手写代码,在命令行下完成编译和运行这种方式是最基础、最基本的,使用它的感觉有点像练武术时的扎马步,一招一式非常清楚。它最锻炼开发者的技能,因为每一步都不能含糊,开发者需要对编译系统、Qt基础知识有着非常扎实的了解。笔者熟知的许多的Qt编程的“老鸟”中,很多人都青睐这种方式。它的

2013-06-16 16:09:07 6587

原创 windows编程基础

说明:只供学习交流,转载请注明出处 windows编程基础(1):API与SDK我们在编写标准C程序的时候,经常会调用各种库函数来辅助完成某些功能:初学者使用得最多的库函数就是printf了,这些库函数是由你所使用的编译器厂商所提供的。在Windows平台下,也有类似的函数可供调用。不同的是,这些函数是由Windows操作系统本身提供的。Windows操作系统提供了各种各样的函数,

2013-06-10 13:47:01 1315

转载 qt3和qt4并存问题的解决方法

原文链接:http://blog.chinaunix.net/uid-8038341-id-179303.html qt3和qt4并存问题的解决方法这段时间出于学习目的,在ubuntu下同时安装了qt3和qt4。但是在编译qt4文件的时候出现问题,总是提示找到不某些文件,例如:错误: qt4/QApplication:No such file or dire

2013-06-09 09:23:37 1021

转载 安装Qt-x11开发工具

原文链接:http://blog.csdn.net/DaySummer/article/details/1547999  看到有同仁对Qt-x11的安装有些疑惑,现整理了一下,供参考。如有不妥之处,请批评指正。安装步骤如下:1. 下载开发工具包:   qt-x11-opensource-src-4.2.3.tar.gz2. 解压安装包: [c-s

2013-06-07 21:32:33 1087

原创 使用select实现网络的多路IO复用

说明:只供学习交流,转载请注明出处 使用套接字实现通信的实例中,服务器端在调用recv函数或recvfrom函数接收客户端发送来的消息或在调用accept函数时,都将处于阻塞状态。当进程处于阻塞状态时,程序将停止运行,这将限制程序的处理能力和功能。Linux系统提供了fcntl函数来实现将套接字端口设置为非阻塞状态的功能,使用该函数设置套接字为非阻塞的代码如下:……sock =

2013-06-02 17:02:17 2255 1

原创 网络编程--UDP

说明:只供学习交流,转载请注明出处 面向连接的套接字使用的通信协议是TCP。TCP协议可以保证信息的可靠传输,但是在建立连接前需要进行3次握手过程。网络通信在很多时候只是传输很少的数据,并且对数据传输的可靠性没有很高的要求,在这种情况下,可以使用UDP协议。UDP协议是无连接的数据通信协议。由于UDP协议没有建立连接的过程,UDP协议通信效率要高于TCP协议。 一,工作流程无连

2013-06-02 16:59:06 875 1

原创 网络编程--TCP

说明:只供学习交流,转载请注明出处  一,工作流程使用流套接字实现网络中不同主机间的通信属于典型的服务器/客户机模型,即客服端向服务器发送服务请求,服务器根据该请求提供相应的服务。为了实现服务器与客户机间的通信,服务器和客户机都必须创建套接字。服务器在创建套接字后,需要指定监听的端口来等待客户机,因此还有绑定端口号的操作。之后,服务器处于监听状态,等待客户机来连接指定端口。当接

2013-06-02 16:53:38 1090

原创 网络编程基础

说明:只供学习交流,转载请注明出处  一,套接字编程基础套接字,英文为socket,是一种双向的通信端口。位于网络中的主机通过连接的套接字提供的接口进行数据传输。套接字是一种使用标准UNIX文件描述符(file descriptor)与其他程序通信的方式。套接字可以看作是处于不同主机之间的两个程序的通信连接端点。一方面程序将要传输的信息写入套接字中,而另一方面则通过读取套接

2013-05-31 19:33:51 825

原创 Linux网络概述

说明:只供学习交流,转载请注明出处 一,TCP/IP协议族TCP/IP 实际上一个协同工作的通信家族,为网络数据通信提供通路。网络编程的目的就是指直接或间接地通过网络协议与其他计算机进行通讯。网络编程中有两个主要的问题,一个是如何准确的定位网络上一台或多台主机,另一个就是找到主机后如何可靠高效的进行数据传输。在TCP/IP协议中IP层主要负责网络主机的定位,数据传输的路由,由IP地

2013-05-29 11:26:12 1356 1

转载 C语言 条件编译详解

原文链接:http://blog.csdn.net/21aspnet/article/details/6737612 预处理过程扫描源代码,对其进行初步的转换,产生新的源代码提供给编译器。可见预处理过程先于编译器对源代码进行处理。在C 语言中,并没有任何内在的机制来完成如下一些功能:在编译时包含其他源文件、定义宏、根据条件决定编译时是否包含某些代码。要完成这些工作,就需要使用预处理程序

2013-05-28 09:27:27 616

转载 Linux中errno使用

原文链接:http://blog.csdn.net/21aspnet/article/details/6740110  当linux中的C api函数发生异常时,一般会将errno变量(需include errno.h)赋一个整数值,不同的值表示不同的含义,可以通过查看该值推测出错的原因,在实际编程中用这一招解决了不少原本看来莫名其妙的问题。但是errno是一个数字,代表的具体含义还要

2013-05-28 09:11:16 616

转载 指针类型转换

链接:http://www.360doc.com/content/10/1214/20/1317564_78154410.shtml 1、强制类型转换看一下这个c代码:int a = 0x123456;     //0x是十六进制的表示法char c = (char)a;printf("%x\n", c);在我的编译环境里输出的是什么呢? 是56,怎么得来的呢?in

2013-05-26 16:32:05 607

原创 多线程程序设计3

说明:只供学习交流,装载请注明出处 五,线程清除线程终止有两种情况:正常终止和非正常终止。线程主动调用pthread_exit或线程函数中return都将使线程正常退出,这是可预见的退出方式;非正常终止是在其他线程的干预下,或者由于自身出错(比如访问非法地址)而退出,退出方式是不可预见的。不论是可预见的线程终止还是异常终止,都会存在资源释放的问题,如何保证线程终止时能顺利的释放掉自己所

2013-05-26 13:44:46 959

转载 tiny6410温度传感器详细开发步骤

原文链接:http://blog.csdn.net/gameboy374/article/details/7516102 首先感谢署名为lixin的网友以及署名为tandesir的CSDN博主,我必须承认我是站在巨人的肩膀上才有能力迈出了这在我看来具有重要意义的一步!程序代码:ds18b20.c 01.#include 02.#include 03.#inclu

2013-05-25 19:54:39 1336

原创 多线程程序设计2

说明:只供学习交流,转载请注明出处 四,线程属性在Linux系统中,每个线程都拥有一个与之相关的属性来表明该线程的特性。而一个线程属性可能与多个线程相关,描述这些线程的共有特性。在前面的实例中,调用pthread_create函数创建新的线程时,对第二个参数属性都指定了NULL,这表示创建的线程的属性取默认值,代码如下:      ret= pthread_create(&tid2

2013-05-25 18:56:38 1074

原创 多线程程序设计1

说明:只供学习交流,转载请注明出处 一,创建线程和退出线程在Linux系统中,所有与线程相关的函数都是以pthread开头的。pthread_create函数用于在当前进程中加入新的线程。Linux系统中线程的创建与UNIX系统存在着不同。在Linux系统中,当调用pthread_create函数来创建线程时,系统首先先创建一个新的进程,再在该进程内再创建需要的线程。新创建的进程与原有

2013-05-25 18:53:46 678

原创 线程理论基础

说明:只供学习交流,转载请注明出处 一,线程的基本概念线程,也被称为轻量进程,指的是进程中某个单一顺序的控制流。线程是进程的实体,一个进程可以拥有多个线程,而一个线程必须有一个父进程。线程与父进程的其他线程一起共享进程的所有资源。线程本身不拥有系统资源,只是拥有一些运行必须的数据结构而已。在多处理器系统里,不同线程可以同时运行在不同的中央处理器上。进程是资源管理的最小单位,而线程是程序

2013-05-25 18:50:46 703

原创 信号量2

说明:只供学习交流,转载请注明出处 七,semctl函数在使用信号量之前,需要对信号量集中的每个元素进行初始化操作。semctl函数提供了该项功能。该函数的具体信息如下表:semctl函数 头文件#include #include #include 函数原型int semctl(int semid, int

2013-05-22 14:08:21 716

原创 信号量1

说明:只供学习交流,转载请注明出处  一,信号量的基本概念信号量(又名:信号灯)与其他进程间通信方式不大相同,主要用途是保护临界资源。进程可以根据它判定是否能够访问某些共享资源。除了用于访问控制外,还可用于进程同步。 在多进程环境里,运行一个进程或修改其他进程可能正在使用的数据,往往导致数据的数值不可预测。使用信号量避免了这个问题的出现。信号量用于控制多个进程对共享资源或数

2013-05-22 14:05:32 1200

原创 消息队列2

说明:只供学习交流,装载请注明出处 六,msgsnd函数创建完消息队列后,为了通过消息队列进行进程间的通信,信息的发送方必须向消息队列发送信息。信息的接收方需要从消息队列中接收消息。发送消息和接收消息使用的函数分别是msgsnd函数和msgrcv函数。msgsnd函数的具体信息如下表:msgsnd函数 头文件#include #include

2013-05-19 17:47:01 699

原创 消息队列1

说明:只供学习交流,装载请注明出处 一,概念消息队列实际上就是一个消息链表,而消息是链表中具有特定格式及优先级的记录。进程按照一定的规则在消息链表中添加新的消息,而需要消息的进程可以从消息队列中获得所需的信息。消息队列和管道类似,消息被读走了就木有了。 目前主要有两种类型的消息队列:POSIX消息队列以及系统V消息队列,系统V消息队列目前被大量使用。系统V消息队列是随内核持续的

2013-05-19 17:44:03 773

原创 共享内存2

说明:只供学习交流,转载请注明出处  五,shmat函数shmat函数与shmdt函数用于实现对共享内存的操作。shmat函数用于将共享内存连接到指定的进程地址空间中。当共享内存连接到指定地址空间后,进程将获得指向该内存段的指针,然后可以根据指针实现对共享内存段的访问。完成对共享内存段的操作后,需要调用shmdt函数将共享内存段从进程的地址空间分离。shmat函数的具体信息如下

2013-05-18 17:19:08 708

原创 共享内存1

说明:只供学习交流,转载请注明出处 一,共享内存的基本概念共享内存是IPC(进程间通信)中最简单的方式之一。共享内存充许两个或多个进程访问同一块内存,就如同malloc()函数向不同进程返回了指向同一个物理内存的指针。当一个进程改变了这块地址中的内容的时候,其它进程都会察觉到这个更改。因为所有进程共享同一块内存。共享内存在各种进程间通信中具有最高的效率。访问共享内存区域和访问进程独有的

2013-05-18 17:17:14 702

嵌入式MP3播放器项目源代码

嵌入式MP3播放器项目源代码,很值得做的一个项目,涉及到很多知识点,代码注释很详细,,,

2013-03-02

嵌入式linux自学指导

嵌入式linux自学指导

2012-08-03

tftp_server

使用tftp_server实现网络下载

2012-08-03

usb 转串口驱动

绝对能用

2012-08-02

mini2440 usb下载驱动

mini2440 usb下载驱动一定要到bootloader控制台下才起作用,否则擦伤没反应

2012-08-02

c primer pluse 课后编程答案

c primer pluse课后编程答案(全)

2012-07-20

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除