- 博客(41)
- 资源 (1)
- 收藏
- 关注
原创 linux3.4.2内核移植详解(七):LCD驱动移植
基于韦东山提供的LCD驱动代码,进行修改,主要是五个寄存器:LCDCON1、LCDCON2、LCDCON3、LCDCON4、LCDCON5:我的显示屏分别率是480x272,对照LCD_4.3手册设置那五个寄存器的值,还要注意显存的物理基地址也要改:#include <linux/module.h>#include <linux/kernel.h>#inclu...
2019-04-13 11:30:27
711
原创 linux3.4.2内核移植详解(六):基于UVC的USB摄像头内核配置
在menuconfig中进行适当的配置:Device Drivers ---><*> Multimedia support --->[*] Video capture adapters--->[*] V4L USBdevices --->...
2019-04-13 11:13:01
3058
2
转载 linux3.4.2内核移植详解(五):内核打yaffs2补丁错误汇总
nand flash作为市面上最主要的非易失性闪存技术之一,应用在各种固态大容量存储解决方案中。由于nand flash自身的特点,nand存储器往往需要一款专用的nand文件系统进行管理。开源的yaffs文件系统由于其优异的性能,在nand flash中受到广泛的应用。1. yaffs文件系统从yaffs官网下载最新的yaffs源码,进入到yaffs目录,给Linux内核加上yaffs文件...
2019-04-13 11:03:29
913
原创 linux3.4.2内核移植详解(四):部分错误汇总
编译内核出现:arch/arm/mm/tlb-v4wbi.S: Assembler messages:arch/arm/mm/tlb-v4wbi.S:64: Error: too many positional argumentsscripts/Makefile.build:343: recipe for target ‘arch/arm/mm/tlb-v4wbi.o’ failedmak...
2019-04-13 10:56:07
2458
2
原创 linux3.4.2内核移植详解(三):制作根文件系统
tar xjf busybox-1.20.0.tar.bz2 解压进入顶层目录:修改顶层Makefile: ARCH ?= arm CROSS_COMPILE ?= arm-linux-执行make menuconfig产生.config文件,使用默认配置 Busybox Settings -> Installa...
2019-04-13 10:38:58
272
原创 linux3.4.2内核移植详解(二):移植内核
解压进入内核顶层目录:tar xjf linux-3.4.2.tar.bz2修改顶层Makeflie: ARCH ?= arm CROSS_COMPILE ?= arm-linux-执行make s3c2410_defconfig会出现: # configuration written to .config ...
2019-04-13 10:33:04
552
原创 linux3.4.2内核移植详解(一):修改u-boot分区
工具: 虚拟机:vmware pro 12.0 Linux: ubuntu 16.04 desktop 64 交叉编译器:arm-linux-gcc-3.4.5: 用于编译比较老的u-boot-1.1.6 ...
2019-04-13 10:22:07
402
原创 linux、 开发板、 PC机 三者之间互ping
物理设置:· 软件设置:检测虚拟机设置是否为桥接式模式 关闭PC机和虚拟防火墙 三者之间设置IP地址必须在同一个网段将linux和开发板的IP地址设置成和PC机动态分配的IP地址在同一个网段,现在既能够相互PING通也可以上网。(注意:一定保证物理连接没问题,比如网线没问题,惨痛的教训!!!)...
2019-04-08 10:10:37
535
转载 使用ubuntu16.04配置linux内核和busybox出现错误的解决方法总结
也许很多人都知道,ARM裸机1期加强版课程用的是ubuntu 16.04,当用这个ubuntu编译内核和制作文件系统的时候会出现一些问题,售后团队用了一天时间找到了如下解决方法。1.编译busybox-1.23.2:出现错误:scripts/kconfig/Makefile:14: recipe for target 'menuconfig' failed解决方法:安装2个...
2019-03-27 18:12:30
489
原创 用make menuconfig配置内核时出错Makefile:417: recipe for target 'menuconfig' failed
用make menuconfig配置内核时出错:scripts/kconfig/mconf arch/arm/Kconfigdrivers/serial/Kconfig:235:warning: multi-line strings not supportedYour display is too small to run Menuconfig!It must be at least ...
2019-03-26 19:51:37
10185
10
原创 make menuconfig出错的解决方案
ubuntu16.04 64位编译配置内核时,执行命令:make menuconfig出现如下错误:make[1]: *** [scripts/kconfig/lxdialog/checklist.o] Error 1Makefile:417: recipe for target 'menuconfig' failedmake: *** [menuconfig] Error 2解决方...
2019-03-26 16:42:23
5341
原创 windows ping linux 无法访问目标主机
接线正确、防火墙关闭还是ping不通将虚拟机-->设置-->网络适配器-->桥接模式
2019-03-21 14:29:33
5883
3
转载 CPU的ADDR2为什么跟SDRAM的0地址线接在一起
最近看到坛子里很多初学者对于CPU与SDRAM的接线方式不明白,不懂为什么CPU的地址线要从ADDR2开始接并且是接到SDRAM的0地址线上。当初我也费了一定的时间才把它弄懂,说实话需要动一定的脑筋。 1,先弄清楚第一个概念,对于CPU来说: 一个地址用32位来表示:0x30000000、0x40000000; 但是这个地址代表的地址空间是1个字节,也就是说CPU读...
2019-03-20 16:05:55
375
转载 Linux下DIR,dirent,stat等结构体详解
https://blog.csdn.net/zhuyi2654715/article/details/7605051
2019-03-16 16:22:04
258
转载 struct statfs
说明:本文以主要为转载内容,纯日记用,系转载。先说statfs结构:#include <sys/vfs.h> /* 或者 <sys/statfs.h> */int statfs(const char *path, struct statfs *buf);int fstatfs(intfd, struct statfs *buf);参数:p...
2019-03-15 11:04:28
2509
转载 fflush(stdin)与fflush(stdout)
1.fflush(stdin):作用:清理标准输入流,把多余的未被保存的数据丢掉。。如:int main(){ int num; char str[10]; cin>>num; cout<<num<<endl; cin>>str; cout&...
2019-03-14 16:01:34
222
转载 setsockopt用法详解
在TCP连接中,recv等函数默认为阻塞模式(block),即直到有数据到来之前函数不会返回,而我们有时则需要一种超时机制使其在一定时间后返回而不管是否有数据到来,这里我们就会用到setsockopt()函数:int setsockopt(int s, int level, int optname, void* optval, socklen_t* optlen);这里我们...
2019-03-14 15:13:39
1068
转载 同步IO、异步IO、阻塞IO、非阻塞IO之间的联系与区别
POSIX同步IO、异步IO、阻塞IO、非阻塞IO,这几个词常见于各种各样的与网络相关的文章之中,往往不同上下文中它们的意思是不一样的,以致于我在很长一段时间对此感到困惑,所以想写一篇文章整理一下。POSIX(可移植操作系统接口)把同步IO操作定义为导致进程阻塞直到IO完成的操作,反之则是异步IO按POSIX的描述似乎把同步和阻塞划等号,异步和非阻塞划等号,但是为什么有的人说同步IO...
2019-03-13 17:02:58
125
转载 \033超级终端的字体背景和颜色显示
终端显示字体背景和字体颜色等使用用法 可输入以下指令查看其使用方法man console_codes在命令行下能产生五颜六色的字体和图案,只需要加上一些颜色代码,例如: printf(“\033[0;30;41m color!!! \033[0m Hello \n”); 其中41的位置代表字的背景色, 30的位置是代表字的颜色,0 是字的一些特殊属性,0代表默认...
2019-03-11 17:06:44
1161
原创 堆栈、内存的增长方向与大小端
在学习网络编程socket的时候碰到主机内部字节存储顺序大小端的问题,一直很困扰,今天终于搞清楚了,于是将其记录下来,以便后面复习。大小端问题:小端:是指数据的高字节保存在内存的高地址中,而数据的低字节保存在内存的低地址中,这种存储模式将地址的高低和数据位权有效地结合起来,高地址部分权值高,低地址部分权值低。如Intelx86结构就是使用小端模式。大端:是指数据的高字节保存在内存的...
2019-03-05 16:15:37
7193
2
原创 互斥锁与条件变量详解
一、互斥量和条件变量简介 互斥量(mutex)从本质上说是一把锁,在访问共享资源前对互斥量进行加锁,在访问完成后释放互斥量上的锁。在互斥量进行加锁以后,任何其它试图再次对互斥量加锁的线程将会阻塞直到当前线程释放该互斥锁。如果释放互斥锁时有多个线程阻塞,所有在该互斥锁上的阻塞线程都会变成可运行状态,第一个变为可运行状态的线程可以对互斥锁加锁,其它线程将会看到互斥锁依然被锁住,只能回去再次等待它...
2019-03-04 19:21:11
11320
3
转载 openssl 生成公钥、密钥及.pem文件
首先得安装OpenSSL软件包openssl,安装了这个软件包之后,我们可以做这些事情: o Creation of RSA, DH and DSA Key Parameters # 创建密钥 key o Creation of X.509 Certificates, CSRs and CRLs # 创建证书 o Calculation of Message Digests...
2019-03-04 10:44:09
20534
转载 Linux中的EAGAIN含义
在Linux环境下开发经常会碰到很多错误(设置errno),其中EAGAIN是其中比较常见的一个错误(比如用在非阻塞操作中)。 从字面上来看,是提示再试一次。这个错误经常出现在当应用程序进行一些非阻塞(non-blocking)操作(对文件或socket)的时候。例如,以 O_NONBLOCK的标志打开文件/socket/FIFO,如果你连续做read操作而没有数据可读,此时程序...
2019-02-28 08:51:38
1323
1
转载 linux之wait()和waitpid()详解
wait()就是得到子进程的返回码,等于就是为子进程“收尸”,否则子进程会变僵尸进程(关于僵尸和孤儿进程的区别,之前有总结过),如果父进程结束了,init进程会为僵尸进程收尸的。SIGCHLD信号处理函数: 进程一章讲过用wait和waitpid函数清理僵尸进程,父进程可以阻塞等待子进程结束,也可以非阻塞地查询是否有子进程结束等待清理(也就是轮询的方式)。采...
2019-02-27 21:36:59
775
转载 MATLAB求解器
在工程实践中,我们经常遇到一些ODEs,其中某些解变换缓慢,另一些变化很快,且相差悬殊的微分方程,这就是所谓的刚性问题(Stiff),对于所有解的变化相当我们则称为非刚性问题(Nonstiff)。变步长模式解法器有:ode45,ode23,ode113,ode15s,ode23s,ode23t,ode23tb和discrete。 a) ode45:缺省值,四/五阶龙格-库塔法,适用于大多...
2019-02-26 19:44:29
6728
转载 fprintf()函数相关说明
fprintf()用于文件操作 #include <stdio.h> int fprintf( FILE *stream, const char *format, ... );fprintf()函数根据指定的format(格式)发送信息(参数)到由stream(流)指定的文件.因此fprintf()可以使得信息输出到指定的文件.比如 char name[...
2019-02-23 14:43:45
67882
3
转载 C语言中exit(0)与exit(1)的区别
C语言中_exit(),exit(0)与exit(1)有什么区别今天天气有点冷,当我在写消息队列的程序的时候,遇到了结束进程的这个问题,突然脑海里有点混乱,我是用_exit(),还是用exit(1),还是用exit(0)呢,然后自己度娘了一下,整理了一下稍微做了一个总结吧。_exit();和exit()主要区别是一个退出进程会清理I/O缓冲区,一个直接结束进程进入到内核中。下面我就举个例...
2019-02-22 12:56:27
1914
5
转载 Linux操作系统各发行版ISO镜像下载
Linux操作系统各版本ISO镜像下载(包括oracl linux\redhat\centos\ubuntu\debian等)1、Oracle Linux(下载地址)(1)OracleLinux-Release6-Update0-x86_64-dvd.iso(2)OracleLinux-Release6-Update1-x86_64-dvd.iso(3)OracleLinux-Rel...
2018-10-26 12:52:09
12359
3
原创 使用gdb调试时出现:Missing separate debuginfos, use: debuginfo-install glibc-2.12-1.212.el6.i686的解决办法
今天在redhat6.3(32位)下使用gdb调试程序的时候,出现一段警告,在此总结出解决办法,方便后来的学者:提示需要使用debuginfo安装glibc-2.12-1.212.el6.i686,但是这里有个问题:linux系统下有debuginfo吗?我使用的是redhat6.3,用的是centos6的yum,是没有debuginfo的,不信的话,我们试验一下:直接...
2018-10-25 19:43:09
4634
转载 交叉编译工具链
交叉编译工具链1、嵌入式开发模型-交叉开发 在嵌入式开发过程中有宿主机和目标机的角色之分:宿主机是执行编译、链接嵌入式软件的计算机;目标机是运行嵌入式软件的硬件平台。 在宿主机执行编译的流程如下: 2、交叉编译工具链详解参考:http://www.crifan.com/files/doc/docbook...
2018-10-22 19:39:17
148
转载 关于start.S中一些常用汇编语言的理解
终于明白这个LR寄存器了看下面这个ARM汇编吧BL NEXT ;跳转到子程序......... ;NEXT处执行NEXT..........MOV PC,LR ;从子程序返...
2018-10-19 18:51:31
1482
原创 start.S:88: Error: invalid constant (61f) after fixup
今天在linux中使用gcc编译的时候出现报错:发现是因为mov指令只能用于8位 ,超过8位就应该用ldr指令代替。
2018-10-19 15:52:50
611
原创 数据类型分析
什么是数据类型?数据类型可以理解为固定内存大小的别名 数据类型是创建变量的模子类型的本质2.变量的本质变量是一段实际连续存储空间的别名 程序中通过变量来申请并命名存储空间 通过变量的名字可以使用存储空间...
2018-10-19 09:12:59
196
转载 Linux 程序编译过程的来龙去脉
转载自https://blog.csdn.net/p23onzq/article/details/81977367
2018-10-18 16:54:44
137
转载 教你写Makefile(很全,含有工作经验的)
Makefile值得一提的是,在Makefile中的命令,必须要以[Tab]键开始。 什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和professional的程序员,makefile还是要懂。这就好像现在有这么多的HTML的编辑器,但如果你想成为一个专业人士,你还是要了解HTML的...
2018-10-18 16:10:38
200
转载 解析ARM的几个关键寄存器
图中缩写如下:R:Register;寄存器PC:Program Counter;程序计数器CPSR:Current Program Status Register;当前程序状态寄存器SPSR:Saved Program Status Register;保存的程序状态寄存器SP:Stack Pointer;数据栈指针LR:Link Register;连接寄存器SB:静态基址...
2018-10-18 14:52:39
1319
转载 常用的ARM汇编指令
一. 带点的(一般都是ARM GNU伪汇编指令) 1. ".text"、".data"、".bss"依次表示的是“以下是代码段”,“以下是初始化数据段”,“以下是未初始化数据段”。2.".global"定义一个全局符号,通常是为ld使用。比如经常看到的.global _start3.".ascii"、".byte"、".short&
2018-10-18 11:18:20
1584
转载 ARM汇编伪指令 .word
ARM汇编伪指令 .word 经常碰到那些以“.”打头的一些令人头疼的伪指令, 至于.globl _start .balign .align .data .text等等就算了,最最bt的如下: _undefined_instruction: .word undefined_instruction 这个.word令人费解。网上的技术人员都不屑回答,说请参考GNU ASM。我去看了,对于.wo...
2018-10-17 20:37:15
677
转载 一些常见BootLoader介绍
首先区分一下BootLoader和Monitor的概念。严格来说,BootLoader只是引导设备并且执行主程序的固件;而Monitor还提供了更多的命令行接口,可以进行调试、读写内存、烧写Flash、配置环境变量等。Monitor在嵌入式系统开发过程中可以提供很好的调试功能,开发完成以后,就完全设置成了一个BootLoader。所以,习惯上大家把它们统称为BootLoader。...
2018-10-17 17:35:58
7525
转载 ROM、RAM、DRAM、SRAM、SDRAM区别及特点
常见存储器概念辨析:RAM、SRAM、SDRAM、ROM、EPROM、EEPROM、Flash存储器可以分为很多种类,其中根据掉电数据是否丢失可以分为RAM(随机存取存储器)和ROM(只读存储器),其中RAM的访问速度比较快,但掉电后数据会丢失,而ROM掉电后数据不会丢失。ROM和RAM指的都是半导体存储器,ROM是Read Only Memory的缩写,RAM是Random Acce...
2018-10-12 16:40:27
7699
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人