- 博客(58)
- 问答 (2)
- 收藏
- 关注
原创 zynq usb dwc3中断事件异常
最近在调试zynq的 usb ,发现一个问题,给pc bulk传输吐log ,传输速率1MB左右速率发包,发现会传输终止, 调用epsend接口会失败 原因在于没有收到传输完成事件,收到连续2次not ready 事件,这种情况usb busy标志没有清除,结果send会进入update thansfer 分支指令,但是此时usb hardware已经释放了source index,会挂死掉这里,这样说明硬件已经发送了完成事件,但是事件buffer里面数据不对,没有实时更新 ...
2022-08-30 21:34:21
960
4
转载 终于有人说清楚了什么是DRAM、什么是NAND Flash
所有使用者对“存储器”这个名词可是一点都不陌生,因为所有的电子产品都必须用到存储器,且通常用到不只一种存储器。不过对于存储器种类、规格与形式,很多人容易搞混。比如,最近价格贵到炸的 NAND Flash,产业新闻里常常提到的DRAM,还有SRAM、SDRAM、DDR 3、DDR 4、NOR Flash … 这些又是什么? 先来一段百度百科。 存储器是用来存储程序和数据...
2020-04-22 16:01:34
3234
转载 堆与栈的区别
一、预备知识—程序的内存分配 一个由C/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其 操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回 收 。注意它与数据结构中的堆是两
2016-12-29 19:07:30
376
转载 linux内核如何启动第一个进程
pid=1 :init进程,系统启动的第一个用户级进程,是所有其它进程的父进程,引导用户空间服务。pid为 1 的一定是init进程.它是内核运行后的第一个进程. 它的作用你可以在网上查一下.总的来说功能很多.包括 runlevel, 驱动, 启动服务啥地都会做,感觉事情很多.pid=2 :kthreadd:用于内核线程管理。pid=3 :migration,用于进程在不同的CPU间迁移。
2016-12-29 18:46:46
6707
转载 autotool 简单用法
通过搜索资料和自身体会总结autotools的一个简单使用方法。大致包括如下命令:autoscanaclocalautoconfautoheaderautomake首先创建hello.c文件并编辑[cpp] view plain copy print?#inclu
2016-12-09 11:15:13
1603
转载 linux下判断文件和目录是否存在[总结]
1、前言 工作中涉及到文件系统,有时候需要判断文件和目录是否存在。我结合APUE第四章文件和目录,总结一下如何正确判断文件和目录是否存在,方便以后查询。2、stat系列函数 stat函数用来返回与文件有关的结构信息。stat系列函数有三种情况,分别对应文件名称、文件描述符和符号链接文件。stat结构描述了文件的属性,主要包括文件的类型、文件大小等等。详细stat结构
2016-11-05 16:29:23
3449
转载 Linux开发中常见段错误问题原因分析
1 使用非法的内存地址(指针),包括使用未经初始化及已经释放的指针、不存在的地址、受系统保护的地址,只读的地址等,这一类也是最常见和最好解决的段错误问题,使用GDB print一下即可知道原因。 2 内存读/写越界。包括数组访问越界,或在使用一些写内存的函数时,长度指定不正确或者这些函数本身不能指定长度,典型的函数有strcpy(strncpy),sprintf(snprint)等
2016-11-03 21:50:19
470
转载 ARM WFI和WFE指令
原文链接:http://www.wowotech.net/armv8a_arch/wfe_wfi.html?utm_source=tuicool&utm_medium=referral1. 前言蜗蜗很早以前就知道有WFI和WFE这两个指令存在,但一直似懂非懂。最近准备研究CPU idle framework,由于WFI是让CPU进入idle状态的一种方法,就下决心把它们弄清楚。
2016-10-31 13:39:48
869
转载 U-Boot如何向内核传递Flash的分区信息
1.如何对nand 分区。修改mtdparts环境变量就可以了么?对于目前的U-boot而言,是的.而且, 设置了mtdparts变量之后,你可以在nand read/write/erase命令中直接使用分区的名字而不必指定分区的偏移位置.set bootargs noinitrd console=ttySAC0 root=/dev/mtdblock3 rootfstype=jff
2016-10-27 10:09:15
1883
原创 Android studio项目中添加JNI so库
刚开始接触安卓,脑袋有些大,最近在项目中,遇到一个问题,就是studio进行jni ndk编译时,找不到动态链接库,建议大家在android.mk文件中,添加-L指定一下库的路径即可解决!对于从Eclipse迁移项目到Android Studio中添加.jar文件和.so文件无疑是一件很重要也是很头疼的问题!在最新版本中,默认是自动打包libs下面的所有.jar文件的,
2016-09-18 22:51:17
6531
转载 超级简单的Android Studio jni 实现(无需命令行)
1.配置Anroid Studio(这步是关键)使用[command+,] 打开Preferences,选择External Tools,点击加号框如下图:点击+号之后,打开Macros 配置宏命令界面,如下图:2.配置完成就可以使用javah 、ndk-build、ndk-build clea
2016-09-16 21:52:56
16346
转载 Android Studio下JNI编程
Android Studio下JNI编程(引入外部或AS自行编译so文件)发表于2015/12/31 14:21:17 463人阅读分类: Android学习杂项1. 引用外部so文件已验证过的引用外部so文件主要有三种方式:1.1 main目录下创建jniLibs目录,so文件按平台存放于子目录下(最简单方式)只需在app/src/main
2016-09-16 21:26:37
597
转载 Android Studio自动生成带系统签名的apk
如果你需要开发一个带有系统权限的app,往往需要配置SharedUserId,比如:此时,如果直接在AS中run,app是装不上的,需要先生成app,然后再使用系统文件对apk进行签名,java -jar signapk.jar platform.x509.pem platform.pk8 signDemo.apk signDemo_signed.apk这样才
2016-09-12 15:45:09
1129
转载 Android::开放root权限
分类: LINUX开放系统root权限,即使任何用户都可以执行su程序,以使得临时用户也具有了root的权限,然后去进行一些系统级的设置,如设置IP地址,DNS等。1、修改su程序对临时用户的限制,默认su只允许root和shell用户执行vi system/extras/su/su.c注释掉语句块/*myuid
2016-09-10 19:19:57
2395
转载 Android系统权限和root权限
原文地址:http://blog.youkuaiyun.com/liranke/article/details/8333014ndroid权限说明Android系统是运行在Linux内核上的,Android与Linux分别有自己的一套严格的安全及权限机制,Android系统权限相关的内容,(一)linux文件系统上的权限-rwxr-x--x system system
2016-09-07 10:25:13
5132
转载 Android build system note
1. Android编译系统分析编译脚本及系统变量build/envsetup.sh脚本分析在编译源代码之前通常需要在android源代码顶层目录执行 . ./build/envsetup.sh 目的是为了使用脚本 envsetup.sh 里面定义了一些函数:function help()function get_abs_build_var()function get_
2016-08-23 17:16:06
295
转载 把多个源码编译成一个ko文件的方法
陆陆续续也写了几个Linux内核模块了,但每次都是把代码写在一个源文件中,上次尝试了写在两个.c文件中,结果没有编译通过。 无奈之下,将其中一个.c文件重命名成.h文件,再include当另一个当中。但是,在.h文件中写函数的实现总感觉怪怪的。 今天查看了以下Kbuild的文档,有如下描述[c-sharp] view plaincopyIf a kernel m
2016-08-23 10:30:33
5162
转载 Android jni 找不到第三方库
最近做一个jni项目,拿到的so库需要用jni封装一层,等于是在jni的C++代码里调用第三方库的方法,然后整个项目在Android上运行出结果。自己用jni生成的so是libaa.so 使用的第三方库是libbb.so。到目前为止,遇到的问题是libbb各种找不到。libbb库去哪儿了? E/AndroidRuntime(11626): Caused by: Ja
2016-08-18 17:17:51
2025
转载 strtoul 函数解析
原型如下:unsigned long strtoul(const char *nptr,char **endptr,int base )参数1:字符串起始地址参数2:返回字符串有效数字的结束地址,这也是为什么要用二级指针的原因。参数3:转换基数。当base=0,自动判断字符串的类型,并按10进制输出,例如"0xa",就会把字符串当做16进制处理,输出的为10。更多的下面
2016-07-26 09:56:19
9216
转载 sysfs创建led驱动
有了前面两个实验,我们就可以依葫芦画瓢,实现自己想要的驱动了。本实验通过sysfs,即前面的kobject实现LED灯的控制。默认x4412开发板已经将LED驱动集成进去了,但是它使用的linux内核自带的驱动,尽管它本质上也是使用的sysfs文件系统,但是由于里面结构复杂,不便于新手理解,因此我们特别将它提取出来,编写了非常简单明了的驱动。用户真正消化本驱动后,再去研究自带的驱动,就显得得心应手
2016-07-25 18:51:39
830
转载 linux sed命令详解
简介sed 是一种在线编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有 改变,除非你使用重定向存储输出。Sed主要用来自动编辑一个或多个文件;简化对文件的反复操作;编写转换程序等。 sed
2016-07-18 18:21:31
221
转载 U-BOOT 移植过程详解:添加一块新板子的支持
U-BOOT移植过程详解: 添加一块新板子的支持 分类: U-BOOT移植 2014-01-17 22:07 437人阅读 评论(0) 收藏 举报 u-boot目录(?)[+]申明添加一块新板子的支持boardscfginclud
2016-06-28 22:36:20
1663
转载 U-BOOT移植过程详解: SPL
U-BOOT移植过程详解: SPL 分类: U-BOOT移植 2014-01-21 18:06 641人阅读 评论(0) 收藏 举报 u-boot目录(?)[+]申明SPLSPL的文件组成SPL代码分析startSrese
2016-06-28 22:31:35
2386
转载 UBOOT 常用 COMMAND
uboot常用标签: uboot2014-02-28 15:31 1231人阅读 评论(0) 收藏 举报 分类: uboot(4) 1、 内存/寄存器操作指令 nm 修改内存值 (指定地址) 格式: nm [.b, .w, .l] address mm 修改内
2016-06-12 08:39:43
1729
转载 linux内核的裁剪与移植
(2015-09-08 14:38:45)转载▼1. 进到linux内核源代码目录下cd /home/linux-2.6.162. make clean 删除大多数的由编译生成的文件、但会保留内核的配置文件.config。 make mrproper 删除所有的编
2016-05-26 16:31:08
7918
1
转载 Ubuntu下安装Qt全部过程
Ubuntu下安装Qt全部过程 (2013-03-04 22:12:02)▼ 分类: ARM Linux1.到官网http://qt-project.org/downloads或者ftp://ftp.qt-project.org/上下载Qt的源码包,要安装当然要先有源码咯,我下载的是qt-everywhere-opensource
2016-05-25 11:26:09
1243
翻译 linux下开发的头文件
主目录/usr/include对于嵌入式开发,每个linux平台都有自己专属的linux上层库,比如说arm要配置它的的交叉编译环境做相关的操作,linux头文件目录都是标准的头文件目录中总共有32个.h头文件。其中主目录下有13个,asm子目录中有4个,linux子目录中有10个,sys子目录中有5个。这些头文件各自的功能如下,具体的作用和所包含的信息请参见第14章。
2016-05-20 17:34:21
1512
转载 Linux驱动之设备模型(9)-platform
Linux驱动之设备模型(9)-platform (2013-02-21 11:25:04)转载▼标签: linux 设备模型分类: 设备模型原文地址: http://blog.youkuaiyun.com/hsly_support/article/details/736661010.Platfor
2016-05-19 16:57:38
485
转载 Linux驱动之设备模型(8)
Linux驱动之设备模型(8) (2013-02-21 11:17:20)转载▼标签: linux 设备模型分类: 设备模型原文地址: http://blog.youkuaiyun.com/hsly_support/article/details/73666079.小结9.1 总线,设
2016-05-19 16:56:45
368
转载 Linux驱动之设备模型(7)
Linux驱动之设备模型(7) (2013-02-21 11:15:33)转载▼标签: linux 设备模型分类: 设备模型原文地址: http://blog.youkuaiyun.com/hsly_support/article/details/73666028.类8.1 cla
2016-05-19 16:56:04
532
转载 Linux驱动之设备模型(6)
Linux驱动之设备模型(6) (2013-02-21 11:14:00)转载▼ 分类: 设备模型原文地址: http://blog.youkuaiyun.com/hsly_support/article/details/73665987.设备驱动7.1 设备驱动l 在Linux设备模型中,设备驱
2016-05-19 16:55:28
335
转载 Linux驱动之设备模型(5)
Linux驱动之设备模型(5) (2013-02-21 11:11:20)转载▼标签: 设备模型 linux分类: 设备模型原文地址: http://blog.youkuaiyun.com/hsly_support/article/details/73665956.设备6.1 设备
2016-05-19 16:54:41
598
转载 Linux驱动之设备模型(4)
Linux驱动之设备模型(4) (2013-02-21 11:08:52)转载▼标签: 设备模型 linux分类: 设备模型原文地址: http://blog.youkuaiyun.com/hsly_support/article/details/73665925.总线5.1
2016-05-19 16:53:48
514
转载 Linux驱动之设备模型(3)
Linux驱动之设备模型(3) (2013-02-21 11:05:08)转载▼标签: 设备模型 linux分类: 设备模型原文地址: http://blog.youkuaiyun.com/hsly_support/article/details/7362992 4.小结4.1 ko
2016-05-19 16:53:02
536
转载 Linux驱动之设备模型(2)
Linux驱动之设备模型(2) (2013-02-21 11:03:29)转载▼标签: 设备模型 linux分类: 设备模型原文地址: http://blog.youkuaiyun.com/hsly_support/article/details/73629493.ktype& K
2016-05-19 16:52:13
362
转载 Linux驱动之设备模型(1)
Linux驱动之设备模型(1) (2013-02-21 11:00:18)转载▼标签: 设备模型 linux分类: 设备模型原文地址 :http://blog.youkuaiyun.com/hsly_support/article/details/73590781.Overv
2016-05-19 16:51:11
548
转载 uevent 分析
1.kobject, ktype, ksetkobject代表sysfs中的目录。ktype代表kobject的类型,主要包含release函数和attr的读写函数。比如,所有的bus都有同一个bus_type;所有的class都有同一个class_type。kset包含了subsystem概念,kset本身也是一个kobject,所以里面包含了一个kobject对象。
2016-05-19 16:43:17
537
转载 Linux errno 错误对照表
Linux errno 错误对照表标签: Linuxerrno错误Linux错误码环境2014-08-08 11:01 4409人阅读 评论(0) 收藏 举报 分类: Linux 学习笔记(5) 转自:http://blog.youkuaiyun.com/gpengtao/article/details/7553307rr
2016-05-17 10:20:03
8992
转载 linux网络编程之socket(五):tcp流协议产生的粘包问题和解决方案
linux网络编程之socket(五):tcp流协议产生的粘包问题和解决方案标签: 网络编程linux2013-12-16 10:58 475人阅读 评论(0) 收藏 举报 分类: socket编程(15) 我们在前面曾经说过,发送端可以是一K一K地发送数据,而接收端的应用程序可以两K两K地提走数据,当然也有可能一次提走3K或6K数据,或者一
2016-05-17 10:14:03
2320
空空如也
Linux 下的PCIE热插拔问题,.求大神不吝赐教
2015-09-14
台式机x64 架构linux 驱动开发的安装问题
2015-08-05
TA创建的收藏夹 TA关注的收藏夹
TA关注的人