arm开发板

linux之gdb调试

偶尔善良 提交于 2019-12-27 04:26:05
1、编译要加上-g选项 gcc -g -o hello hello.c 2、常用命令 l 查看源码 , b 加断点, r 开始运行调试, n 下一步, s下一步但是会进入子函数. p 输出数据. info args查看当前函数参数值;info locals 看当前函数栈上值信息;info registers 表示查看寄存器值 3、设置条件断点: b _add if g_val==10 4、删除断点 d + 断点索引1,2,3.. 5、多线程调试 info threads 查看所有运行的线程信息; thread 3表示切换到第三个线程; 6、gdb在ARM开发板上调试 到http://www.gnu.org/software/gdb/download/下载gdb包 (1)在本机PC安装arm-linux-gdb客户端 #tar jxvf gdb-7.2-tar-bz2 #cd gdb-7.2 #./configure --target=arm-linux --prefix=/usr/local/arm-gdb –v(--target配置gdb的目标平台,--prefix配置安装路径) #make #make install 这里使用的arm-linux-gcc版本一定要与编译开发板内核的gcc版本一致 这样arm-linux-gdb的客户端就安装到了--prefix所配置安装路径里。

linux应用调试技术之GDB和GDBServer

人走茶凉 提交于 2019-12-26 19:03:58
1、调试原理   GDB调试是应用程序在开发板上运行,然后在PC机上对开发板上得应用程序进行调试 ,PC机运行GDB,开发板上运行GDBServer 。在应用程序调试的时候,pc机上的gdb向开发板上的GDBServer发出命令,而开发板上的gdbserver就会向应用程序发出信号,使应用程序停下来或者完成其他一些工作。 2、安装GDB和GDBServer (gdb-7.4.tar.bz2 )   2.1、GDB       1、下载: http://ftp.gnu.org/gnu/gdb/     2、解压:tar xvf gdb-7.4.tar.bz2     3、配置:cd gdb-7.4/ ./configure --target=arm-linux     4、编译:make     5、安装:mkdir tmp make install prefix=$PWD/tmp     6、拷贝:cp tmp/bin/arm-linux-gdb /bin/     7、查看版本 /bin/arm-linux-gdb -v (使用绝对路径使用gdb)   2.2、GDBServer     1、cd gdb/gdbserver/     2、配置: ./configure --target=arm-linux --host=arm-linux     3、编译: make CC

创龙TI AM437x ARM Cortex-A9 CPU开发板按键、串口

Deadly 提交于 2019-12-25 14:49:05
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> TL437x- IDK是 广州创龙基于SOM-TL437x核心板研发的 一款 TI ARM Cortex-A9开发板, 采用核心板+底板 方式, 尺寸为205mm * 125 m m, 核心板采用4*60pin B2B工业级连接器 , 稳定、可靠、便捷,可以帮助客户 快速评估 核心板 性能。 SOM-TL437x 核心板采用高密度沉金无铅工艺 8 层板设计,尺寸为5 8 mm * 3 5 mm,采用美国德州仪器最新 ARM Cortex -A9 CPU AM437x, 高性能与低功耗有机结合。采用 耐高温、体积小、 精 度高的B2B连接器,引出了核心板的全部接口资源,帮助开发者快速进行二次开发 。 按键 本开发板有 1 个系统复位按键KEY5和 1 个热复位按键 KEY 1和3 个用户测试用按键 包括 (包括NMI)KEY2~KEY4。原理图如下: 串口名称 开发板位置 串口说明 RS485 CON10 使用3位接线端子 RS232 CON9 通过SIPEX3232EEY-L/TR串口电平转换芯片转成RS232串口,使用9针DB9接口 Micro USB CON3 通过CH340芯片转成Micro USB接口 串口 开发板上共引出了3个串口,串口在开发板上的位置、引脚定义如下图 、 表所示: 来源:

创龙基于TI AM437x ARM Cortex-A9 CPU性价比高开发板LCD触摸屏接口、LED指示灯

ぐ巨炮叔叔 提交于 2019-12-25 10:58:58
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> TL437x- EVM是 广州创龙基于SOM-TL437x核心板研发的 一款 TI ARM Cortex-A9开发板, 采用核心板+底板 方式, 尺寸为 180 mm * 1 30m m, 核心板采用4*60pin B2B工业级连接器 , 稳定、可靠、便捷,可以帮助客户 快速评估 核心板 性能。 SOM-TL437x 核心板采用高密度沉金无铅工艺 8 层板设计,尺寸为5 8 mm * 3 5 mm,采用美国德州仪器最新Cortex -A9 CPU AM437x, 高性能与低功耗有机结合。采用 耐高温、体积小、 精 度高的B2B连接器,引出了核心板的全部接口资源,帮助开发者快速进行二次开发 。 TL437x- EVM开发板 底板 采用四层无铅沉金电路板设计,为了方便用户学习开发参考使用,上面引出了各种常见的接口。 LCD触摸屏接口 CON1 4为 LCD 电阻 触摸屏接口,CON1 5为 LCD 电容 触摸屏接口,均为40pin 、 0.5mm间距LCD接口, 使用 FFC排线座。LCD接口包含了常见LCD所用全部控制信号 ( 行场扫描、时钟和使能等 ) ,接口定义如下图所示: LED指示灯 开发板底板具有1个电源指示灯D2 (位于电源插座旁) ,以及4个用户可编程指示灯,它们分别是D 8 、D 9 、D 10

TMS320DM8168浮点DSP C674x + ARM Cortex-A8开发板LED指示灯、 KEY按键

被刻印的时光 ゝ 提交于 2019-12-23 11:23:48
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> TL8168- EVM是 广州创龙基于SOM-TL8168核心板研发的 一款 TI ARM Cortex-A8 + DSP C674x双核开发板, 采用核心板+底板 方式, 尺寸为 240 mm*184 m m, 核心板采用工业级B2B连接器 , 稳定、可靠、便捷,可以帮助客户 快速评估 核心板 性能。 SOM-TL8168 核心板采用高密度沉金无铅工艺 10 层板设计,尺寸为 86 mm* 60 mm,采用原装进口美国德州仪器 ARM Cortex-A8 + DSP C674x——TMS320DM8168处理器, 高性能视频处理能力。采用 耐高温、体积小、 精 度高的B2B连接器,引出了核心板的全部接口资源,帮助开发者快速进行二次开发 。 TL8168- EVM开发板 底板 采用 4 层无铅沉金电路板设计,为了方便用户学习开发参考使用,本文将介绍开发板的接口。 LED 指示灯 开发板底板具有1个电源指示灯 LED1(红色灯) , 当电源导通时,L ED 1红色灯亮。1个电源过载保护灯L ED 2,当U 1 达到2495mv时,U 1 过载导通,L ED 2灯亮。 以及 3 个用户可编程指示灯,它们分别是 LED1(绿色灯) 、 LED3 和 LED4 ,原理图如下: KEY 按键 本开发板总共有1个热复位按键

用Qemu模拟vexpress-a9 (一) --- 搭建Linux kernel调试环境

♀尐吖头ヾ 提交于 2019-12-18 04:55:56
参考: http://blog.csdn.net/linyt/article/details/42504975 环境介绍: Win7 64 + Vmware 11 + ubuntu14.04 32 u-boot 版本:u-boot-2015-04 Linux kernel版本:linux-3.16.y busybox版本:1_24_stable 交叉编译工具链:arm-linux-gnueabi- qemu版本:stable-2.4 下载Linux内核 下载内核有两种方法,一种是用git直接下载内核代码树,方便后面的内核开发。另一种是直接到内核社区下载对应版本的源码包。我采用第一种方法,但后面发现 主线上3.18版本和后面版本的代码,使用这种搭建方法运行不起来。目前未查明问题的根因。如果读者想快速搭建成功,建议选用3.16版本的内核进行搭建。( 这个刚开始我用的是linux-4.4版本的内核,用qemu-system-arm无法运行,然后我就改用linux-3.16的内核了 ) 方法一:使用git git clonegit://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 方法二:直接下载3.16源代码包 wget https://www.kernel.org/pub/linux/kernel/v3.x

u-boot之make <board_name>_config执行过程分析

此生再无相见时 提交于 2019-12-17 02:00:01
  从网上下载uboot源码之后需要对源码作相应修改来支持自己的开发板,更改完源码之后需要配置。uboot(make<board_name>_config)。这里以百问网的开发板jz2440为例子,配置命令为make 100ask24x0_config。这条命令的执行过程按以下几步分析: 1、u-boot-1.1.6/Makefile简单分析 2、u-boot-1.1.6/mkconfig详细分析 3、总结make 100ask24x0_config这条命令执行后会发生什么 1、u-boot-1.1.6/Makefile简单分析。Makefile的最简单的规则如下(摘超自博客 https://blog.csdn.net/haoel/article/details/2886 ) target ... : prerequisites ... command ... ... target 也就是一个目标文件,可以是Object File ,也可以是执行文件。还可以是一个标签 (Label),对于标签这种特性,在后续的“伪目标”章节中会有叙述。 prerequisites 就是,要生成那个target 所需要的文件或是目标。 command 也就是make 需要执行的命令。(任意的Shell 命令) u-boot-1.1.6/Makefile文件下增加了支持jz2440开发板的规则

IMX6开发板Qtopia2.2.0开发环境搭建以及编译镜像

删除回忆录丶 提交于 2019-12-16 11:46:00
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 搭建 Qtopia2.2.0 开发环境,需要先搭建 Android 的编译环境,然后在 Android 编译环 境的基础上,再搭建 Qtopia2.2.0 编译环境。以下内容基于迅为-iMX6开发板。 Qtopia2.2.0 的编译环境看似复杂,用户只要抓住几个要点就可以了。 第一:编译器。编译器在网盘中都有提供,在需要使用的步骤中,说明其在网盘中的位 置。 第二:设置环境变量。环境变量设置后,编译的时候,系统才能找到编译器。 第三:库文件。搭建过程中会给通过执行简单的脚本命令来安装库文件,复杂的步骤变的 简单有效。 第四:源码。官网下载的 Qtopia2.2.0 的源文件有少量的 Bug,经过迅为工程师的修改已经 可以直接使用,源码修改这一步用户可以直接跳过。 如果用户是使用“搭建好的 Ubuntu 镜像”,则只需要改一下环境变量,系统里面的工具 和库文件都已经安装完毕了。 针对 Qt 文件系统,迅为 电子 在 iTOP-iMX6 开发板上移植的是 Qtopia2.2.0 版本和 Qte4.7.1 版本,用户在参照本章节后编译后的文件图形界面是 Qtopia2.2.0 版本。Qte4.7.1 的编译方法则在第七章。 如果用户使用的是“搭建好的 Ubuntu 镜像”,则只需要修改一下环境变量。只需要将编

ARM的异常与裸机开发

☆樱花仙子☆ 提交于 2019-12-15 20:20:15
2019-12-15 关键字:嵌入式开发、异常处理、嵌入式裸机开发 1、ARM的异常 异常在嵌入式开发中是很常见的事件,它也是非常重要的事件。简单来说,异常就是一种会打断程序正常执行的事件。异常通常又称为“中断”。 异常的种类大致可分为如下几种: 1、中断 IRQ / FIQ 由外部硬件触发的中断。 2、软中断 soft interrupt 由系统调用的中断事件,由软件产生的中断事件。 3、复位 Reset 4、未定义指令 5、数据异常 例如数据越界等。 中断: ARM 有两级外部中断:1、FIQ;2、IRQ。 但大多数的嵌入式系统都有多于两个的外部中断源,为了能正常响应所有的外部中断事件,就需要一个“中断控制器”。 嵌入式系统的中断响应架构大致如下图所示: 当在短时间内产生大量中断事件时,CPU无法保证能及时响应所有的中断事件。为了避免发生丢失中断的问题,每一个中断事件都会作一个“记录”,即我们常见的设置“中断标志位”。当CPU查到中断标志位的值有效时,就会发起一个中断事件。当然,一个中断事件我们一般只需要处理一次,因此,通常我们要在中断处理函数中将对应的中断标志位作清除操作。 ARM 系统会有一个“中断向量表”的机制来专门存储中断响应函数地址。 2、裸机开发 什么是祼机开发? 祼机开发就是指在嵌入式开发板中,直接编写程序控制硬件设备的开发模式。在开发板上没有操作系统

ARM linux开发之Ubuntu中NFS挂载配置,实现Ubuntu与ARM开发板的共享文件夹

℡╲_俬逩灬. 提交于 2019-12-07 14:48:23
一、简介 NFS(Network File System,网络文件系统)是当前主流异构平台共享文件系统之一。 NFS可用于不同类型计算机、操作系统、网络架构和传输协议运行环境中的网络文件远程访问和共享。 总的来说,我们用它来实现Ubuntu和ARM开发板的文件共享 1.ubuntu:18.04 2.ARM开发板:linux系统 二、ubuntu上的配置 1.安装nfs服务器 linux@ubuntu:~$ sudo apt-get install nfs-kernel-server 2.建立一个文件夹用于共享(已经存在的文件夹也行) linux@ubuntu:~$ mkdir nfs 3.配置/etc/exports linux@ubuntu:~$ sudo vi /etc/exports 如图: 4.重启nfs服务器 linux@ubuntu:~$ sudo service nfs-kernel-server restart 查看是否重启成功 linux@ubuntu:~$ dmesg | tail -5 [18565.869903] NFSD: starting 90-second grace period (net f0000099) 重启完毕 三、ARM开发板配置 1.确保ARM开发板和Ubuntu都连接上网络,并且在同一网段 2.我的ubuntu的ip:192.168.2