嵌入式Linux中文站

Linux 调试器之堆栈展开!

阅读(159)

导读 有时你需要知道的最重要的信息是什么,你当前的程序状态是如何到达那里的。有一个 backtrace 命令,它给你提供了程序当前的函数调用链。这篇文章将向你展示如何在 x86_64 上实现堆栈展开以生成这样的回溯。 系列索引 这些链接将会随着其他帖子的发布而上线。 准备环境 断点 寄存器和内存 ELF 和 DWARF 源码和信号 源码级逐步执行 源码级断点 堆栈展开 读取变量 之后步骤 用下面的程序作为例子: void a() {//stopped here}void b() {a();}void c(

Linux 调试器之高级主题!

阅读(182)

导读 我们终于来到这个系列的最后一篇文章!这一次,我将对调试中的一些更高级的概念进行高层的概述:远程调试、共享库支持、表达式计算和多线程支持。这些想法实现起来比较复杂,所以我不会详细说明如何做,但是如果你有问题的话,我很乐意回答有关这些概念的问题。 系列索引 准备环境 断点 寄存器和内存 Elves 和 dwarves 源码和信号 源码层逐步执行 源码层断点 调用栈 处理变量 高级主题 远程调试 远程调试对于嵌入式系统或对不同环境进行调试非常有用。它还在高级调试器操作和与操作系统和硬件的交互之间设置了一个

在嵌入式linux下搭建Boa Webserver

阅读(293)

背景: 1、嵌入式Web的应用。在嵌入式设备的管理与交互中,基于Web方式的应用成为目前的主流,这种程序结构也就是大家非常熟悉的C/S结构,即在嵌入式设备上运行一个支持脚本或CGI功能的Web服务器,能够生成动态页面,在用户端只需要通过Web浏览器就可以对嵌入式设备进行管理和监控,非常方便实用。 2、嵌入式服务器的选择。由于嵌入式设备资源一般都比较有限,并且也不需要能同时处理很多用户的请求,因此不会使用Linux下最常用的如Apache等服务器,而需要使用一些专门为嵌入式设备设计的Web服务器,这些Web

嵌入式linux下u盘自动挂载的实现

阅读(211)

一、方法一 由于我调试的系统是基于LSDK的,所以没法直接使用openwrt中的hotplug完成此功能。所以使用了以下的方法。 我实现的方法很简单,主要是周期读取文件/proc/partitions文件,当有u盘插入时,该文件中就会有u盘的信息:sdb1、sdb2等, 当系统检测到这些信息时,就执行命令mount,将u盘挂载到文件系统中。 可以在应用程序中开一个线程来周期读取文件/proc/partition 我实现的方法很简单,主要是周期读取文件/proc/partitions文件,当有u盘插入时,该

利用树莓派和 Arduino开发机器人

阅读(197)

导读 Thecorpora 的发布的 Q.bo One 机器人基于 RPi 3 和 Arduino,并提供立体相机、麦克风、扬声器,以及视觉和语言识别。 2010 年,作为一个开源概念验证和用于探索 AI 在多传感器、交互式机器人的能力的研究项目,机器人开发商 Francisco Paz 及它在巴塞罗那的 Thecorpora 公司推出了首款 Qbo Cue-be-oh 机器人。在今年 2 月移动世界大会上的预览之后,Thecorpora 把它放到了 Indiegogo 上,与 Arrow 合作推出了第一

嵌入式Linux下CAN接口调试

阅读(253)

1). 简介 CAN(Controller Area Network)总线是嵌入式设备最为常用的接口之一,常用于汽车以及工业自动化等嵌入式领域,因此本文就基于嵌入式Linux演示使用CAN总线进行通讯测试。 本文所演示的平台来自于Toradex Colibri iMX6DL和Apalis iMX6D ARM嵌入式平台,这两个平台是都是基于NXP iMX6系列ARM处理器,支持双核心Cortex-A9。 2. 准备 a).Colibri iMX6DLARM核心版配合Colibri Eva BoardV3.2

嵌入式Linux下PWM功能调试

阅读(197)

1). 简介 PWM(Pulse-width modulation)接口是嵌入式设备最为常用的接口之一,常用于电机驱动,蜂鸣器,脉冲计数等嵌入式领域,因此本文就基于嵌入式Linux演示使用PWM接口。 本文所演示的平台来自于Toradex Colibri iMX6DL嵌入式平台,这个平台是基于NXP iMX6系列ARM处理器,支持双核心Cortex-A9。 2. 准备 a).Colibri iMX6DLARM核心版配合Colibri Eva BoardV3.2B载板,连接调试串口到开发主机,同时配置好Ub

嵌入式Linux下I2C接口调试

阅读(217)

1). 简介 I2C是嵌入式设备最为常用的接口之一,常用于如下面这些应用场景,因此本文就基于嵌入式Linux演示在User Space进行I2C设备调试。 - Digital to Analog converter - EEPROM - Real Time Clock - Touch screen LCD - Audio codec 本文所演示的平台来自于ToradexApalis iMX6QARM嵌入式平台,这是一个基于NXP iMX6Q ARM处理器,支持四核心Cortex-A9。 2. 准备 a).