电子发烧友网 > 嵌入式技术

linux C用户态调试追踪函数调用堆栈以及定位段错误

linux C用户态调试追踪函数调用堆栈以及定位段错误

一般察看函数运行时堆栈的方法是使用GDB(bt命令)之类的外部调试器,但是,有些时候为了分析程序的BUG,(主要针对长时间运行程序的分析),在程序出错时打印出函数的调用堆栈是非常有用的。...

2019-05-16 标签:Linux函数堆栈 26

ARM汇编与C混合编程

ARM汇编与C混合编程

汇编代码必须放在一个字符串内,且字符串中间不能直接按回车换行,可以写成多个字符串,注意中间不能有任何符号,这样就会将两个字符串合并为一个指令之间必须要换行,还可以使用\t使...

2019-05-16 标签:arm汇编 23

Linux编程可以给你的程序开后门

Linux编程可以给你的程序开后门

将从fifo取得数据进行格式解析,比如我定义了d d的意思是display debug,即显示现在的debug级别,那么我们程序就得首先对原始数据进行格式处理。...

2019-05-16 标签:Linux编程 30

学会Linux进程管理的方法

学会Linux进程管理的方法

Linux 是一种动态系统,能够适应不断变化的计算需求。Linux 计算需求的表现是以进程 的通用抽象为中心的。进程可以是短期的(从命令行执行的一个命令),也可以是长期的(一种网络服务)...

2019-05-16 标签:Linux进程 13

Linux编程中定制带级别的log

Linux编程中定制带级别的log

进程内开一个独立线程用于Debug&Info Center,在这里我们可以看到所有的打印信息,便于追踪各程序动向...

2019-05-16 标签:Linux编程 11

了解并学习Linux文件管理方法

了解并学习Linux文件管理方法

对于文件,我们可以读取(read),写入(write)和运行(execute)。读取是从已经存在的文件中获得数据。写入是向新的文件或者旧的文件写入数据。如果文件储存的是可执行的二进制码,那么它可以被...

2019-05-16 标签:Linux文件管理 11

详细介绍Linux 内存使用方法

详细介绍Linux 内存使用方法

Linux在内存管理上份为两级,一级是线性区,类似于00c73000-00c88000,对应于虚拟内存,它实际上不占用实际物理内存;一级是具体的物理页面,它对应我们机器上的物理内存。...

2019-05-16 标签:Linux内存 13

HACKRF初级教程之:WBFM发射

HACKRF初级教程之:WBFM发射

如果你使用的ubuntu或kali等版本较老的,建议使用源码的方法安装最新的libhackrf驱动。如果使用较新的操作系统如ubuntu16.xx,可以直接使用apt-get安装。...

2019-05-16 标签:dsp驱动 66

学会用core dump调试程序错误

学会用core dump调试程序错误

. 在嵌入式系统中,有时core dump直接从串口打印出来,结合objdump查找ra和epa地址,运用栈回溯,可以找到程序出错的地方。...

2019-05-16 标签:Coredump 29

需要了解Linux input子系统编程、分析与模板的原理

需要了解Linux input子系统编程、分析与模板的原理

输入核心层主要提供一些API供设备驱动层调用,通过这些API设备驱动层上报的数据就可以传递到事件处理层,...

2019-05-16 标签:Linux子系统 22

你了解Linux实时架构?

你了解Linux实时架构?

实时系统指系统的计算正确性不仅取决于计算的逻辑正确性,还取决于产生结果的时间。如果未满足系统的时间约束,则认为系统失效。...

2019-05-16 标签:Linux架构 14

你知道在linux下搭建lua脚本语言的编程环境?

你知道在linux下搭建lua脚本语言的编程环境?

lua是脚本语言的一种,具体的该脚本的介绍可百度,本文介绍Linux系统下搭建lua编程环境的步骤,以及在搭建过程中碰到的种种问题。...

2019-05-16 标签:Linux编程lua脚本 67

你知道Linux系统调用的原理

你知道Linux系统调用的原理

系统调用是应用程序与操作系统内核之间的接口,它决定了程序如何与内核打交道的。无论程序是直接进行系统调用,还是通过运行库,最终还是会到达系统调用这个层面上...

2019-05-16 标签:Linux系统调用 18

linux下IPTABLES配置详解

linux下IPTABLES配置详解

当超出了IPTABLES里filter表里的两个链规则(INPUT,FORWARD)时,不在这两个规则里的数据包怎么处理呢,那就是DROP(放弃)。应该说这样配置是很安全的。我们要控制流入数据,而对于OUTPUT链,也...

2019-05-16 标签:Linux 24

Linux音频OSS的buffer分析

Linux音频OSS的buffer分析

首先在probe JZ mixer设备的时候进行初始化DMA及缓冲buff. 在函数init_jz_i2s中调用audio_init_endpoint进行实始化。...

2019-05-16 标签:音频Linuxbuffeross系统 30

Linux中epoll IO多路复用机制

Linux中epoll IO多路复用机制

epoll 是Linux内核中的一种可扩展IO事件处理机制,最早在 Linux 2.5.44内核中引入,可被用于代替POSIX select 和 poll 系统调用,并且在具有大量应用程序请求时能够获得较好的性能( 此时被监视的文...

2019-05-16 标签:Linuxepoll 17

学会Linux目录操作流程

学会Linux目录操作流程

 //打开一个文件夹流,返回一个绑定了这个流的指针,成功返回一个指针,失败返回NULL设errno#include #include DIR *opendir(const char *name);DIR *fdopendir(int fd);...

2019-05-16 标签:Linux目录 15

你知道Makefile变量具体是怎样的?

你知道Makefile变量具体是怎样的?

注意这两种替换的方式都得使用变量名,不能使用变量的内容,即不能写成诸如$($(VAR):o=a)的形式,其他返回内容的函数也不行,均会导致替换的失败 makefile中有两种变量替换,...

2019-05-16 标签:Makefile 17

需要了解并学习Linux计时器的原理及其应用

需要了解并学习Linux计时器的原理及其应用

Linux中, 系统为每个系统都维护了三种计时器,分别为: 真实计数器, 虚拟计时器以及实用计时器, 一般情况下都使用真实计时器...

2019-05-16 标签:Linux计时器 25

你了解Makefile的内嵌函数?

你了解Makefile的内嵌函数?

把中的单词逐一取出放到参数所制定的变量中,然后再执行所包含的表达式,循环过程中,所返回的每个字符串会以空格分隔,最后当整个循环结束时,所返回的每个字符串所组成的整个字符串...

2019-05-16 标签:Makefile 23

Makefile目标,伪目标,头文件自动依赖

Makefile目标,伪目标,头文件自动依赖

all 是所有目标的伪目标,功能是编译所有目标clean 删除所有被make创建的文件install 安装已经编译好的程序,其实就是把目标执行文件拷贝到指定目标中print 这个伪目标的功能是列出改变过的源...

2019-05-16 标签:Makefile头文件 24

你了解Makefile关键字?

你了解Makefile关键字?

如果一个变量的值需要在编译选项中指定或由系统传入,那么makefile中可以使用override关键字来设置,使这个变量的赋值被忽略...

2019-05-16 标签:关键字Makefile 22

你知道Linux audio(OSS)子系统是怎样?

你知道Linux audio(OSS)子系统是怎样?

在linux声卡的驱动中存在两种架构,一种是OSS(开放声音系统),一种是ALSA(先进Linux声音架构)。OSS是一个商业声卡驱动程序,需要花钱购买。一般我们现在使用的是ALSA的声音架构。OOS(Op...

2019-05-16 标签:Linuxaudio子系统oss系统 25

需要了解并学习I2C总线的构造和使用注意事项

需要了解并学习I2C总线的构造和使用注意事项

I2C总线的传输是一个比较复杂的数码传输,它主要是以8bit的字节进行数据传输,而传输时又总有一个时钟脉冲相对应,因此,I2C总线的数据传送实质上是个脉冲串的传输,其传输格式如图1-14所...

2019-05-16 标签:总线I2C 55

驱动之路-内存管理机制及mmap方法

驱动之路-内存管理机制及mmap方法

Linux 2.6.29内核为每种CPU提供统一的界面,采用四级页面管理构架。来兼容二级、三级、四级管理架构的CPU。通过页式管理机制完成虚拟地址(线性地址)到物理地址的映射。一般每个页大小为...

2019-05-16 标签:驱动内存 18

学会OpenEmbedded构建嵌入式Linux系统

学会OpenEmbedded构建嵌入式Linux系统

本文主要是教大家如何用OpenEmbedded构建嵌入式的Linux系统,不过它做得太复杂,如果不出问题,用起来很方便,但是一旦出点问题,就不知道该怎样去弄了。...

2019-05-16 标签:嵌入式LinuxEmbedded 25

学会USB Video Class的实现原理

学会USB Video Class的实现原理

由于目前支持Video Class的设备还很少,所以在Linux上还没有开源的Video Class的主机端驱动,设备端的Video Class驱动就更没有见到开源的代码了。...

2019-05-16 标签:usbVideoClass 20

你知道perf学习-linux自带性能分析工具怎么用?

你知道perf学习-linux自带性能分析工具怎么用?

Linux性能调优工具,32内核以上自带的工具,软件性能分析。在2.6.31及后续版本的linux内核里,安装perf非常的容易。...

2019-05-16 标签:LinuxPerfo 19

驱动之路-硬件访问及混杂设备LED驱动

驱动之路-硬件访问及混杂设备LED驱动

一些CPU制造厂在它们的芯片中使用单一的地址空间,而一些则为外设保留独立的地址空间,以便和内存区间分开来,这段独立与内存地址空间的地址空间就叫I/O端口。在/proc/ioport中可以看到。嵌...

2019-05-16 标签:led驱动硬件 20

你了解Linux平台相关代码的C++解决方案

你了解Linux平台相关代码的C++解决方案

由于程序中不可避免的存在平台相关代码(系统调用等),软件研发人员为了保证自己的产品在各个 Linux 平台上运行顺畅,一般都需要在源代码中大量使用预编译参数,这样会大大降低程序的...

2019-05-16 标签:LinuxC++代码 16

编辑推荐厂商产品技术软件/工具OS/语言