【教程】在Ubuntu下搭建ARM处理器 arm-linux-gcc 交叉编译环境以及OpenJTAG + openocd 烧写环境

Sipeed RISC-V调试器(ft2232d)调试longan,使用MounRiver Studio 在很久之前买了了sipeed的荔枝糖FPGA,就是安陆哪个片子,送了一个这个调试器,但是我个人来说就会fpga点个灯,太难的就不会了,这个调试器也就是一个摆设。今天逛淘宝看这个调试器已经涨到47块,加上10块的快递费,需要57,我那个时候35包邮?还是25?这么贵一定要用一下,要不然浪费了。 我手里还有一块longan,也是RISC-V内核的MCU,所以我就想用这个调试器作为jlink调试longan。 需要使用的软件有: MounRiver Studio,UsbDriverTool Usb.. 阅读详情

在Ubuntu下搭建ARM处理器 arm-linux-gcc 交叉编译环境以及OpenJTAG + openocd 烧写环境


前言

本教程所用操作系统为Ubuntu 16.04,所用ARM处理器为Samsung S3C2440,在FriendlyARM Mini2440开发板上进行操作,使用OpenJTAG + openocd 烧录程序。

当然,道理是相通的,所以在不同平台下也只是稍微修改一部分的配置就可以了。

first

步骤

1. 下载arm-linux-gcc交叉编译工具,编写程序。

(接下来的文章我会发布我学习过程中写的程序(C语言和汇编交互))

Makefile 可以这样写(以点亮led为例子):

led.bin:start.o
        arm-linux-ld -Ttext 0 -o led.elf start.o
        arm-linux-objcopy -O binary led.elf led.bin
        arm-linux-objdump -D led.elf > led.dis
start.o:start.s
        arm-linux-gcc -o start.o start.s -c

生成文件 led.bin 供后续使用

  • OpenJTAG 是一款调试/仿真工具,这里用它来烧录程序。我手头上这个使用的是FT2232D芯片,同时具备USB转JTAG、USB转串口功能。那么它和我们以前用JLink在Windows下的Keil MDK下开发stm32之类的有什么区别呢?比如,OpenJTAG可以用在Windows、Linux、MAC下,而JLink只能用在Windows,并且在Linux下它的调试功能无法使用。因此,某种程度上,OpenJTAG更有实用性。

要时使用一种硬件,当然首先要安装它的驱动程序了,我们需要到 intra2net 公司网站下载最新版(旧版当然也可以,但可能在某些配置上就不一样咯)的 libftdi ,这是OpenJTAG使用的FT2232D 芯片的底层驱动库。(注意:需要先安装libusb-dev)

下载解包后编译安装:

./configure
make
sudo make install

当然你也可以通过git下载源代码。

如果你也想安装ftdi-eeprom(烧写FT2232所连接的e2prom的工具),可用同样的方法下载安装。(注意:需要先安装libconfuse-dev)

2. 安装openocd

openocd是一个开源的JTAG上位机程序,目前支持很多种芯片了,并且支持的芯片还在不断增加中。当然,由于源代码都是公开的,并且可以自己编译,所以增加自定义的工具驱动程序也是相当容易的。
打开你的工作目录,打开终端,输入:(当然你要安装git : sudo apt-get install git)

git clone git://openocd.git.sourceforge.net/gitroot/openocd/openocd

之后你会得到openocd最新版的源码

如何使用FT2232H适配器和开源调式工具OpenOCD对ARM Cortex M7系列MCU进行SWD接口调试 该篇幅介绍如何使用FT2232H适配器和开源调式工具OpenOCD对ARM Cortex M系列MCU进行SWD接口调试? 阅读详情

相关推荐

OpenOCD学习笔记 6-如何使用FTDI芯片作为SWD或JTAG调试器

FTDI的设备用到的interfaceDriver有2个,分别位ftdi和ft232r。 【ftdi】 如果使用ftdi的interface配置,则使用的是FTDI的MPSSE模式,仅H系列芯片(FT232H、FT2232H、FT4232H)支持。这部分驱动使用的是libusb-1.0,而不是libftdi和D2XX。 默认情况下是JTAG,如果要使用SWD,则需要配置SWD_EN。 配置命令: ftdi_vid_pid [vid pid]+ 指定调试器的VID和PID,最多8组。例如:ftdi.

pq的博客 1万+

FTDI FT2232H USB TO JTAG学习笔记(一)基础概念

文章目录一、FT2232H 和 JTAG 简介1.1 FT2232H1.2 JTAG二、MPSSE 配置2.1 MPSSE简介2.2 串行协议配置 注:转载请注明出处 参考Application Note AN_129 Interfacing FTDI USB Hi-Speed Devices to a JTAG TAP 。 记录下学习过程,个人水平有限,可能理解有误,后续若发现错误之处,会及时更新。 Version Date 1.0 2021.12.20 一、FT2232H 和 JTA

一名FPGA芯片设计爱好者的技术博客 1万+

在树莓派(Linux)上使用FTDI的usb转串口芯片ft232两种驱动方式(VCP和D2xx)

FTDI的芯片ft232芯片提供VCP和D2xx两种方式的驱动。目前的树莓派系统中提供的主要还是VCP的驱动方式。但是有的代码是基于D2xx的驱动方式的API编写的,这时候就需要将系统中的VCP驱动方式替换成D2xx的驱动方式。 默认情况下是VCP的方式驱动。直接插入USB转接板的现象如下: 驱动设备: 所以直接将ft232芯片的转接板的usb插入到树莓派,可以查看到如下的设备...

仗劍走天涯 1万+

FTDI(FT220XQ)(一)——USB转SPI芯片的使用之驱动安装及设备信息配置

目录 1. 概述 2. PC端驱动安装 2.1 查看驱动是否已经自动安装 2.1 驱动类型 2.2 安装(WIN10 64位) 1. 概述 FTDI公司全称是Future Technology Devices International,FTDI是一家是无晶圆且总部设在英国格拉斯哥的半导体公司,FTDI公司是无晶圆半导体公司,总部设在英国格拉斯哥,在格拉斯哥、新加坡和台北(中国台湾)设有研发机构,在格拉斯哥、台北、波特兰(美国俄勒冈)和上海(中国)有区域销售和技术支持部门。FTDI公司最广受欢

口袋里的跳跳糖 1万+

FTDI通用转USB芯片简述

FTDI公司的FT2232系列芯片可实现USB与异步串行口RS232/RS485、同步串行总线IIC/SPI/JTAG相互通信,市场占有率,使用普遍。 FTDI芯片有两种类型的驱动:virtual COM port driver (VCP)和D2xx。VCP就是常用的U转串COM驱动,实现USB到虚拟串口功能,应用于异步RS232/RS485与USB间通信,linux设备文件为/dev/ttyU...

weixin_30279751的博客 5449

在Ubuntu上使用QEMU仿真运行ARM汇编

QEMU 包含虚拟机功能:在 “全系统仿真” 模式下,它就是一款虚拟机工具,能模拟完整的计算机系统。QEMU 不止是虚拟机:它的 “用户模式仿真” 可以轻量地跨架构运行单个程序,且支持更多小众硬件架构,是开发者调试底层代码的重要工具。简单说,传统虚拟机更像 “一台虚拟电脑”,而 QEMU 更像 “一个万能的硬件模拟器”,虚拟机功能只是它的一部分。

qq_28576837的博客 1596

ubuntu18.04中添加jpeg库的交叉编译方法for arm

recipe for target 'jcapimin.lo' failed; recipe for target 'jcapimin.lo' failed; recipe for target 'jcapistd.lo' failed;checking host system type... Invalid configuration `x86_64-unknown-linux-gnu': machine `x86_64-unknown' not recognized问题解决

weixin_62349460的博客 660

通俗讲解清楚光线追踪中的蒙特卡洛积分

彻底讲解光线追踪中的蒙特卡洛积分

qq_37366618的博客 1243

Isaac Lab强化学习实战:用SO-ARM101机械臂实现抓取任务(附B站视频教程)

本文详细介绍了如何使用Isaac Lab强化学习框架,在SO-ARM101机械臂上实现抓取任务的完整实战流程。内容涵盖从环境搭建、奖励函数设计、训练调参到模型部署的各个环节,并分享了Sim-to-Real迁移的关键技巧,旨在帮助开发者高效完成机器人强化学习项目。

weixin_29070721的博客 1101

SAP中寄售结算规则及要点分析

在做MRKO寄售结算时,系统会根据选定的期间和供应商等条件,将符合条件的寄售消耗或寄售上线的物料凭证找出。然后以供应商为单位。合并产生一张会计凭证。下图显示了通过MRKO结算后自动生成的会计凭证。 那么,在MRKO做寄售结算的规则是什么样的?做为寄售业务处理者的物流和财务需要掌握和了解哪些关于寄售结算的规则和控制逻辑。下面以笔者的经验分析一下: 1、寄售物料在系统中有两种处理方法,一种是通过MB1B 411 K ,通常该操作达到两个目的:将物料从仓库转移到线边库(表示即将要投入生产了)的同时将寄售库

专注SAP应用技术文章写作,致力于拉近用户与系统间的距离; 8294

【Matlab 六自由度机器人】基于改进型D-H参数的运动学建模与蒙特卡洛工作空间分析

本文详细介绍了如何使用改进型D-H参数法为六自由度机器人建立运动学模型,并利用Matlab Robotics Toolbox实现正运动学计算与可视化。通过蒙特卡洛法对机器人工作空间进行分析,生成三维点云图以直观展示其可达范围,为机器人选型与任务规划提供关键依据。

weixin_29040367的博客 437

OpenWebUI联网搜索实战:如何用SearXNG让本地大模型获取实时信息(附百度/360配置)

本文详细介绍了如何通过部署开源元搜索引擎SearXNG,为本地运行的OpenWebUI大语言模型(如Qwen、Llama)配置联网搜索功能,解决其知识库过时的问题。文章重点讲解了SearXNG的Docker部署、集成国内搜索引擎(如百度、360)的配置方法,以及如何与OpenWebUI无缝对接,从而实现本地大模型获取实时、准确的中文信息,提升其实用性。

weixin_28835583的博客 1867

卡尔曼滤波与目标追踪

卡尔曼滤波与目标追踪为什么要学卡尔曼滤波?卡尔曼滤波是什么?一些概率论的知识基础卡尔曼滤波完整推导状态估计计算卡尔曼增益预测和更新 卡尔曼滤波部分我打算分三节(三次博客的内容): 卡尔曼滤波与行人状态估计 扩展卡尔曼滤波(EKF)与传感器融合 过程模型,无损卡尔曼滤波(UKF)与车辆状态轨迹 为什么要学卡尔曼滤波? 卡尔曼滤波以及其扩展算法能够应用于目标状态估计,如果这个目标是行人,那么就是行人状态估计(或者说行人追踪),如果这个目标是自身,那么就是车辆自身的追踪(结合一些地图的先验,GPS等数据的话就

qq_43232556的博客 4170

C# typeof() 和 GetType()区别

总得来说他们都是为了获取某个实例具体引用的数据类型System.Type。 1、GetType()方法继承自Object,所以C#中任何对象都具有GetType()方法,x.GetType(),其中x为变量名,由x实例返回得到一个类型 2、typeof(x)中的x,必须是具体的类名、类型名称等,不可以是变量名称,返回一个类型 3、System.Type.GetType(),有两个重载方法 比如有这样一个变量i: Int32 i = new Int32(); 使用GetType(),i...

Peter的博客 1954

【LAMMPS学习】四、运行 LAMMPS(2)命令行选项

本部分解释了在安装可执行文件或下载源代码并构建可执行文件后如何运行 LAMMPS。命令文档页面描述了输入脚本的结构以及它们可以包含的命令。

荷塘阅色 5241

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

上一篇: 【福利】小米手机修改MAC地址教程
下一篇: C语言判断机器CPU大小端模式的两种方法
techping
博客等级 码龄10年 85粉丝 36原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值