![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux
文章平均质量分 82
跟我执剑天涯
这个作者很懒,什么都没留下…
展开
-
Qt 选择性编译和库裁减(进一步裁剪)
根据上述方法方式进行裁剪,本人所裁剪QT配置(保存在qteverywhere.sh):#!/bin/sh./configure \-prefix /usr/local/arm/qt4.8.6\-opensource \-confirm-license \-release \-static \-embedded arm \-xplatform qws/linux-a...原创 2020-04-23 13:32:51 · 243 阅读 · 1 评论 -
uboot启动分析 命令添加
#defineCONFIG_SPLASH_SCREEN//必需,真正的作图函数在这个宏控制之下经典=Uboot-5-菜单制作http://www.docin.com/p-680912465.htmlhttp://www.docin.com/p-773293099.html要记录http://xouou.iteye.com/blo...转载 2020-02-29 16:48:57 · 542 阅读 · 0 评论 -
更换内核开机logo
kernel logo之PPM图片转换一、将png图片改成.ppm格式。如linux_logo.png ①将png图片转成pnmpngtopnmlinux_logo.png > linux_logo.pnm ②将pnm图片的颜色数限制在224色pnmquant224 linux_logo.pnm > logo_clut2...原创 2020-02-29 09:52:32 · 668 阅读 · 0 评论 -
Linux下SPI驱动框架分析
Linux下SPI驱动框架分析Linux的spi接口驱动实现目录在linux-2.6.22.6\drivers\spi下。首先通过看Kconfig 和 Makefile来找找思路先看Makefile,## Makefile for kernel SPI drivers.#ifeq ($(CONFIG_SPI_DEBUG),y)EXTRA_CFLAGS += -DDEBUG...原创 2020-02-23 23:34:16 · 838 阅读 · 0 评论 -
linux 串口uart驱动简析
在S3C2440中Linux系统的串口驱动与一般字符设备并一样,它采用层次化的架构,从而看做是一个串行系统来实现。(1)关注UART或其他底层串行硬件特征的底层驱动程序。(2)和底层驱动程序接口的TTY驱动程序。(3)加工用于和TTY驱动程序交换数据的线路规程。下图描述了串行系统间的层次结构关系(s3c2440串口实现例),可以概括为:用户应用层 --> 线路规划层...原创 2020-02-14 22:19:16 · 636 阅读 · 0 评论 -
移植内核3.4.2
1、解压tar xjf linux-3.4.2.tar.bz22、进入解压后的文件目录,修改顶层Makefile ARCH=arm CROSS_COMPILE=arm-linux-3、选择默认配置 内核默认已经支持很多单板,以defconfig命名结尾,搜索默认配置单板。 find -name"*defconfig" make s3c2410_de...原创 2019-11-03 18:25:46 · 173 阅读 · 0 评论 -
uboot移植5-裁剪和修改默认参数
uboot启动会从nandflash读取环境变量,如果读取失败,会使用默认环境变量,如上图是读取失败使用默认参数的打印信息。修改默认参数:1、搜索using default environment,发现默认环境变量存在全局变量default_environment结构体中(common/env_common.c)如上图,想修改哪个默认参数值,只需要要inclu/configs/...原创 2019-10-08 23:32:06 · 315 阅读 · 0 评论 -
uboot移植4-支持DM9000网卡
如上图,打印是CS8900网卡,而我们的板子是DM9000,需要进行移植。1、查看drivers/net/makefile可知uboot已经支持DM9000,按照CS8900配置宏CONFIG_DRIVER_DM9000修改include/confis/s3c2440.h(参考其他使用DM9000的文件添加宏)根据上图和数据手册,修改include/confis/s3c...原创 2019-10-07 22:11:44 · 168 阅读 · 0 评论 -
uboot移植3-nandflash启动
修改UBOOT支持NAND FLASH 1、把drivers\mtd\nand\s3c2410_nand.c复制为s3c2440_nand.c在之前移植uboot时去掉了#define CONFIG_CMD_NAND,现在需要打开。修改:include/configs/smdk2440.h: #define CONFIG_CMD_NAND编译查看是否编译通过。...原创 2019-10-06 21:40:43 · 486 阅读 · 0 评论 -
uboot移植2-从nandflash启动重定位代码
上一节完成时钟和串口的修改,下面进行nandflash的启动。本节介绍如何从nandflash启动并从nandflash重定位到SDRAM1、原来的代码在链接时加了"-pie"选项, 使得u-boot.bin里多了"*(.rel*)", "*(.dynsym)",使得程序非常大,不利于从NAND启动(重定位之前的启动代码应该少于4K)1.1、去掉 "-pie"选项 arch...原创 2019-10-05 23:11:21 · 301 阅读 · 0 评论 -
uboot移植1-新建单板,时钟和串口的修改
目标:串口成功打印信息。前提条件:1、uboot版本:u-boot-2012.04.01.tar.bz2;2、交叉编译器:arm-linux-gcc-4.3.2.tar(如何更换交叉编译器参考https://blog.csdn.net/WangHuiShou/article/details/102092801)3、部署uboot(代码利用官方的) 1.解压源码 tar ...原创 2019-10-05 16:18:19 · 494 阅读 · 0 评论 -
更换交叉编译器arm-linux-gcc
下载需要更换的交叉编译器,次吃使用的是arm-linux-gcc-4.3.2.tar1、将arm-linux-gcc-4.3.2.tar拷贝到虚拟机下 cp /mnt/hgfs/work/arm-linux-gcc-4.3.2.tar.bz2 /work/tools2、解压到根目录下 sudo tar xjf arm-linux-gcc-4.3.2.t...原创 2019-10-04 20:50:05 · 1161 阅读 · 0 评论 -
设置时间后重启不生效
设置时间后重启不生效:删除/etc下的timestamp;原创 2019-09-27 08:54:17 · 513 阅读 · 0 评论 -
Linux之输入子系统分析(详解)
其中驱动框架如下:1)写file_operations结构体的成员函数: .open()、.read()、.write()2)在入口函数里通过register_chrdev()创建驱动名,生成主设备号,赋入file_operations结构体3)在出口函数里通过unregister_chrdev() 卸载驱动若有多个不同的驱动程序时,应用程序就要打开多个不同的驱动设备,由于是...转载 2019-07-24 23:49:01 · 424 阅读 · 0 评论 -
#define宏定义中的#,##,@#,\ ,__VA_ARGS__这些符号的神奇用法
C/C++ 宏命令的神奇用法。先看下面三条语句:#define Conn(x,y) x##y#define ToChar(x) #@x#define ToString(x) #x1. ## 连接操作符##表示连接(token pasting, or token concatenation,merge two tokens into one while expanding ma...转载 2018-08-13 19:36:13 · 460 阅读 · 0 评论 -
Linux下定时器的使用(alarm,timer_create)
1、alarm 如果不要求很精确的话,用alarm()和signal()就够了。 unsigned int alarm(unsigned int seconds) 函数说明: alarm()用来设置信号SIGALRM在经过参数seconds指定的秒数后传送信号SIGALRM给目前的进程。如果参数seconds为0,则之前设置的闹钟会被取消,并将剩下的时间返回,alarm只触发一次...原创 2018-08-13 19:17:20 · 1532 阅读 · 0 评论