ARM-linux
zzwdkxx
这个作者很懒,什么都没留下…
展开
-
linux/windows下查看目标文件.a/.lib的函数符号名称
1、linux下(1)、 objdump -t 查看对象文件所有的符号列表;例如objdump -t libtest.o(2)、nm列出目标文件(.o)的符号清单;例如nm -s filename.a/filename.o/a.out(3)、列出所有定义的符号nm --defined-only libname.a(4)、显示所有对象文件(.o文件)的列表;例如ar -t libname.a2、windows下(1)、objdump -t 查看对象文件所有的符号..转载 2021-03-04 20:27:46 · 1083 阅读 · 1 评论 -
“undefined reference to“ 问题汇总及解决方法
https://blog.csdn.net/dyzhen/article/details/79815667转载 2021-02-24 21:54:05 · 1818 阅读 · 0 评论 -
ubuntu 16.04 网卡配置 虚拟机上网
看所有网卡(包括未启动的) ifconfig -a 或者 ip link 查看当前网卡配置,打开配置文件/etc/network/interfaces 设置静态IP(dhcp为动态获取,static为静态获取) sudo vim /etc/network/interfaces 修改成如下内容: auto enp0s3iface ens33 inet static #设置静态IP,动态的是将static修改为dhcp,如果设置为动态IP无法设置虚...转载 2020-11-16 23:55:49 · 288 阅读 · 0 评论 -
Systemd 添加自定义服务(开机自启动)
转自:https://www.cnblogs.com/jhxxb/p/10654554.htmlSystemd简介:https://fedoraproject.org/wiki/Systemd/zh-cn管理自启动服务(空格取消选中,按 TAB 切换确定):ntsysv一、service unit常用命令,以 mysql 服务为例# 开机启动systemctl enable mysqld# 关闭开机启动systemctl disable mysqld# 启动服务syste..转载 2020-09-11 19:40:32 · 1550 阅读 · 0 评论 -
linux内核的配置
以2.6.35.7版本的内核为例总结:.config决定了Make时的条件编译与连接。.config文件由两次配置第一次makeXX_defconfig 第二次menuconfig。1、分析源码目录下的单个文件(1)Kbuild,Kbuild是kernel build的意思,就是内核编译的意思。这个文件就是linux内核特有的内核编译体系需要用到的文件。(2)Makefile,这个是linux内核的总makefile,整个内核工程用这个Makefile来管理的。(3)mk,是九鼎在移植时自.转载 2020-07-10 20:26:11 · 562 阅读 · 0 评论 -
Yocto编译流程详细攻略及bitbake实用方法
https://blog.csdn.net/weixin_42275611/article/details/105432199转载 2020-06-24 13:42:49 · 2347 阅读 · 0 评论 -
实时操作系统和通用的分时操作系统的区别
实时操作系统和通用的分时操作系统的区别实时系统(Real-time operating system,RTOS)的正确性不仅依赖系统计算的逻辑结果,还依赖于产生这个结果的时间。换句话说,系统设计时所有的事件都可以在指定的时间内得到响应。如果系统关键任务响应时间都满足这条标准,则这样的实时系统可称为硬实时系统。 与通用的分时操作系统不同(Linux、Windows、Unix等)...转载 2019-11-24 16:03:11 · 1776 阅读 · 0 评论 -
select,poll,epoll与IO模型
几个基础概念流与IO操作可以进行I\O操作的内核对象,例如文件、管道、套接字……流的入口:文件描述符(fd)所有对流的读写操作,我们都可以称之为IO操作。阻塞 阻塞等待: 空出大脑可以安心睡觉。(不占用CPU宝贵的时间片)解决阻塞死等的办法(1)忙轮询非阻塞,忙轮询: 浪费时间,浪费电话费,占用快递员时间(占用CPU,系统资源)(2)...原创 2019-11-16 16:18:32 · 396 阅读 · 1 评论 -
进程间通信IPC-消息队列
转自:https://my.oschina.net/xlplbo/blog/338282前言: 消息队列就是一个消息的链表。可以把消息看作一个记录,具有特定的格式以及特定的优先级。对消息队列有写权限的进程可以向其中按照一定的规则添加新消息;对消息队列有读权限的进程则可以从消息队列中读走消息函数:1.创建新消息队列或取得已存在消息队列原型:int msgget(key转载 2016-12-19 15:35:42 · 335 阅读 · 0 评论 -
Linux 常用C函数(中文版)
查阅:http://man.chinaunix.net/develop/c&c++/linux_c/default.htmstrtok(分割字符串)相关函数index,memchr,rindex,strpbrk,strsep,strspn,strstr表头文件#include定义函数char * s转载 2016-11-28 16:03:43 · 1967 阅读 · 0 评论 -
【Linux】进程间通信-命名管道FIFO
命名管道概述如果我们要在不相关的进程间交换数据,那么使用FIFO文件将会十分方便。FIFO文件通常也称为命名管道(named pipe)。命名管道是一种特殊类型的文件,它在文件系统中以文件名的形式存在。创建命名管道创建命名管道一般有两种方式:命令行方式一个比较旧的方式是:mknod filename p这个命令并未出现在X/O转载 2016-11-25 18:00:37 · 420 阅读 · 0 评论 -
Makefile 使用总结(好文推荐)
转自:http://www.cnblogs.com/wang_yb/p/3990952.html1. Makefile 简介Makefile 是和 make 命令一起配合使用的.很多大型项目的编译都是通过 Makefile 来组织的, 如果没有 Makefile, 那很多项目中各种库和代码之间的依赖关系不知会多复杂.Makefile的组织流程的能力如此之强, 不仅可以用转载 2016-08-10 19:48:20 · 660 阅读 · 0 评论 -
GDB调试方法汇总
一、初始化输入gdb进入gdb调试环境。或者直接输入gdb + progfile来加载文件。注意该文件是使用gcc(或g++)编译得到的。为了使 gdb 正常工作, 必须使你的程序在编译时包含调试信息,编译时必须使用-g参数来。或者进入gdb环境后,通过命令file + progfile来加载需要调试的可执行文件文件。查看源代码:list [函数名][行数]设置转载 2016-06-15 19:36:13 · 986 阅读 · 0 评论 -
Makefile条件编译debug版和release版
一般,在开发测试阶段用debug版本,而上线发布用release版本。使用Makefile定制编译不同版本,避免修改程序和Makefile文件,将会十分方便。读了一些资料,找到一个解决方法,Makefile预定义宏与条件判断,结合make预定义变量,进行条件编译。 比如,有一个test.cpp,包含这段代码#ifdef debug//your code#endi转载 2016-05-11 17:12:25 · 4372 阅读 · 0 评论 -
linux c语言 select函数用法
Select在Socket编程中还是比较重要的,可是对于初学Socket的人来说都不太爱用Select写程序,他们只是习惯写诸如connect、accept、recv或recvfrom这样的阻塞程序(所谓阻塞方式block,顾名思义,就是进程或是线程执行到这些函数时必须等待某个事件的发生,如果事件没有发生,进程或线程就被阻塞,函数不能立即返回)。可是使用Select就可以完成非阻塞(所转载 2016-03-11 17:06:11 · 484 阅读 · 0 评论 -
用GDB调试程序
转自:http://blog.csdn.net/haoel/article/details/2879转载 2014-11-06 18:13:27 · 615 阅读 · 0 评论 -
利用backtrace和objdump进行代码分析
http://blog.csdn.net/hanchaoman/article/details/5583457利用backtrace和objdump进行分析: 重写的代码如下: #include #include #include #include /* A dummy function to make the backtrace more intere转载 2016-03-10 16:34:41 · 2000 阅读 · 0 评论 -
arm-linux-gcc交叉工具链的安装和使用
转自:http://blog.csdn.net/quannii/article/details/85156741、安装arm-linux-gcc交叉工具链[root@localhost Denny]# lsarm-linux-gcc-4.3.2.tgz Desktop gcc kernel modules shell实验 smb.conf tft转载 2016-03-10 14:41:43 · 3036 阅读 · 0 评论 -
linux 查看进程占用内存
1.top top -b -n 1 |grep opera|awk '{print "cpu:"$9"%","mem:"$10"%"}' cpu:0.0% mem:26.4%2. ps aux其中:RSS-------------进程实际占用物理内存大小;VSZ--------------任务虚拟地址空间的大小3./proc/p转载 2015-11-19 11:00:13 · 665 阅读 · 0 评论 -
Linux进程间通信——使用信号
转自:http://blog.csdn.net/ljianhui/article/details/10128731一、什么是信号用过Windows的我们都知道,当我们无法正常结束一个程序时,可以用任务管理器强制结束这个进程,但这其实是怎么实现的呢?同样的功能在Linux上是通过生成信号和捕获信号来实现的,运行中的进程捕获到这个信号然后作出一定的操作并最终被终止。信号是UNIX和转载 2016-12-20 20:15:08 · 242 阅读 · 0 评论 -
Linux下实现脚本监测特定进程占用内存情况
转自:http://blog.csdn.net/keheinash/article/details/50641090内存泄露是C/C++程序员经常需要面对的问题,除了有效地经常查找出内存泄露的位置外,在嵌入式的开发中,还经常需要确定自己写的程序是否存在内存泄露的情况Linux系统下,我们可以利用以下命令来获取特定进程的运行情况: cat /proc/$PID/sta转载 2017-03-07 10:54:40 · 784 阅读 · 0 评论 -
Linux进程管理之“四大名捕”
Linux进程管理之“四大名捕”2016-03-25 00:56:51标签:linux 基础知识 武侠小说原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://xinzong.blog.51cto.com/10018904/1755060一、四大名捕四大名捕,最初出现于温瑞安创作转载 2017-03-12 10:05:03 · 306 阅读 · 0 评论 -
Linux下使用diff和patch制作及打补丁(已经实践可行!)
转自:https://blog.csdn.net/tao_627/article/details/52939175在做开发的过程中难免需要给内核及下载的一些源码打补丁,所以我们先学习下Linux下使用如如何使用diff制作补丁以及如何使用patch打补丁。通过diff命令比较出新旧版本之间的差异,并以patch命令来将旧版本更新为新版本。首先介绍一下diff和patch。1、dif...转载 2019-07-16 20:26:03 · 4724 阅读 · 0 评论 -
Yocto之目录结构说明
转自: https://blog.csdn.net/faihung/article/details/82699268以下结构为yocto工程的一些通用的结构。实际工程中,各个厂商可能根据自己的需要进行剪裁,但是整体的结构以及每个目录存放的内容大体上是一致的。顶层文件结构bitbake bitbake工具目录。bitbake,是一metedate解释器,读取meteda...转载 2019-07-16 19:14:50 · 1097 阅读 · 0 评论 -
systemd下设置串口自动登录并添加自启动脚本的方法
注:详细介绍见文末原文。开机串口控制台自动登录:1.一般来说,关于系统启动的相关服务会放在/etc/systemd/system/下面,进入其中搜索关于getty自动登录程序find -iname "*getty*"./getty.target.wants./getty.target.wants/serial-getty@ttymxc0.service2.结果搜索到相关服务目...转载 2019-06-10 14:08:47 · 5359 阅读 · 0 评论 -
内存不足引起“gcc: internal compiler error: Killed (program cc1plus)”以及解决办法
gcc 编译出现 internal compiler error: Killed在使用源码包安装onnx时出现这样的错误,经过搜索发现是内存不足引起的。原因:主要问题是内存不足导致的,可以通过增加swap交换分区来解决操作:sudo mkdir -p /var/cache/swap/sudo dd if=/dev/zero of=/var/cache/swap/swap0 bs=...转载 2019-05-29 11:04:12 · 3793 阅读 · 0 评论 -
EGL Error : Could not create the egl surface: error = 0x3003 错误的解决办法
最近在配置qml运行环境时,遇到了一个OpenGL相关的报错:EGL Error : Could not create the egl surface: error = 0x3003解决办法参考下文:I am currently using a 24bit parallel display, so in the .dtsi file inside fb@0, I set the def...原创 2018-10-29 10:55:14 · 7407 阅读 · 1 评论 -
System V init启动与Busybox init启动对比
// 按: 在看《Embedded linux primer》中busybox一章的时候讲到了 他的启动方式和System V的不同,不太明白,于是查了一下。System V init启动过程概括地讲,Linux/Unix系统一般有两种不同的初始化启动方式.1) BSD system init2) System V init大多数发行套件的Linux使用了与System V init相仿的init...转载 2018-06-07 10:02:10 · 1796 阅读 · 0 评论 -
apt-get update 异常 Temporary failure resolving
需要重装一下vim,执行操作提示:root@ubuntu-novotech-dev:~# apt-get install vimReading package lists... DoneBuilding dependency tree Reading state information... DoneThe following additional packages原创 2017-09-06 11:52:11 · 27735 阅读 · 1 评论 -
linux下生成core dump文件调试方法及设置
转自:http://andyniu.iteye.com/blog/1965571core dump的概念:A core dump is the recorded state of the working memory of a computer program at a specific time, generally when the program has terminated转载 2017-06-27 13:23:09 · 17899 阅读 · 0 评论 -
单片机接收数据帧帧头帧尾校验数据解析
转自:http://blog.csdn.net/xr528787067/article/details/52822377前阵子一朋友使用单片机与某外设进行通信时,外设返回的是一堆格式如下的数据:[cpp] view plain copyAA AA 04 80 02 00 02 7B AA AA 04 80 02 00 08 75转载 2017-07-14 17:27:33 · 18973 阅读 · 0 评论 -
Linux中如何产生core文件?
转自:http://www.cnblogs.com/gatherstars/p/6019766.html 在程序不寻常退出时,内核会在当前工作目录下生成一个core文件(是一个内存映像,同时加上调试信息)。使用gdb来查看core文件,可以指示出导致程序出错的代码所在文件和行数。 1.core文件的生成开关和大小限制 (1)使用ulimit -c命令可查看core转载 2017-07-04 09:51:26 · 981 阅读 · 0 评论 -
详解Linux中的日志及用日志来排查错误的方法
转自:http://www.jb51.net/LINUXjishu/378593.html这篇文章主要介绍了详解Linux中的日志及用日志来排查错误的方法,是Linux入门学习中的基础知识,需要的朋友可以参考下Linux 系统日志许多有价值的日志文件都是由 Linux 自动地为你创建的。你可以在 /var/log 目录中找到它们。下面是在一个典型的转载 2017-03-29 19:42:00 · 26764 阅读 · 1 评论 -
Ubuntu输入密码登陆后又跳回到登录界面
Ubuntun开机发现登录不了,密码明明是正确的啊!折腾半天,查了几个文档都解决不了,看到这里(点击打开链接)感觉到可能也是环境变量改错了,试了下果然如此. (1)ctrl+alt+f1切换到命令行模式,使用正确的用户名密码登录,按照网上搜到的解决办法,还是不行,现象:连续试了几个命令,结合提示,应该是命令找不到,执行export PATH=/usr/local/sbin:原创 2017-03-29 11:12:02 · 3898 阅读 · 0 评论 -
消息队列的使用
现有一个需求要求ui和app之间完成一次通信,采用消息的方式,代码如下。1. APP层appmsg.h#ifndef _APPMSG_H_#define _APPMSG_H_int Notify_UI_CloseHandle(char * devpath);#endifappmsg.c#include #include #include #include #inc原创 2015-09-17 20:24:40 · 774 阅读 · 0 评论 -
gcc编译动态和静态链接库
我们通常把一些公用函数制作成函数库,供其它程序使用。函数库分为静态库和动态库两种。静态库在程序编译时会被连接到目标代码中,程序运行时将不再需要该静态库。动态库在程序编译时并不会被连接到目标代码中,而是在程序运行是才被载入,因此在程序运行时还需要动态库存在。本文主要通过举例来说明在Linux中如何创建静态库和动态库,以及使用它们。 第1步:编辑得到举例的程序--hello.c和test.c;转载 2015-09-16 18:10:59 · 424 阅读 · 0 评论 -
Volatile的作用
volatile的作用 volatile的作用: 作为指令关键字,确保本条指令不会因编译器的优化而省略,且要求每次直接读值. 简单地说就是防止编译器对代码进行优化.比如如下程序: XBYTE[2]=0x55; XBYTE[2]=0x56; XBYTE[2]=0x57; XBYTE[2]=0x58;转载 2013-11-12 11:39:00 · 795 阅读 · 0 评论 -
linux驱动开发流程
嵌入式linux驱动开发流程嵌入式系统中,操作系统是通过各种驱动程序来驾驭硬件设备的。设备驱动程序是操作系统内核和硬件设备之间的接口,它为应用程序屏蔽了硬件的细节,这样在应用程序看来,硬件设备只是一个设备文件,可以像操作普通文件一样对硬件设备进行操作。设备驱动程序是内核的一部分,完成以下功能:◇ 驱动程序的注册和注销。◇ 设备的打开和释放。◇ 设备的读写操作。◇ 设备的控制操作转载 2013-11-12 10:32:18 · 1376 阅读 · 0 评论 -
不错的驱动源码(vt6655)
http://www.oschina.net/code/explore/linux-2.6.36/drivers/staging/vt6655/ioctl.c转载 2013-10-22 11:08:01 · 925 阅读 · 0 评论 -
Makefile之Linux内核模块的Makefile写法分析
原始出处:http://blog.csdn.net/gqb666/article/details/8771621前些天写一个驱动模块。竟然写内核模块Makefile时出了问题,于是将其总结下来,下次再用时拿过来改下就行了。[plain] view plaincopyprint?#General Purpose Makefile for Linux Kernel转载 2013-10-18 13:46:19 · 1439 阅读 · 0 评论