linux
文章平均质量分 52
idealearn
这个作者很懒,什么都没留下…
展开
-
ARMv8 异常处理简介
内核稳定性问题复杂多样,最常见的莫过于“kernel panic”,意为“内核恐慌,不知所措”。这种情况下系统自然无法正常运转,只能自我结束生命,留下死亡信息。诸如:“Unable to handle kernel XXX at virtual address XXX”“undefined instruction XXX”“Bad mode in Error handler detected on CPUX, code 0xbe000011 -- SError”......这些死亡信息是原创 2021-05-20 15:00:46 · 3290 阅读 · 0 评论 -
select
转:https://www.cnblogs.com/king-77024128/articles/2741180.htmlselect阻塞方式block,就是进程或是线程执行到这些函数时必须等待某个事件的发生,如果事件没有发生,进程或线程就被阻塞,函数不能立即返回。使用Select就可以完成非阻塞non-block,就是进程或线程执行此函数时不必非要等待事件的发生,一旦执行肯定返回转载 2017-11-16 17:40:45 · 325 阅读 · 0 评论 -
QT 交叉编译环境搭建
1、下载:qt-create下载qt-everywhere-opensource-5.5.1.tar.gz交叉编译工具链arm-xilinx-linux-gnueabi-2、解压qt-everywhere-opensource-5.5.1.tar.gz1、cd qt-everywhere-opensource-5.5.1/qtbase/mkspecs原创 2017-07-21 15:31:23 · 2461 阅读 · 0 评论 -
QT触摸屏
转载:http://blog.csdn.net/aifei7320/article/details/47975073这个教程描述了在嵌入式linux下使用Qt如何设置一个支持多点触摸和单点触摸的输入系统。这里假定你已经有了对应的驱动程序,驱动可以从触摸屏的厂商那里获得或者使用一个linux 内核源码中已经存在的驱动。第一要务,找到你的驱动程序(通常在/drivers/inp转载 2017-04-06 11:02:44 · 6325 阅读 · 0 评论 -
搭建linux 环境
svn 服务:apt—getpkill svnserve 杀掉svn服务sudo netstat -antp |grep svnserve 检测端口监测是否正常sudo svnserve -d -r /home/svn 指定目录svnauthz-validate /homg/svn/config/au.. 检测参数合法性。注意:配置好svn服务后,在客户端用co无法更新目录,必原创 2016-06-04 15:46:53 · 471 阅读 · 0 评论 -
git 学习
http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/0013744142037508cf42e51debf49668810645e02887691000转载 2017-07-13 15:36:13 · 229 阅读 · 0 评论 -
Linux内核配置选项简介
Linux内核配置选项简介 Gentoo LinuxGentoo内核(gentoo-sources)特有的选项Gentoo Linux supportCONFIG_GENTOO_LINUX选"Y"后,将会自动选中那些在Gentoo环境中必须开启的内核选项,以避免用户遗漏某些必要的选项,减轻一些用户配置内核的难度.建议选"Y".Linux dy转载 2017-07-13 08:55:48 · 9100 阅读 · 0 评论 -
shell 解释器切换
zsh切换bash bash切换zsh切换bashchsh -s /bin/bash~/.bashrc 配置文件切换zshchsh -s /bin/zsh~/.zshrc 配置文件查看当前的shellecho $SHELL原创 2017-07-11 15:57:44 · 2203 阅读 · 0 评论 -
设备模型之kobject,kset及其关系
设备模型之kobject,kset及其关系 2012-07-07 10:09:37分类: LINUX设备驱动基础0:设备模型之kobject,kset及其关系Linux2.6以后的设备驱动,都是在设备模型的基础上构建的,因此,要编写linux下的设备驱动程序,不论是usb设备,pci设备等,都需要了解设备模型。设备模型的基础结构体主要是kob转载 2017-05-26 16:39:51 · 331 阅读 · 0 评论 -
linux 根据设备树注册设备
/platform.c (1)int of_platform_populate(struct device_node *root,const struct of_device_id *matches,const struct of_dev_auxdata *lookup,struct device *parent){struct device_node *child;原创 2017-05-26 15:22:54 · 2368 阅读 · 0 评论 -
Qt模拟键盘按键与组合键
转:http://blog.csdn.net/hqyhqyhq/article/details/50895629Tab键: QKeyEvent tabKey(QEvent::KeyPress, Qt::Key_Tab, Qt::NoModifier); QCoreApplication::sendEvent(this, &tabKey转载 2017-05-12 17:24:35 · 5539 阅读 · 0 评论 -
talib 翻转校正图片等
void pixel (int x, int y, unsigned colidx){unsigned xormode;union multiptr loc;int x1=480-x;int y1=272-y;if ((x1 = var.xres_virtual) || (y1= var.yres_virtual))return;xormode =原创 2017-04-19 11:30:59 · 474 阅读 · 0 评论 -
GT911调试的那些梗
环境:基于公司的电路板。模拟板+数字板(zynq)+GT911触摸屏梗1:搭建好环境后,通过数字版的zynq中的PL的EMIO映射出了4跟管脚,INT,RESET,SDA,SCL。用示波器抓取INT和RESET的上电时序,发现没有输出。半天后,发现,示波器有问题,用万用表可以测到电平变化。梗2:发现RST一直为低,(gt911 复位低)。经查:由于电路上没有给RTS拉上拉电原创 2017-04-01 14:02:11 · 15036 阅读 · 2 评论 -
Makefile
Makefile 学习:http://blog.csdn.net/kesaihao862/article/details/7332528main:main.o mytool1.o mytool2.ogcc -o main main.o mytool1.o mytool2.omain.o:main.c mytool1.h mytool2.hgcc -c main.转载 2017-04-10 15:28:46 · 530 阅读 · 0 评论 -
ubuntu mtd-utils
1 get the mtd-utils source code form the net through git clone or another way.2 if has same problem about uuid ,then do:切换到12.04下之后通过apt-get install uuid-dev安装uuid之后,之前的代码中的uuid_generate,uuid_unpa原创 2017-02-15 20:31:12 · 1334 阅读 · 0 评论 -
I2C(TCA9545APWR+PLL(CDCM6208))
DEVICE:&i2c1 {#address-cells = ;#size-cells = ;i2c-switch@70 {compatible = "nxp,pca9545"; /* I2C switch pca9545 */#address-cells = ;#size-cells = ;reg = ;i2c@0 {原创 2016-12-21 11:23:57 · 2991 阅读 · 0 评论 -
tslib库编译
sudo ./configure CC=/home/david/work/zynq/CodeSourcery-master/bin/arm-xilinx-linux-gnueabi-gcc CXX=/home/david/work/zynq/CodeSourcery-master/bin/arm-xilinx-linux-gnueabi-g++ --host=arm-linux --prefix=原创 2017-11-23 16:34:13 · 330 阅读 · 0 评论 -
poppler xilinx交叉编译
1、编译各种外部库://fontconfig use./configure CC=/home/david/work/zynq/CodeSourcery-master/bin/arm-xilinx-linux-gnueabi-gcc --prefix=/home/david/QT5/libfontconfig --with-arch=ARCH --host=arm-xilinx-linux-原创 2017-12-20 16:56:09 · 640 阅读 · 0 评论 -
将qt help移植到arm(xilinx)-linux
1、交叉编译好assistant 使用前面提到过的编译qt-everywhere-opensource-src-5.6.2库的方法,将其中-make tools 和skip qttool 去掉。编译好后,在安装目录下会有assistant应用程序。2、按照QT官网的要求,编辑好qhcp和qhp 文件,并且编译好放入到根文件系统中。3、在应用程序中启动该assistant服务,并指定服务浏原创 2017-12-20 17:25:38 · 320 阅读 · 0 评论 -
如何使用xilinx sdk进行调试。
1、在FILE->NEW->新建应用程序。2、右键.elf文件,进行debus_as...进行调试。可以建立SPI等一些调试例子,来验证外设是否正常等。前提是如果需要加载fpga,则需要先进行FPGA的加载。在xilinx_tool中进行加载。...原创 2018-09-09 19:07:39 · 12794 阅读 · 0 评论 -
uboot | fsbl中如何启动SPI或者GPIO等外设
1、条件:基于XILINX uboot。2、使用SPI。其实SPI控制器使用,在每个步骤都可以使用,包括在fsbl等都可以。原理就是配置控制器的寄存器。在FSBL中使用SPI:(1)、初始化SPI控制器0或者1,具体看vavido中硬件。调用XSpiPs_Config *SpiConfig;XSpiPs Spi0SpiConfig = XSpiPs_LookupConfig(id)...原创 2018-09-09 19:07:50 · 2505 阅读 · 0 评论 -
uboot下通过读取script(存放在nandflash)用于启动加载
1、编辑好script nand read 0x1000000 0x180000 0x400000if fpga loadb 0 0x1000000 0x400000;then echo Init VDMA mw.l 0x40600010 1 mw.l 0x40600010 0...2、通过UBOOT的打包工具,mkimage将其打包bootnand.img 影像...原创 2018-09-09 19:08:09 · 1188 阅读 · 0 评论 -
驱动的编写
A、PLATFORM驱动,虚拟总线的驱动。1、写好设备树节点,中断,GPIO,别名等。2、在驱动中新建 platform_driver结构体test_device_driver和of_device_id。注意:of_device_id必须多出一行空行。在platform_driver中写入probe和remove函数,以及和of_device_id绑定。3、在INIT中调用regist...原创 2018-09-09 19:08:27 · 6075 阅读 · 0 评论 -
设备树语法讲解
转自:https://www.cnblogs.com/xiaojiang1025/p/6131381.htmlLinux设备树语法详解概念Linux内核从3.x开始引入设备树的概念,用于实现驱动代码与设备信息相分离。在设备树出现以前,所有关于设备的具体信息都要写在驱动里,一旦外围设备变化,驱动代码就要重写。引入了设备树之后,驱动代码只负责处理驱动的逻辑,而关于设备的具体信息存放到设备树...转载 2018-09-09 19:08:50 · 26542 阅读 · 7 评论 -
内核和UBOOT 利用编译规则区别不同
KERNEL:在 /arch/arm/configs 中根据根目录下的.config修改成不同的名字的文件;例如:需要编译一个test的,首先,先利用.config改好配置,将.config 拷贝到arch/arm/configs 目录下,将名字修改为xilinx_zynq_test_defconfig. 而后在根目录下编译:就可以 1、make xilinx_zynq_test_defconfi...原创 2018-08-07 17:50:52 · 582 阅读 · 0 评论 -
2018.03.28 -Linux 中的各种栈:进程栈 线程栈 内核栈 中断栈
转自: http://kyang.cc/栈是什么?栈有什么作用?首先,栈 (stack) 是一种串列形式的 数据结构。这种数据结构的特点是 后入先出 (LIFO, Last In First Out),数据只能在串列的一端 (称为:栈顶 top) 进行 推入 (push) 和 弹出 (pop) 操作。根据栈的特点,很容易的想到可以利用数组,来实现这种数据结构。但是本文要讨论的并不是软件层面的栈,而...转载 2018-03-30 17:26:08 · 239 阅读 · 0 评论 -
.a .so .a-->.so编译
测试代码hello.c hello.hmakefile:CFLAGS = -g -O2 -Wall -Werror -Wno-unused -fPICCXXFLAGS = -fPIC -sharedhello.o:hello.c hello.hgcc -c $(CFLAGS) $(CXXFLAGS) hello.clibhello.so:hello.o原创 2018-02-09 17:38:27 · 236 阅读 · 0 评论 -
嵌入式系统Linux内核开发工程师必须掌握的三十道题
嵌入式系统Linux内核开发工程师必须掌握的三十道题 如果你能正确回答以下问题并理解相关知识点原理,那么你就可以算得上是基本合格的Linux内核开发工程师,试试看! 1) Linux中主要有哪几种内核锁?Linux的内核锁主要是自旋锁和信号量。自旋锁最多只能被一个可执行线程持有,如果一个执行线程试图请求一个已被争用(已经被持有)的自旋锁,那么这个线程就会一直进行忙转载 2018-02-09 15:31:19 · 527 阅读 · 0 评论 -
ubifs 文件系统疑问
The UBI and UBIFS images depend on parameters of the flash they are going to be used on. Namely, you have to know the following characteristics of the flash before creating images:MTD partition si原创 2018-01-26 17:24:57 · 617 阅读 · 0 评论 -
tslib和QT库连用的问题
问题:近期将 机器中的 qt5.5的库换成了 qt5.6的库,出现触摸点击同一个点出现不一样的坐标问题,导致在QT应用层会出现滑动的动作。1、从QT应用层 到QT 源码库--》tslib读数接口 --》驱动接口。查询整个数据流,发现,在使用QT源码调用tslib的接口读取坐标的时候,会出现坐标变化的情况,在QT源码的qtslib.c文件中,在readMouseData函数中查看数据发生原创 2017-12-29 17:08:34 · 2972 阅读 · 0 评论 -
qt-everywhere-opensource-src-5.6.2 编译
1、http://download.qt.io/official_releases/qt/5.6/5.6.2/single/ 下载源码,解压。2、QMAKESPEC 环境变量的设置,指定QT/qtbase/mkspecs下编译器描述文件夹的路径3、mkspecs下创建自己服务器交叉编译器描述目录,我的目录为xilinx,所以为arm-xilinx。。。,直接复制linux-arm-gnue原创 2017-11-24 10:01:52 · 13822 阅读 · 1 评论 -
poll
poll函数讲解 当前对poll(); 函数的讲解参考《UNIX系统编程》P98 poll() 函数。 poll(); 函数与select(); 函数类似,但是,它是用文件描述符而不是条件的类型来组织信息的。也就是说,一个文件描述符的可能事件都存储在 struct pollfd 结构中。与之相反,select 用事件的类型来组织信息,而且,读、写和出转载 2017-12-06 15:13:31 · 474 阅读 · 0 评论 -
cmake 交叉编译
CMake交叉编译配置 很多时候,我们在开发的时候是面对嵌入式平台,因此由于资源的限制需要用到相关的交叉编译。即在你host宿主机上要生成target目标机的程序。里面牵扯到相关头文件的切换和编译器的选择以及环境变量的改变等,我今天仅仅简单介绍下相关CMake在面对交叉编译的时候,需要做的一些准备工作。 CMake给交叉编译预留了一个很好的变量即CMAKE_TO转载 2017-12-14 16:19:14 · 402 阅读 · 0 评论 -
shell 通过IP 掩码 获取网络号
#! /bin/sh#!/bin/bashETH0_MASK=$(ifconfig eth0 | grep "inet addr:" | awk -F " " '{print $4}' | awk -F ":" '{print $2}')ETH0_IP=$(ifconfig eth0 | grep "inet addr:" | awk -F " " '{print $2}' | awk原创 2017-03-01 17:59:31 · 2593 阅读 · 1 评论 -
UBI文件系统制作和挂载
关于参数可以参考attach的命令输出:root@ubuntu:~# ubiattach /dev/ubi_ctrl -m 4 -d 0UBI device number 0, total 4000 LEBs (516096000 bytes, 492.2 MiB), available 0LEBs (0 bytes), LEBsize 129024 bytes (126.0 KiB原创 2016-04-22 15:10:25 · 28558 阅读 · 2 评论 -
shell
echo 'passwd'|sudo -S chmod -R 777 *原创 2016-07-15 14:11:37 · 257 阅读 · 0 评论 -
IIC时序
IIC总线在嵌入式开发中是常用的总线之一无论是实时时钟,温度传感器还是EEPROM等芯片都有采用IIC通信的IIC简单的说具有以下特点1,省IO只需要SDA SCK两根线即可完成通信2,速度快 最快可达到4Mbit/s3,一条总线可挂载多个设备实现主从通信 虽然现在的单片机和arm都内置了iic接口简单的配置下寄存器和调用API函数即可完成通信转载 2016-06-29 14:24:35 · 1524 阅读 · 0 评论 -
uboot usb启动
1、打开#define CONFIG_ZYNQ_USB #define CONFIG_USB_EHCI #define CONFIG_CMD_USB #define CONFIG_USB_STORAGE #define CONFIG_USB_EHCI_ZYNQ #define CONFIG_USB_ULPI_VIEWPORT #define CONF原创 2016-06-13 11:20:14 · 1866 阅读 · 0 评论 -
交叉编译找不到头文件问题
echo 'main(){}'|arm-xilinx-linux-gnueabi-gcc -E -v -看到如下输出内容Using built-in specs.COLLECT_GCC=arm-xilinx-linux-gnueabi-gccCOLLECT_LTO_WRAPPER=/home/ding/xilinx/CodeSourcery/Sourcery_CodeBen原创 2016-06-28 19:48:58 · 8892 阅读 · 0 评论 -
linux设备驱动归纳总结:1.总线、设备和驱动
linux设备驱动归纳总结(八):1.总线、设备和驱动http://blog.chinaunix.net/uid-25014876-id-109733.htmlxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx这几天一直在看设备模型,内核的代码看得我转载 2016-05-20 10:14:09 · 480 阅读 · 0 评论